summaryrefslogtreecommitdiffstats
path: root/sys/scsi
Commit message (Collapse)AuthorAgeFilesLines
* Remove the call to scsi_start_unit() from sd_open(). It was causingjoerg1997-10-122-8/+9
| | | | | | | | | | | | | | much grieve to owners of IBM drives when used in conjunction with tagged command queuing, and didn't serve any purpose at all (since experiments have proven that it simply didn't work). Instead, call scsi_start_unit() once in sd_attach(), so in case the drive has been configured to `remote start', it will spin up there. (If it has spun down later, it must have been because of administrator action (scsi(8)) anyway.) While i was at it, bump the timeout for scsi_start_unit() to 30 seconds. 10 seconds were way too few for most drives.
* Add the REGAL CDC-4X as a known CD-ROM changer device.joerg1997-10-051-1/+6
| | | | Submitted by: shanee@augusta.de (Andreas Kohout)
* Convert to use the new bufq* functions for dealing with buffergibbs1997-09-219-37/+44
| | | | queues.
* Remove line noise from the quirk list (kernel build stopper)msmith1997-09-181-2/+1
|
* Add the C1557A as a known tape changer (thus non-broken multi-LUN tapejoerg1997-09-171-1/+6
| | | | | | device). Submitted by: Andre.Albsmeier@mchp.siemens.de (Andre Albsmeier)
* Update select -> poll in drivers.peter1997-09-143-10/+12
|
* Revert the logic behind my last change, and use a function calledjoerg1997-09-131-5/+5
| | | | | | | `is_physical_memory()' now for the decision whether to dump some region of memory or not. Suggested by: davidg
* Do not ever try to coredump adapter memory regions.joerg1997-09-101-3/+7
| | | | | | | | | PR: 4486 Submitted by: tegge@idi.ntnu.no (Tor Egge) Implement a function is_adapter_memory() in order to determine what should nto be dumped at all. Currently, only populated with the ``ISA memory hole''. Adapter regions of other busses should be added.
* Add a quirk flag for CD drives that jam when seeing a START STOP UNITjoerg1997-09-073-5/+14
| | | | | | | command. PR: 2388 Submitted by: nsayer@quack.kfu.com (Nick Sayer) [basically]
* Silence the PREVENT ALLOW MEDIUM REMOVAL call.joerg1997-09-071-2/+3
| | | | Submitted by: jmattson@wco.com (Jim Mattson)
* Make the Sony TSL-7000 a known tape changer device.joerg1997-09-051-1/+9
|
* Removed unused #includes.bde1997-09-0213-77/+13
|
* Removed another vestige of devconf.bde1997-09-022-9/+2
|
* Increase the retry timeouts.steve1997-08-231-4/+4
| | | | | PR: kern/3447 Submitted by: dawes@rf900.physics.usyd.edu.au
* preparation for scsi device RESERVATION CONFLICT support.itojun1997-08-171-1/+2
| | | | PR: 4257
* Teach both disk drivers how to cope with a hardware watchdogjulian1997-08-091-2/+11
| | | | | | | while dumping core.. I'm tired of getting 1/2 of a core-dump conditional on -DHW_WDOG for now this will migrate to 2.2 as that's where I need it.
* Removed unused #includes.bde1997-08-022-7/+2
|
* My previous commit was incomplete because it ignored the READ case.jmz1997-08-011-1/+2
| | | | | Now set explicitly the block size to 2048 when the device is opened for reading.
* Ignore the block size returned by scsi_read_capacity(): this value isjmz1997-07-261-2/+3
| | | | | rarely correct and the block size is already specified in the prepare_track() functions.
* In SCSI diagnostic messages, cause "0x" to be prepended to the numberjdp1997-07-251-3/+3
| | | | in the "info" field to make it clear that it is hexadecimal.
* Don't depend on gcc's feature of permitting labels that aren't followedbde1997-07-011-2/+2
| | | | by a statement.
* Introduce an advisory exclusive lock on the scsi link structure.tegge1997-06-254-4/+47
| | | | | | | | Change sd_open, sd_close and sd_ioctl to use this lock to ensure serialization of some critical operations, thus avoiding some race conditions. Ideas picked from NetBSD (ccd and sd devices). This fixes one of the problems noted in PR kern/3688. Reviewed by: "Justin T. Gibbs" <gibbs@plutotech.com>
* Add quirk "no tags" entry for HP 3724/5 hard disk drives.se1997-06-111-1/+5
|
* Add 2 new ioctls: WORMIOCREADSESSIONINFO and WORMIOCWRITESESSION.jmz1997-06-022-5/+169
| | | | | | These commands are required for the "Disk-At-Once" write process: WORMIOCREADSESSIONINFO returns the length of the lead-in and lead-out areas and WORMIOCWRITESESSION is used to send the table of contents of the disk.
* The correct way to combine 2 4bit values into a 8bit one is (a<<4) | b, notjmz1997-05-281-7/+7
| | | | | (a<<8) || b. The conical hat please!
* Add an entry for the Epson scanners since some of them repsond to morejoerg1997-05-251-1/+12
| | | | | | than one LUN: Submitted by: simokawa@sat.t.u-tokyo.ac.jp (Hidetoshi Shimokawa)
* Initialize the buf_queue of the pt(4) driver.joerg1997-05-212-3/+16
| | | | | | | | | | PR: kern/3629: /sys/scsi/pt.c doesn't... Submitted by: simokawa@sat.t.u-tokyo.ac.jp (Hidetoshi Shimokawa) Add a catch-all record for removable SCSI devices to default them to only one LUN. PR: kern/3580: Bad LUN probes on Xyratex...
* Set the quirks for the worm drives.jmz1997-05-192-7/+13
|
* A few improvements to the worm driver.jmz1997-05-191-187/+318
| | | | | | | | | | | | | | | | | | | | | | | | | - remove all calls to scsi_stop_unit(). Some drives refuse commands when stopped. This will fix the 'device not configured' message which was cleared after opening/closing the tray. - Never set the logical block address in the scsi_cmd struct when writing. The computation was bogus for block sizes not a multiple of DEV_BSIZE. (the bug is still there in the READ case) - reset the block size to the 2048 bytes in finalize_track() track to avoid an error when mounting a disk after an audio write. - remove the WORMIOCQUIRKSELECT ioctl. Quirks are now recorded at probe time (see scsiconf.c) - change and expand the argument to the WORMIOCPREPTRACK ioctl. It now possible to select more track options (copy bits, ISRC codes, track type, track number) - add an error handler to catch false errors (warnings in fact) and record the error type. - add an ioctl call (WORMIOERROR) to get more information on the nature of the error when a command or a write failed. - add an ioctl call (WORMIOCFINISHTRACK) to finalize a track without closing the device (closing the device still finalize the track if the command was not performed) Approved by: joerg
* Add the D_DISK flag to the cdevsw structs of various CD-ROM drivers.joerg1997-05-101-2/+2
|
* Duplicate the TOC handling ioctls from the cd(4) driver. Duplicatingjoerg1997-05-051-2/+182
| | | | | | | | the work is silly, and all this will be a moot point with Justin's CAM driver, and there are still many ioctls missing -- but i need these right now. It's silly to need to move the CD-R back to the other drive in order to determine the session start info when burning multi- session CD-Rs.
* This mega-commit brings the following:joerg1997-05-041-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | . It makes cd9660 root f/s working again. . It makes CD9660 a new-style option. . It adds support to mount an ISO9660 multi-session CD-ROM as the root filesystem (the last session actually, but that's what is expected behaviour). Sigh. The CDIOREADTOCENTRYS did a copyout() of its own, and thus has been unusable for me for this work. Too bad it didn't simply stuff the max 100 entries into the struct ioc_read_toc_entry, but relied on a user supplied data buffer instead. :-( I now had to reinvent the wheel, and created a CDIOREADTOCENTRY ioctl command that can be used in a kernel context. While doing this, i noticed the following bogosities in existing CD-ROM drivers: wcd: This driver is likely to be totally bogus when someone tries two succeeding CDIOREADTOCENTRYS (or now CDIOREADTOCENTRY) commands with requesting MSF format, since it apparently operates on an internal table. scd: This driver apparently returns just a single TOC entry only for the CDIOREADTOCENTRYS command. I have only been able to test the CDIOREADTOCENTRY command with the cd(4) driver. I hereby request the respective maintainers of the other CD-ROM drivers to verify my code for their driver. When it comes to merging this CD-ROM multisession stuff into RELENG_2_2 i will only consider drivers where i've got a confirmation that it actually works.
* 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)
OpenPOWER on IntegriCloud