Age | Commit message (Collapse) | Author |
|
My filesystem has been chopped to pieces.
|
|
noticed by aaron@, recommended by deraadt@
|
|
|
|
OK krw@
|
|
Most work by Wilbern Cobb <vedge@csoft.org> with some fixes from me, mickey@
and drahn@.
|
|
lacked it (scr_table).
Also remove scr_table_t typedef and just use 'struct scr_table' to be
consistant with all other structures.
|
|
at probe time, rather than allocating them dynamically as
SCSI commands are started.
This should eliminate one possible way of calling bus_dmamem_map()
while in interrupt context.
Potential problem spotted by Art@.
Inspired by changes to achieve same effect in NetBSD by bouyer@.
|
|
to the quirks table.
These latest changes, triggered by problems Dan Weeks was having
and developed with a lot of testing by Dan, should ensure that
siop is a) using the quirks of the correct LUN during wide/sync
negotiations and b) calling siop_add_dev() for all LUN's which
return valid information from an INQUIRY command.
|
|
using *_bus_dmamap_sync() defines that are defined appropriately
depending on __HAS_NEW_BUS_DMAMAP_SYNC.
Most of the code changes are simple reversions to the original NetBSD
code.
Slip in a siop_script_sync() instead of a manually done code section.
|
|
ugly INQUIRY snooping but avoids adding even uglier #ifdef's to turn
off stuff, e.g. tagged queuing.
Add two disk drives now known to lie about supporting tagged queuing
to quirks table. One from millert@ (<MICROP, 4421-07 0329SJ, 0329>)
and one from Hakan Olsson (<SEAGATE, ST150176LW, 0002>).
Add field 'inquiry_flags2' to struct scsi_link to hold flags2 field
from struct scsi_inquiry_data. These flags relate to SCSI-3 specific
features.
Clean up some logic, eliminating need for TARF_PPR flag.
|
|
Okay millert@, like previous commit.
|
|
sc_link->device_softc not necessarily available for devices like cd's
that don't issue SCSI commands after INQUIRY during probe, leaving
negotiation triggering to next LUN. Spotted by Nikolay Sturm.
Fixing this is not worth the effort and added complexity for a
cosmetic improvement.
Keep code cleanups done at the same time, and add a typo fix
(destiation -> destination).
|
|
i.e. calling siop_print_info() immediately for async devices.
With the change to use xs->sc_link as parameter to siop_print_info()
this immediate call wouldn't work as the sc_link is not initialized
until AFTER the return from processing the INQUIRY command.
So, just use the default negotiation logic which is triggered by the
next command to be handled.
|
|
adapter's siop_softc. This allows easy access to the dv_xname of the
device whose negotiation results are being reported. This makes boot
probe and subsequent log messages clearer.
e.g. message will now read
sd0: negotiated tagged 16 bit 20 MHz 16 REQ/ACK offset xfers
instead of
siop0: target 0 now using tagged 16 bit 20 MHz 16 REQ/ACK offset xfers
Clean up siop_print_info() a bit as long as we are there.
|
|
a) meaningful but not voluminous debug info is printed
and clearly associated with the offending siop bus.
b) instead of panic'ing, reset the scsi bus and return.
This problem was only seen under heavy load on powerpc.
Plus fix one typo (exeption -> exception).
ok deraadt@
|
|
Add support for PPR negotiations and DT transfers,
and the preservation and restoration of the
SCNTL4 register which controls Ultra3 transfers.
Redo sync lookup, since the same period factor
can mean two things depending on whether you are
using DT or ST. Keep a minimum allowed ST period
factor, and a minimum allowd DT period factor for
each adapter.
Currently NO support for QAS or IUS or AIP.
|
|
2) Negotiate and report wide/sync only after INQUIRY
results known.
3) Clean up wide/sync negotiation code a bit, ensuring
that an agressive target does not prematurely force
negotiation before the INQUIRY is done. Seen by millert@.
4) Ensure that a wide negotiation always resets the
sync settings to async.
5) Some error message improvements from thorpej@NetBSD.
6) Some KNF.
7) Print wide/sync negotiation results after each
completed negotiation.
8) Print some relevant information just before a panic
that should never happen. But does on PowerPC.
|
|
|
|
it. They might not turn you down. Spotted by drahn@.
|
|
results on one line, during boot polling only.
Force wide/sync negotiations for all targets during boot.
Delete extraneous name field and associated strings that duplicate
info provided in INQUIRY data.
Actually timeout during polling rather than wait forever for
ITSDONE.
Remove unneeded check for SCSI_POLL before calling scsi_done(). Makes
logic conform to other drivers.
|
|
Written for NetBSD by Manuel Bouyer.
Tested with various cards on i386 and alpha.
Outstanding issue: doesn't work with PowerPC yet.
|