summaryrefslogtreecommitdiffstats
path: root/sys/scsi
Commit message (Collapse)AuthorAgeFilesLines
...
* Add the Archive 4586NP tape changer.joerg1997-05-031-1/+9
| | | | | PR: kern/3481 Submitted by: bruce@zuhause.mn.org (Bruce Albrecht)
* Remove old code in #if 0, leftovers from the days before != 512bytesos1997-05-011-29/+6
| | | | sector support.
* Implement dkstats for worm devices so they show up in iostat et al.jkh1997-04-041-1/+22
| | | | | | | | I got tired of not seeing my worm stats show up during a burn. :) [Joerg, I just stapled in 1MB/sec for a bogus xfer rate and left seek = 1, as suggested - I'm not going to dynamically calculate the xfer rate from a known device spectable, OK? :-)] Reviewed by: joerg
* Add a 1ms delay in the XS_BUSY case. This is the same error code returnedgibbs1997-04-041-1/+6
| | | | | for the QUEUE FULL condition. This may help avoid wedging a device by immediately requeeuing the transaction in this case.
* Moved prototypes of scsi_data, scsi_link and proc before scsi_adapter.kato1997-04-031-9/+9
| | | | | If PC98 is defined, the type of the first argument of open_target_lu is scsi_link structure.
* add a cd quirk flag CD_Q_BCD_TRACKS, that will convert bcd2bin the trackjmg1997-04-023-5/+40
| | | | | | | id's from broken scsi cdrom drives like my Chinon... plus update the quirk entry for it :) Closes my own PR#2423
* Add an entry for the newer Philips CDD26xx family CD-R drives. Theyjoerg1997-04-011-1/+6
| | | | | | | come out with PHILIPS as the vendor string, as opposed to IMS for the older ones. Submitted by: "Brian N. Handy" <handy@sag.space.lockheed.com>
* Don't include <sys/ioctl.h> in the kernel. Stage 1: don't includebde1997-03-246-12/+6
| | | | | 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-241-1/+2
| | | | | from <scsi/scsiconf.h> and fixed everything that depended on them. (Missed this one.)
* free_xs must be called at splbio(). This is usually the case since the maingibbs1997-03-241-1/+3
| | | | | | | | | | | | caller is scsi_done which the controller interrupt handlers call. In the case of a non-buffer based transaction, the xs structure is freed by the process that initiated the transfer in scsi_scsi_cmd. In this case, an explicit splbio/splx pair around the call to free_xs is required. Without the splbio protection, the xs free list could be corrupted, and the type driver's start routine might run without spl protection. Submitted by: Tor Egge <Tor.Egge@idt.ntnu.no> Obtained from: PR kern/2891
* Removed nested #includes of <scsi/scsi_debug.h> and <scsi/scsi_driver.h>bde1997-03-2313-19/+33
| | | | from <scsi/scsiconf.h> and fixed everything that depended on them.
* Removed nested #include of <sys/conf.h> from <scsi/scsi_driver.h>bde1997-03-232-4/+3
| | | | | | and fixed everything that depended on getting it from the wrong place. Most of the broken things actually only depended on getting the declaration of their interrupt handler from "ioconf.h".
* Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.bde1997-03-231-2/+2
| | | | | Fixed everything that depended on getting fcntl.h stuff from the wrong place. Most things don't depend on file.h stuff at all.
* Add a quirk entry for the HP6020i, after John has just confirmed thatjoerg1997-03-101-1/+5
| | | | | | it works now. Submitted by: jhay@zibbi.mikom.csir.co.za (John Hay)
* Merge Jason Thorpe's updated changer stuff into the actual system.joerg1997-03-063-452/+980
| | | | | | | | | | Many things have been changing in the kernel since mid-1996, so there's quite some amount of diffs here already. It compiles, but i cannot test it anywhere here. 2.2 candidate? Closes PR # 1201.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-2224-24/+24
| | | | ready for it yet.
* This is the kernel Lite/2 commit. There are some requisite userlanddyson1997-02-104-4/+5
| | | | | | | | | | | | | | | 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>
* Add an entry for the Nakamichi 4-disk changer.joerg1997-02-081-0/+4
| | | | Submitted by: K.R.Marshall@ukc.ac.uk (K.R.Marshall)
* Make some small tweaks to the messages to clean up some stuffwpaul1997-02-084-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | from last time. Some people have pointed out that there were some odd side-effects in the changes I made. Two things are different: - sc_print_addr() will print 'foodev0:' (i.e. sd0:, st0:, cd0:, etc...) if the device name is known. If it's not known, it'll use a longer notation. This shortens error messages back to a sane length. - Added a small function called sc_print_init() to set the sc_printing flag so that sc_print_addr() will know that we want it to print a linefeed. Used this in scsi_device_attach() to restore proper carriage return printing behavior which I broke. Remaining bogons: the NCR SCSI driver prints out information while the device-specific attach routine is running with its own linefeeds. This breaks up the individual messages emitted by the subdriver modules and causes at least one message to appear on a line by itself without a device spec prefix. I'm not sure of the correct way to fix this, and I don't have any NCR SCSI hardware to test with anyway. There's probably more, but I gather that a rewrite of the SCSI subsystem is pending anyway, so I'll leave the rest to Those Who Know More About This Than I (tm).
* After so many people have been bugging me :), finally implementjoerg1997-02-061-52/+80
| | | | | | | | | | | | | | | | | read-mode access to CD-ROM media in the worm(4) driver. No whistles and bells yet, like all the CDIO* commands, but at least a start. In order to do this, i had to slightly rearrange the semantics of an open(2) on the worm driver: now, opening it with O_NONBLOCK set means no actual IO operations will be intended but only ioctls are to be processed. This mode is used by wormcontrol(8) to prepare a track and/or session. I have only been able to test this on a 2.2-GAMMA system by now, and only the !DEVFS part is tested yet. Also, i have only done a dummy burn so far, but wouldn't expect many surprises else. Report bugs to me ASAP, if there's reasonable demand and i hear no objections, i might consider merging it into the 2.2 branch as well.
* Moved PC-98 routine in sd_get_parms() to pc98_machdep.c.kato1997-02-041-34/+3
|
* Do not accidentally default a device that failed probing to T_DIRECTjoerg1997-02-021-0/+1
| | | | | | | (since T_DIRECT just incidentally happens to be equal 0). This causes more harm than it would do good. Instead , get it at the uk driver. Reviewed by: obrien@NUXI.com (David O'Brien)
* Fix a benign type mismatch i've introduced in rev 1.40.joerg1997-01-301-14/+14
| | | | Pointed out by: bde
* Removed `Debugger("no slices")'. It's normal and harmless to have nobde1997-01-291-5/+2
| | | | | | slices in sd_open() after a media change when the previous sd_open() discards the previous slices and then fails. sd_open() just handles media changes poorly and fails too often.
* Make the SCSI probe messages more BSDish. This may raise a few eyebrowswpaul1997-01-254-15/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ("Hey! Who made _you_ the keeper of all things BSDish?!") but this has bugged me for a long time, and now that I finally have the chance to hack on it (and test the results), I'll take my chances. I can also point to other BSD implementations for precedents if you put my back to the wall. The only thing that's changed is how the messages are formatted. Now, instead of having this: aha0 at 0x330-0x333 irq 11 drq 5 on isa (aha0:3:0): "HP C1553A 9503" type 1 removable SCSI 2 st0(aha0:3:0): Sequential-Access density code 0x24, variable blocks, write-enabled (aha0:3:1): "HP C1553A 9503" type 8 removable SCSI 2 ch0(aha0:3:1): Medium-Changer 6 slot(s) 1 drive(s) 0 arm(s) 0 i/e-slot(s) We have this: aha0 at 0x330-0x333 irq 11 drq 5 on isa scbus0 at aha0 bus 0 st0 at scbus0 target 3 lun 0 st0: <HP C1553A 9503> type 1 removable SCSI 2 st0: Sequential-Access density code 0x24, variable blocks, write-enabled ch0 at scbus0 target 3 lun 1 ch0: <HP C1553A 9503> type 8 removable SCSI 2 ch0: Medium-Changer 6 slot(s) 1 drive(s) 0 arm(s) 0 i/e-slot(s) Which is (to me anyway) is a lot more pleasant to look at. (Call me crazy -- g'head: you know you wanna -- but the previous messages remind me of Linux. Ever see the output from the linux device probes? It's a mess of copyright notices, version numbers/dates, author e-mail addresses and other crap. Let's not go there, okay? Bleh.) Notice that devices are now specified in terms of the scsi bus they live on rather than the adapter. This better reflects the contents of the kernel config file (if you use wired-down device specifications anyway) and removes some ambiguity that may arise if you have a multi- channel adapter with more than one bus. Also, sc_print_addr() now generates messages like this: st0 at scbus0 target 3 lun 0: NOT READY asc:3a,0 Medium not present instead of this: st0(aha0:3:0): NOT READY asc:3a,0 Medium not present I also added a quirk entry for the HP Superstore 12000e 6 tape DAT autoloader, which needs SC_MORE_LUS in order for the changer device to be properly probed and attached. (I'm working on a chcontrol utility to manipulate the changer on this drive which should hopefully be general enough to work with other changers too. If you want the prototype I have now, it's at ftp://skynet.ctr.columbia.edu/pub/freebsd/changer.c.) Remaining bugs: - The 'foodev0: yadda yadda yadda' bits should probably be printed entirely by the device-specific subdriver attach code instead of half by the scsi_device_attach() routine and half by the device specific attach routine like it is now. - The wired-down device specifications in the kernel config file should be used to control bus/device probing to some extent rather than just for choosing names for devices we find. If the config says there's a device at scbus0 target 0 lun 0 called sd0, we should look there and check for a device that can be managed by the sd driver. If we don't find one, we should probably complain that there's no device there or that there is a device but of the wrong type. Once all the devices from the wired down list have been probed, the code can then autodetect and autoattach any devices that remain unassigned. - Apparently some tape changers (hi Ulf!) return 'not ready/medium not present' when the magazine is loaded but a tape has not been put in the drive yet. This causes an open(/dev/ch0) to fail and prevents you from using the changer.c utility to load the first tape into the drive. My HP changer does not behave this way. The workaround is to manually load a tape into the drive before attempting to use the changer program, but you can get in trouble if you accidentally eject a tape without loading a new one and you're at a remote location: you won't be able to load any tapes anymore. I'm not sure what the correct software solution is for this but ideally there should be one. - I should not be doing this: I'm the NIS guru, not the SCSI guru. (This is not my beautiful code. How did I get here? My god: what have I done?)
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-1424-24/+24
| | | | | | | | 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.
* Slightly re-order the sequence of commands issued, so try to sendjoerg1996-12-241-10/+7
| | | | | | | | | | | | | the START UNIT command before testing whether the device is ready. Maybe it should be done even earlier, i'm not 100 % sure. Again, CD changers will most likely benefit from it. While i was at it, also made the debugging case a little more verbose about why the cdopen() yielded an ENXIO. (Only in effect when SCSIDEBUG is specified.) Should eventually also go into 2.2.
* Do something Peter Dufault long since intended to do: make a currentjoerg1996-12-241-4/+18
| | | | | | | | | | | | error code with ASC/ASCQ 4/1 (``Logical unit is in the process of becoming ready'') non-fatal. Retry the operation until it will eventually either yield a real error condition, or finally succeed. Devices like CD changers or tape drives with a freshly inserted cartridge should benefit from this. Should go into 2.2 after some testing in -current. I'd like to see this in the release if possible.
* Reorder the wildcard entries to the end of the quirks list, so theyjoerg1996-12-201-23/+39
| | | | | | | will be probed last. It's otherwise impossible in some cases to get SCSI type override working. Supposed fix for PR # kern/2225.
* Add an entry for Ricoh's MO drives.joerg1996-12-141-2/+5
| | | | Submitted by: msmith@atrad.adelaide.edu.au (Michael Smith)
* Close PR#2198:jkh1996-12-131-2/+2
| | | | | | | | | | | | | I've added an installation from optical disk drive facility. This enables FreeBSD to be installed from an optical disk, which may be formatted in "super floppy" style or sliced into MSDOS-FS and UFS partitions. Note: ncr.c should be reviewed by Stefan Esser <se@freebsd.org> and cd.c by Joerg Wunsch <joerg@freebsd.org> before bringing this into 2.2. Submitted-By: Shunsuke Akiyama <akiyama@kme.mei.co.jp>
* Slightly change the `od' driver quirk for the Matsushita LF-1000joerg1996-12-131-2/+6
| | | | | | | | series drives, and add the NAKAMICHI MO drive RMD-5200-S. Closes PR # kern/2200: Change/Add new optical di... Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
* Default the CD-ROM devices to a single LUN only. Too many of them arejoerg1996-12-071-1/+5
| | | | | | broken and respond to multiple LUNs. Reviewed by: rv@groa.uct.ac.za (Russell Vincent)
* Removed all references to b_cylinder (aka b_cylin). It was evil andbde1996-12-012-4/+4
| | | | | hasn't been used for a year or two since disksort() started sorting on b_pblkno.
* This update adds the support for != 512 byte sector SCSI devices tosos1996-12-012-12/+129
| | | | | | | | | | | | | | | | the sd & od drivers. There is also slight changes to fdisk & newfs in order to comply with different sectorsizes. Currently sectors of size 512, 1024 & 2048 are supported, the only restriction beeing in fdisk, which hunts for the sectorsize of the device. This is based on patches to od.c and the other system files by John Gumb & Barry Scott, minor changes and the sd.c patches by me. There also exist some patches for the msdos filesys code, but I havn't been able to test those (yet). John Gumb (john@talisker.demon.co.uk) Barry Scott (barry@scottb.demon.co.uk)
* Add the Quantum DLT drives. All of them grok SC_MORE_LUS, so the tapejoerg1996-11-301-1/+5
| | | | | | library devices will properly come up with all LUNs detected. Submitted by: dawes@Physics.usyd.edu.au (David Dawes)
* Rogue entry for DEC DLT2700phk1996-11-281-1/+5
| | | | | Reviewed by: julian & phk Submitted by: Andre Albsmeier <Andre.Albsmeier@mchp.siemens.de>
* Back out my previous change.max1996-11-091-2/+2
| | | | | | It probably broke the support for the device. Pointed-Out by: joerg
* Typo, MATSHITA -> MATSUSHITA.max1996-11-071-2/+2
| | | | 2.2 & 2.1.6 candidate.
* Fix the sequence at odopen() time so the driver actually notices if ajoerg1996-11-061-12/+8
| | | | | | | | | | medium with another size is being inserted. Right now, this case was broken and led to a situation where a medium could only be replaced with another one of the same size. Closes PR #kern/1830: Can't mount optical disk... Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
* Updates and bugfixes to the worm driver:joerg1996-11-062-13/+21
| | | | | | | | | | | | | . also detect the Phlips CDD2000; it's software-compatible with the HP part Submitted by: cau@cc.gatech.edu (Carlos Ugarte) . correct the blocksize handling for CD-DA tracks, and fix multitrack handling Submitted by: nsayer@quack.kfu.com (Nick Sayer) 2.2 candidates!
* Try number two. Add missing paren in MSG_IDENTIFY macro.gibbs1996-10-071-1/+1
|
* Bring in bug fix from 'SCSI' branch.gibbs1996-10-061-2/+2
|
* Bring this over from the SCSI branch. I need it to bring in the fixes togibbs1996-10-061-0/+37
| | | | the aic7xxx driver.
* Changed cncheckc() interface so that it is 8-bit clean - return -1bde1996-09-141-3/+3
| | | | instead of 0 if there is no input.
* Restored a non-devconf comment that was removed with devconf.bde1996-09-101-1/+5
|
* Removed more devconf leftovers.bde1996-09-101-2/+1
|
* Various cleanups for remanents of devconf.phk1996-09-085-30/+5
|
* Remove devconf, it never grew up to be of any use.phk1996-09-069-174/+11
|
* Second phase of merge, get rid of more machine-independent-dependencies.asami1996-09-031-1/+4
| | | | | | Get rid of pc98/pc98/pc98_device.h. Submitted by: The FreeBSD(98) Development Team
OpenPOWER on IntegriCloud