summaryrefslogtreecommitdiffstats
path: root/sys/scsi/st.c
Commit message (Collapse)AuthorAgeFilesLines
* Convert to use the new bufq* functions for dealing with buffergibbs1997-09-211-5/+5
| | | | queues.
* Silence the PREVENT ALLOW MEDIUM REMOVAL call.joerg1997-09-071-2/+3
| | | | Submitted by: jmattson@wco.com (Jim Mattson)
* Removed unused #includes.bde1997-09-021-6/+1
|
* Increase the retry timeouts.steve1997-08-231-4/+4
| | | | | PR: kern/3447 Submitted by: dawes@rf900.physics.usyd.edu.au
* Don't include <sys/ioctl.h> in the kernel. Stage 1: don't includebde1997-03-241-2/+1
| | | | | it when it is not used. In most cases, the reasons for including it went away when the special ioctl headers became self-sufficient.
* Removed nested #includes of <scsi/scsi_debug.h> and <scsi/scsi_driver.h>bde1997-03-231-3/+3
| | | | from <scsi/scsiconf.h> and fixed everything that depended on them.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* This is the kernel Lite/2 commit. There are some requisite userlanddyson1997-02-101-1/+1
| | | | | | | | | | | | | | | changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Remove devconf, it never grew up to be of any use.phk1996-09-061-31/+1
|
* Make a "DWIM" function for adding [bc]devsw entries for bdev drivers.phk1996-07-231-13/+3
| | | | | | | | | Saves about 280 butes of source per driver, 56 bytes in object size and another 56 bytes moves from data to bss. No functional change intended nor expected. GENERIC should be about one k smaller now :-)
* Turn SCSIDEBUG into a new-style option.joerg1996-07-141-1/+2
|
* Ensure that media protection is released before attempting to eject thegibbs1996-06-241-10/+22
| | | | | | | | | | | media in all cases. Remove SCSI_2_MAX_DENSITY_CODE definition and rely on the device to tell us if we attempt an invalid setting. Closes PR 1245. Submitted by: fredriks@mcs.com a few changes by me.
* Dump the timeout for st_erase().joerg1996-06-221-2/+2
| | | | | | Fixes PR # kern/1341: Bug fix for SCSI tape Submitted by: tundra@tundrware.com
* Change dev_link() to devfs_link()scrappy1996-04-021-4/+4
|
* Changed use of devfs_add_devsw() to devfs_add_devswf()scrappy1996-04-011-96/+39
| | | | | | | Changed DEVFS structure devfs_token so that adding the devices is a simple matter of a 4 line for loop versus 16 lines of code Reviewed by: julian@freebsd.org
* Fixed missing variable 'name' for DEVFS codescrappy1996-03-291-1/+4
|
* Using devfs_add_devswf() instead of devfs_add_devsw()scrappy1996-03-281-4/+1
| | | | Reviewed by: julian@freebsd.org
* Fixed group of disk devices (was wheel or games, now operator).bde1996-03-271-18/+25
| | | | | | | | | | | Added scsi control devices. Converted almost everything that I changed to use devfs_add_devswf() and verbose id macros. st.c: Renamed enrst* to erst* since that's what the current name is (enrst seems to be an old name).
* Cleanse the SCSI subsystem of its internally defined typesgibbs1996-03-101-79/+79
| | | | | u_int32, u_int16, u_int8, int32, int16, int8. Use the system defined *_t types instead.
* cosmetic fixes plus bring the cdevsw and bdevsw entriesjulian1996-02-191-10/+12
| | | | into line with the new form.
* Close kern/614 - wait up to an hour for a tape operation like "fsf" (slow ↵pst1996-02-081-2/+2
| | | | drives)
* Add a quirk record for the Tandberg 42XX series. Not only that thesejoerg1996-02-031-5/+5
| | | | | | | | | drives require ST_Q_SNS_HLP, they also wrongly accept a blocksize of 1024 in the first place (for a QIC-150 cartridge), but complain later about it. The hack is to only probe for 512 for them. Reorder the entries in st_decide_mode() so that QIC >= 525 is properly accepted as variable blocksize.
* Prevent media eject on first open and re-enable ejection on last close.gibbs1996-01-291-3/+6
| | | | | The previous behavior was based on the lifetime of a "mount session" which isn't very obvious.
* Bump the timeout in st_load() from 5 to 15 minutes. My Tandbergjoerg1996-01-141-2/+2
| | | | | TDC3620 takes 4.5 minutes to retenstion a QIC-250 cartridge, so the 5 minutes seem to be too tight.
* Implement the MTRETENS command.joerg1996-01-081-1/+5
|
* Convert BOUNCE_BUFFERS and BOUNCEPAGES to new option scheme.wollman1996-01-051-1/+3
|
* Another mega commit to staticize things.phk1995-12-141-24/+24
|
* Replaced nxdump by nodump (if the dump function gets called, then thebde1995-12-101-2/+2
| | | | | | device must be configured, so ENXIO is a bogus errno). Replaced zerosize by nopsize. zerosize was a temporary alias.
* Make NEW_SCSICONF the default way of doing thingsjulian1995-12-101-189/+1
| | | | | | | | | | | | | | | It will need to be changed but it's the better starting point.. also add '?' to wildcarding in SCSI identification of devices.. so we can catch all PIONEER CD 6??* devices instead of having separate entries for the 600, 602, 604X, 624X etc.. it's getting so we should have a small regexp routine in the kernel maybe just a little one.. matching CDX-6[0-9][0-9][ A-Z] would be better there will be drastic changes in this but this is the best starting point..
* Restored used variable `name[32]' (used by DEVFS).bde1995-12-101-7/+13
| | | | Completed function declarations and/or added prototypes.
* scsi_tape.h had some old cruft that looked like missing typedefs orphk1995-12-091-6/+5
| | | | something. Cleanup some lint in sd.c and st.c.
* Julian forgot to make the *devsw structures static.phk1995-12-081-3/+3
|
* Pass 3 of the great devsw changesjulian1995-12-081-59/+150
| | | | | | | | | | | | | | | | | | | | | | | most devsw referenced functions are now static, as they are in the same file as their devsw structure. I've also added DEVFS support for nearly every device in the system, however many of the devices have 'incorrect' names under DEVFS because I couldn't quickly work out the correct naming conventions. (but devfs won't be coming on line for a month or so anyhow so that doesn't matter) If you "OWN" a device which would normally have an entry in /dev then search for the devfs_add_devsw() entries and munge to make them right.. check out similar devices to see what I might have done in them in you can't see what's going on.. for a laugh compare conf.c conf.h defore and after... :) I have not doen DEVFS entries for any DISKSLICE devices yet as that will be a much more complicated job.. (pass 5 :) pass 4 will be to make the devsw tables of type (cdevsw * ) rather than (cdevsw) seems to work here.. complaints to the usual places.. :)
* Removed unnecessary #includes of <sys/user.h>. Some of these were justbde1995-12-061-2/+1
| | | | | | | to get the definitions of TRUE and FALSE which happen to be defined in a deeply nested include. Added nearby #includes of <sys/conf.h> where appropriate.
* Fix support for QIC_3080 drives...it 1/2 worked before.pst1995-11-301-1/+3
|
* If you're going to mechanically replicate something in 50 filesjulian1995-11-291-2/+2
| | | | it's best to not have a (compiles cleanly) typo in it! (sigh)
* OK, that's it..julian1995-11-291-7/+55
| | | | | | | | | | | | | | | | | | | | | | | | That's EVERY SINGLE driver that has an entry in conf.c.. my next trick will be to define cdevsw[] and bdevsw[] as empty arrays and remove all those DAMNED defines as well.. Each of these drivers has a SYSINIT linker set entry that comes in very early.. and asks teh driver to add it's own entry to the two devsw[] tables. some slight reworking of the commits from yesterday (added the SYSINIT stuff and some usually wrong but token DEVFS entries to all these devices. BTW does anyone know where the 'ata' entries in conf.c actually reside? seems we don't actually have a 'ataopen() etc... If you want to add a new device in conf.c please make sure I know so I can keep it up to date too.. as before, this is all dependent on #if defined(JREMOD) (and #ifdef DEVFS in parts)
* Mega commit for sysctl.phk1995-11-201-5/+3
| | | | | | Convert the remaining sysctl stuff to the new way of doing things. the devconf stuff is the reason for the large number of files. Cleaned up some compiler warnings while I were there.
* First set of changes to eliminate the ad-hoc device buffer queues,dyson1995-11-191-13/+9
| | | | | | replacing them with TAILQ's as appropriate. The SCSI code is the first to be changed -- until the changes are complete, both b_act and b_actf will be in the buf structure. b_actf will eventually be removed.
* Moved prototypes for devswitch functions from conf.c and driver sourcesbde1995-11-041-2/+1
| | | | | | | to <machine/conf.h>. conf.h was mechanically generated by `grep ^d_ conf.c >conf.h'. This accounts for part of its ugliness. The prototypes should be moved back to the driver sources when the functions are staticalized.
* Make a lot of things static.phk1995-10-211-26/+26
|
* oops currupted a line by hitting the wrong key..julian1995-10-121-2/+2
| | | | fix it
* Ack!julian1995-10-121-7/+21
| | | | | | | | | | | | | sometime around 1.51, the check for minphys dissappeared out of transfers for disks.. we weren't hecking that the adapter could handle a transfer of the size we were requesting.. Peter!? :) this explains the rash of failures I've seen reported recently with "too many DMA segments" on raw devices (added one for st as well)
* Do not set SCSI_NOSLEEP on every tape command (the exception being duringgibbs1995-07-161-2/+2
| | | | | | | | | | | | probes). Apart from there being no reason to set SCSI_NOSLEEP on every tape command, this prevents controller drivers from sleeping when resources are fully utilized causing unecessary "Oops not queued" errors. This is only noticed for controllers that can run out of resources like the 27/2842 adaptec controllers. Before this fix, it is almost impossible to perform extended tape operations if more than one scsi disk is on the bus with the tape drive with these controllers. This does not address a similar problem that could occur if devices are probed while other targets are active since SCSI_NOSLEEP will still be set in that case.
* PR #kern/572:joerg1995-07-091-6/+8
| | | | | | | | | | | >Synopsis: Booting w/scsi tape in drive causes first use to fail Booting with a tape in a SCSI tape drive will cause the first use of the tape to fail with the following message: st0: bad request, must be between 0 and 0. Submitted by: mpp@legarto.minn.net (Mike Pritchard)
* Remove trailing whitespace.rgrimes1995-05-301-29/+29
|
* Moved unit definitions out of scsiconf.h;dufault1995-05-031-2/+5
| | | | | | Added CONTROL device that only does user-ioctl and nothing else; Added protection so user-ioctl requires write access; Clean up scsiconf.h a little. It needs more work.
* Finally implement the kernel hook for the "mt eom" command. (Thejoerg1995-04-291-6/+22
| | | | | | | | user-level part has already been commited.) Note that i've lost the "official" code for this; it went into the system after 1.1.5.1. The commited code is my own version, but it has proven to work for me for more than a year now.
* Set SCSI_NOSLEEP only when we really need to. This requires an additionalgibbs1995-04-231-7/+7
| | | | | | | | flags parameter to all xxstart routines so that the correct information can be passed down into the device specific routines. This is needed to ensure that ccb/scb allocation routines don't hang. Submitted by: John Dyson
OpenPOWER on IntegriCloud