summaryrefslogtreecommitdiff
path: root/sys/scsi/st.c
AgeCommit message (Collapse)Author
2020-08-22The last timeout_add(sc_timeout) died in the great XS_NO_CCB purge of 2017. NukeKenneth R Westerback
pointless timeout_set(sc_timoeut) and timeout_del(sc_timeout) calls and the sc_timeout fields themselves.
2020-08-20Revert DYING. At least some USB memory sticks get very upset.Kenneth R Westerback
2020-08-19Nuke SDF_DYING, CDF_DYING and ST_DYING flags. Use the scsi_link flagKenneth R Westerback
SDEV_S_DYING instead. Makes it clear that the scsi_link and the [cd|sd|st] device always agree on their state.
2020-08-15The last SET()s of CDF_WAITING, SDF_WAITING, and ST_WAITING died in the greatKenneth R Westerback
XS_NO_CCB purge of 2017. Nuke pointless ISSET()/CLR() checks and the #define's.
2020-08-11Explicitly #include <scsi/scsi_debug.h> rather than assuming scsiconf.h will doKenneth R Westerback
it. Prepares for removal of #include <scsi/scsi_debug.h> from scsiconf.h as soon as the alpha tester digs out from hurricane to compile last untested files.
2020-07-16Access scsibus_softc info (luns, adapter, adapter_target,Kenneth R Westerback
adapter_softc, adapter_buswidth) via link->bus rather than using copies currently residing in the link.
2020-06-30Nuke unneeded 'sa_inqbuf' member of struct scsi_attach_args. It alwaysKenneth R Westerback
points to the inquiry data contained in the struct scsi_link pointed to by the other member, sa_sc_link.
2020-02-20Relax the grip the dead hand of QBUS (a.k.a. MAXPHYS) has on theKenneth R Westerback
throat of physio(). Allows individual devices to eventually be modified to support larger physio() (a.k.a. 'raw') i/o's if they prove capable of them. No immediate functional change. Tested for many weeks by and ok robert@.
2020-02-05Nuke unnecessary abstraction 'scsi_minphys()' which just callsKenneth R Westerback
'minphys()'. Just use & check for NULL instead, since 'minphys()' is always called on the code path ([cd|sd|st]minphys) that calls physio().
2020-01-27Make the commonalities of cdminphys, sdminphys and stminphys moreKenneth R Westerback
obvious by consistently using the variable names and idiom of sdminphys. No functional change.
2020-01-26Shuffle some names around to make reading the code less headacheKenneth R Westerback
inducing. Rename scsi_adapter member 'scsi_minphys' to 'dev_minphys' to reflect what it is supposed to do. Use consistent naming convention (<dev>_minphys) for the actual device functions. No functional change.
2020-01-25Ensure scsi_minphys() is always called on the physio() path.Kenneth R Westerback
Will allow simplification of individual driver *minphys() functions. ok jmatthew@ as part of larger diff
2019-12-05Shrink scsi_mode_do_sense() parameter list by eliminating the threeKenneth R Westerback
pointers returning possible block descriptor values for block size, block count and density. Most calls were passing "NULL, NULL, NULL" since they did not care. Call scsi_parse_blkdesc() directly in those few cases where one or more of the values is of interest. No intentional functional change.
2019-11-26Don't zero existing values for density, block_count and block_size inKenneth R Westerback
scsi_do_mode_sense(). Just update the values when valid data is available. Initialize the variables passed to scsi_do_mode_sense() in the one instance where they weren't already set. Fixes issue with softraid crypto volumes on 4K-sector disks. Found, fix tested, and ok tim@
2019-11-23Consistently use ISSET() to check for set flags.Kenneth R Westerback
2019-09-29Introduce SC_DEBUG_SENSE() and simplify code by eliminating a bunchKenneth R Westerback
of three line SCSIDEBUG chunks.
2019-09-29Continue SCSIDEBUG cleanup by nuking pointles SC_DEBUGN() #define.Kenneth R Westerback
2019-09-29Tweak some whitespace to make autoindenter happy. Use consistent naming ↵Kenneth R Westerback
idiom for the debug functions.
2019-09-27Add/tweak #endif comments to make spelunking via grep more rewarding.Kenneth R Westerback
2019-09-10Shuffle a couple of lines to make the device -> st_softc dances lookKenneth R Westerback
the same.
2019-09-10No need to check for ST_MOUNTED before calling st_mount_tape() AND inKenneth R Westerback
st_mount_tape(). Just keep the latter. st_mount_tape() is called from inside stopen() which has already found the relevant st_softc(), incremented the device reference count, and checked if it is dying. No need to repeast that in st_mount_tape(). Just pass the st_softc.
2019-09-10return is not a funciton call. Avoid pointless parenthesis.Kenneth R Westerback
2019-09-10Explicitly check error results against 0.Kenneth R Westerback
2019-09-10Some stray bit twiddles that were using yet another idiom.Kenneth R Westerback
2019-09-10check pointer against NULL and error values against 0.Kenneth R Westerback
2019-09-10Last (?) small bit twiddling modernization.Kenneth R Westerback
2019-09-10!ISSET() for various flags.Kenneth R Westerback
2019-09-10SET/CLR/ISSET all at once for st->quirks, and a few other rare flags.Kenneth R Westerback
2019-09-09SET/CLR/ISSET all at once for the far less numerous link->flags.Kenneth R Westerback
2019-09-09Continue bit twiddling tweaks. Use SET() with st->flags.Kenneth R Westerback
2019-09-09Lots of st->flags bit clearing in a mix of old school and CLR() makesKenneth R Westerback
code harder to read. Switch to CLR(). No change to executable.
2019-09-09Lots of st->flags checking in a mix of old school and ISSET() makesKenneth R Westerback
code harder to read. Switch to ISSET() where obvious. No change to executable.
2019-09-09Tweak some comments to be useful. Sort switch cases intoKenneth R Westerback
numerical order. Move bit of logic before calling st_unmount() into st_unmount().
2019-09-07Fold st_identify_drive() into stattach().Kenneth R Westerback
2019-09-07Tweak some comments and code layout to make MTSETBSIZE and MTSETDENSITYKenneth R Westerback
cases look the same.
2019-09-07ST_USER_BLKSIZE and ST_QUIRK_BLKSIZE are only tested as an or'd pair.Kenneth R Westerback
Ditto for ST_USER_DENSITY and ST_QUIRK_DENSITY. Thus the origin of the value stored in the mode is irrelevant. Just use two flags (ST_MODE_BLKSIZE and ST_MODE_DENSITY) instead of the existing four.
2019-09-07ST_Q_FORCE_BLKSIZE is superfluous since it is only used in combination withKenneth R Westerback
a non-zero value of blksize in the quirkdata. So just check for non-zero value of blksize, as is already done for density.
2019-09-07Nuke unused flag ST_BLOCK_SET.Kenneth R Westerback
2019-09-07Various struct/variables "modes" -> "mode" since there is only one.Kenneth R Westerback
2019-09-05Nuke some 25+year old comments that the oracles at delphi would haveKenneth R Westerback
found obscure. Repair a broken WangTEK 5150ES quirks entry that apparently suffered some damage when imported in 1995. It never made NetBSD/FreeBSD quirk lists at all. Some whitespace tweaking to make everything line up.
2019-09-05Devices that have no quirks don't need to appear in the list ofKenneth R Westerback
devices with quirks.
2019-09-05Nuke unused st_softc field 'numblks'.Kenneth R Westerback
2019-09-05There can be only one -- mode.Kenneth R Westerback
So fold 'modeflags' field of st_softc into 'flags' field of same. Nuke a bunch of dubious/obvious comments.
2019-09-04Shuffle sdstart() and sdminphys() declarations closer to their friends.Kenneth R Westerback
Nuke pointless 'quirkdata' pointer in st_softc. We use the data once at attach time and don't need to remember where we got it from.
2019-09-04Hoist the quirks up another rung. drive_quirks is superfluous, justKenneth R Westerback
store the discovered quirks in st_softc's 'quirks' field.
2019-09-04'quirks' field of struct modes is superfluous. There is only 1 mode. Just useKenneth R Westerback
the 'quirks' field of struct quirksdata.
2019-09-04Various whitespace nits.Kenneth R Westerback
Reformat quirks array the way the autoindenter likes it to minimize the effort needed to keep diffs short.
2019-09-04The great density mode purge of 2006 (r1.62) was never carried throughKenneth R Westerback
to a logical conclusion. Start cleaning up the left overs. First, delete the unused quirk ST_Q_BLKSIZE and simplify the one condition referencing it in light of the fact that !ST_Q_BLKSIZE would always be true.
2019-08-17Nuke some unused variables, tweak some declarations andKenneth R Westerback
variable names into a consistant idiom.
2019-01-20When retiring a SCSI request, sometimes the buf's b_error value isKenneth R Westerback
forcibly set to a value. Make sure that in all those cases the B_ERROR flag is cleared (if b_error is being set to 0) or set (if b_error is being set to non-zero) appropriately. ok dlg@ jmatthew@