pk
672f49bfa2
Turn off command tagging by default for pre-SCSI2 devices.
2001-02-16 22:54:27 +00:00
mycroft
f2d987f8a4
Force certain commands (i.e. DVD authentication) to PIO mode. They are
...
explicitly not supported in DMA mode, and generally return an `illegal field
in CDB' error.
This should have been done ages ago.
2001-01-22 07:00:39 +00:00
kenh
4a962c6cd9
Retry requests if the CD-ROM drive returns the sense code "Device in
...
Process of Becoming Ready".
2001-01-19 22:47:46 +00:00
jdolecek
34c8ae80da
constify
2001-01-18 20:28:15 +00:00
fvdl
d040bd5908
Return error in the case of using ODIOCGDINFO or ODIOCGDEFLABEL when
...
the number of partitions is > OLDMAXPARTITIONS. This is better
than silently truncating the label (don't want to silently throw
away partitions when using an old disklabel binary on a label with
> 8 partitions). From Enami Tsugutomo.
2001-01-08 02:03:45 +00:00
fvdl
e2d1c1f926
Adapt all disk devices in MI directories to handle ODIOC* calls
...
for ports that have bumped MAXPARTITIONS (and thus define
__HAVE_OLD_DISKLABEL).
2001-01-07 18:09:01 +00:00
augustss
5806434428
Call vdevgone() with correct minor range.
2001-01-01 18:34:12 +00:00
augustss
2f1e60b46c
Support device detach.
...
Don't call scanjet_attach() for all HP scanners.
Also, ANSIfy while I'm here.
2001-01-01 18:28:49 +00:00
ad
2f5cf27275
PR 6402: some SCSI devices use \377 as blank, so adjust scsipi_strvis().
2000-12-31 17:54:29 +00:00
thorpej
b0c9cd5f7b
ALTQ'ify.
2000-12-14 07:27:21 +00:00
augustss
a48cc8927a
Don't access (in core) disk label of a removable disk that is not there.
2000-12-08 02:30:51 +00:00
ad
9ecde86321
I2O HBAs provide an abstracted view of the bus; use SCBUSIOLLSCAN to give
...
them an oppertunity to re-scan it before we do.
2000-12-03 13:30:36 +00:00
wiz
972c941cf6
Fix typo in comment reported by Tetsuya Isaki in kern/11587.
2000-11-29 12:49:56 +00:00
chs
f6b62f776c
avoid division and remainder operations for devices where
...
the sector size is DEV_BSIZE (ie. practically everything).
2000-11-24 00:17:35 +00:00
soren
a622a1b6d2
Remove obsolete comment.
2000-11-22 00:32:24 +00:00
thorpej
b84f740be0
Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
2000-11-15 01:02:11 +00:00
pk
fbf62501af
Mark the "TOSHIBA, XM-4101TASUNSLCD" CD-R for a-sync operation only.
2000-11-14 08:52:35 +00:00
pk
8ba559d056
st_touch_tape(): Pass XS_CTL_SILENT to st_mode_select().
2000-11-03 12:08:41 +00:00
pk
4c7351ec7d
* st_touch_tape(): start probing at the block size from the sense data if
...
we have it.
* st_unmount(): reset density to the device default. This prevents using
stale density values after changing to a medium with different density.
Section 9.3.3 of the SCSI specs states that a device shall return the
density value specified in the last succesfull MODE SELECT after an
unload operation, in case it is not able to automatically determine
the density of the new medium.
2000-11-03 10:46:18 +00:00
pk
e3aaa6c1ab
* Per st(4), retrieving status and setting modes on the control device
...
should succeed even if no media is loaded.
* In stopen(), check the return value of st_mount_tape().
2000-11-03 10:22:02 +00:00
pk
f71476a62f
Introduce ST_Q_ERASE_NOIMM, a quirk indicating that the device rejects
...
an ERASE command with the `Immed' bit on.
Use it on the VIPER 21247 & 21531.
2000-11-02 13:34:59 +00:00
pk
e4958f1fe6
Prevent printing sense information twice.
2000-11-02 13:12:58 +00:00
pk
9c058471c3
Remove useless check for SDEV_MEDIA_LOADED from st_read_block_limits().
...
This command should work whether or not media is present in the device.
2000-11-02 00:56:59 +00:00
pk
3867a66a9a
* In st_touch_tape(), don't bail out if the MODE SELECT fails since we are,
...
after all, probing the device for acceptable parameters.
* In st_loadquirks(), copy mode-specific quirks from the quirk table
to `st_softc'; otherwise all such quirks save ST_Q_FORCE_BLKSIZE are ignored.
2000-11-02 00:52:15 +00:00
ad
5df1120c67
Add some more completion status codes.
2000-10-05 11:23:05 +00:00
thorpej
7ca3fb9ef0
Move the check for "promisc + unicast + not for us" into ether_input(),
...
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
ad
382141e2f7
Add a new, optional method to scsipi_adapter (scsipi_accesschk()), and use
...
it when considering whether to attach devices. This is to facilitate
`non-SCSI' RAID controller drivers that want to provide SCSI pass-through
services to the kernel.
2000-09-22 16:45:17 +00:00
matt
b0c9fcd14a
Add a NOPREVENT quirk which prevents the sending of PREVENT messages (some
...
manual 9track tapes don't support it). Add a quirk entry for the NCR H621
9track tape drive.
2000-08-16 19:22:25 +00:00
mjacob
927f61818e
Add "SYMBIOS" processor type to the SDEV_NOLUN category. These are usually
...
the GEM chips on a Sun D1000- and they cause Qlogic SBus firmware to blow
chunks if you access past lun 0.
2000-08-13 00:03:01 +00:00
mjacob
9766fcf2be
Don't attempt to actually read SAF-TE temperature objects- nobody seems
...
to be obeying the original spec as to what the numeric value means.
Temperature flags are unaffected- these are still the 'pseudo-thermometers'
and overtemp/undertemp warnings will be caught and translated to SES objects
here.
2000-08-08 22:55:30 +00:00
mjacob
295864adef
During probe, use SCBUSACCEL ioctl to adapters that support it to
...
enable fast/wide/tagged.
2000-08-08 22:46:03 +00:00
bouyer
8464bde7e8
If the SET_FEATURE for piomode is rejected, fallback to mode 0 instead of
...
reporting an error.
This fixes the "piomode error (0x4)" problem with some ATAPI ZIP drives
reported on port-i386.
2000-08-03 23:14:31 +00:00
bouyer
1b00421876
Add quirk entry for NEDICOM CRD-BP2, from kern/10738.
2000-08-03 12:36:08 +00:00
sommerfeld
ed9ce99d8c
printf format paranoia
2000-07-08 17:12:08 +00:00
mjacob
b47890a934
Reserve top nibble of status for use by the HBA. It's up to the
...
HBA to set or clear it.
2000-07-06 01:56:23 +00:00
thorpej
cde72a2c2b
Garbage-collect __BDEVSW_DUMP_OLD_TYPE.
2000-07-05 23:31:12 +00:00
mrg
261538ecac
remove include of <vm/vm.h>
2000-06-28 16:39:25 +00:00
mrg
666116dd21
<vm/vm.h> -> <uvm/uvm_extern.h>
2000-06-28 16:38:37 +00:00
bouyer
12d3bf8c1a
Add a callback (*irqack), for controllers that need special action to ack
...
the interrupt once it has been ack'd on the drive.
2000-06-12 21:10:40 +00:00
enami
5a4b9fcbbf
Prevent a process being swapped out during I/O if the data buffer is
...
allocated on stack. This potential problem is noticed by Noriyuki Soda
and the idea and sample code to fix is given by Jason R. Thorpe.
2000-06-09 08:54:19 +00:00
soren
cd4324537d
Density codes are usually given in decimal, so print them that way.
2000-06-06 17:16:02 +00:00
phil
d09ecbdf2a
Add an entry for the HP ScanJet 6300C.
2000-05-31 23:10:39 +00:00
fvdl
c0f99cc74a
Initialize xs_status to 0 after allocating a scsipi_xfer struct. Makes life
...
easier for driver debugging.
2000-05-31 11:14:25 +00:00
augustss
72684ce3ec
Add a method, scsipi_getgeom, to the adapter struct. If this method is
...
present it will be used to get the drive geometry if the MODE SENSE fails.
2000-05-31 09:15:48 +00:00
augustss
6b0b8292ff
Add NOMODESENSE quirk for TEAC USB floppy.
2000-05-30 15:16:41 +00:00
augustss
61143a446c
Add NOMODESENSE quirk for Y-E data floppy (thanks Jason for reminding me).
2000-05-30 01:49:19 +00:00
augustss
997c3c5b8a
Add a quirk, SDEV_ONLYBIG, which implies that the device cannot handle
...
the 6 byte versions of READ, WRITE, and MODE_SENSE.
This greatly simplifies the UFI (USB Floppy) handling.
2000-05-30 01:08:23 +00:00
bouyer
405302008d
ADEV_CDROM -> SDEV_CDROM, for consistency.
2000-05-29 20:13:06 +00:00
gmcgarry
4ba1e04ba2
Handle ADEV_CDROM in quirks table.
...
Quirk entry for another Toshiba cdrom.
2000-05-28 07:03:59 +00:00
fvdl
cb5289547f
At least try to do something useful in the XS_BUSY case; don't cause
...
a panic by sleeping in an interrupt context.
2000-05-27 23:59:58 +00:00
bouyer
e662e86225
sd_interpret_sense() can be called from interrupt context; call scsipi_start()
...
with XS_CTL_ASYNC if the failed command was called with XS_CTL_ASYNC.
Add a SDF_RESTART flag to keep state, cleared in sddone().
A mounted disk can now spin down, it will propely spin up at the next access.
2000-05-23 10:20:14 +00:00
bouyer
373582e298
scsipi_get_xs(): if we have XS_CTL_URGENT, return an xfer even if
...
active >= openings. An XS_CTL_URGENT command could otherwise fail, especially
if openings == 1.
2000-05-23 10:16:43 +00:00
thorpej
f5d4219e96
Remove an used variable and add a missing `}' so that this compiles.
2000-05-22 16:52:03 +00:00
kleink
5f56eae96a
Add a quirk table entry for the OnStream ADR50 Drive;
...
from S.P.Zeidler <spz@serpens.swb.de> in kern/10118.
2000-05-19 06:55:42 +00:00
thorpej
463931b3ba
Nuke dk_establish() from orbit except from those ports which still use
...
it to determine the boot device: mvme68k, pc532, macppc, ofppc. Those
platforms should be changed to use device_register(). In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
dante
ceb378e070
Add few peripheral device type
...
Remove "???" from T_IT8_1/2. They actually are pre-press devices for graphic arts as described by ASC IT8
Zeros and blanks scsipi_inquiry_data from byte 58 to byte 74 if additional_length is less than 58
2000-05-15 16:35:49 +00:00
bouyer
7e71ffde06
Sync copyrigth notice
2000-05-15 08:48:25 +00:00
dante
e852afa89f
Fix a typo
2000-05-14 19:52:34 +00:00
dante
f65d97bb57
Change scsipi_inquiry_data strucure to be ANSI SPC-2 rev16 compliant
2000-05-14 18:20:11 +00:00
enami
a2bf544200
Allocate the variable `inqbuf' in scsi_probedev on stack rather than
...
statically. Since this function may called for another luns immediately,
allocating it statically doesn't make sense and may cause race condition
as pointed out by PR#9749.
2000-04-19 04:49:50 +00:00
enami
c560e9a77b
When killing pending xfers on device detach, we can't expect scsipi_done
...
to remove all xfers from the pending queue. It removes only xfers for
asynchronous transactions. So, simply loop over all pending xfers
with calling scsipi_done and wait xfers to drain. Addresses PR#9703.
2000-04-03 03:37:33 +00:00
enami
ae8fb348b3
Fold long line.
2000-04-03 01:40:51 +00:00
augustss
b6cee95eb7
Let the device thet gets an atapibus attached specify how to kill pending
...
transfers by giving a function pointer.
The old method always called wdc specific code.
2000-04-02 23:38:19 +00:00
augustss
7246364f07
With SCSIVERBOSE, only print sense data if there actually is a problem.
2000-04-02 17:58:17 +00:00
augustss
7797648425
Change the initial field in struct ata_atapi_attach and struct scsipi_link
...
slightly to allow scsibus and atapibus to attach to the same device.
Furthermore, only attach a scsibus when the bus type is BUS_SCSI.
2000-04-02 17:25:52 +00:00
enami
28d49dce4e
Add missing protect from disk interrupt while calling scsipi_free_xs.
2000-04-02 03:05:55 +00:00
bouyer
26f6c9a9cf
- DMA code cleanup: pciide_dma_finish() doesn't stop/unload the current DMA op
...
if an IRQ was not detected, unless the force flag was given. Use this to
detect if the IRQ was for us (closer to shared IRQ for controllers which
don't have their own IRQ handler in pciide.c) and to poll for DMA xfer.
Also makes the timeout recovery code simpler.
- ATAPI cleanup: don't call controller-specific functions from atapiconf.c
(wdc_*), so that it's possible to attach an atapibus to something else
than a wdc/pciide (Hi Lennart :).
Overload struct scsi_adapter with struct atapi_adapter, defined
as struct scsi_adapter + atapi-specific callbacks. scsipi_link still points
to an scsi_adapter, atapi code casts it to atapi_adapter if needed.
Move atapi_softc to atapiconf.h so that it can be used by the underlying
controller code (e.g. atapi_wdc.c).
Add an atapi-specific callback *atapi_probedev(), which probe a drive
in a controller-specific way, allocate the sc_link and fills in the
ataparams if needed. It then calls atapi_probedev() (from atapiconf.c)
to do the generic initialisations and attach the device.
- While I'm there merge and centralise the state definitions in atavar.h.
It should now be possible to use a common ata/atapi routine to set the
drive's modes (will do later).
2000-04-01 14:32:22 +00:00
augustss
fc4d9ff403
Get rid of register declarations.
2000-03-30 00:00:55 +00:00
augustss
356d681927
Add ukactivate&ukdetach so uk devices can be detached.
2000-03-29 18:11:44 +00:00
simonb
9ff7681a33
Don't need to include <sys/conf.h> here.
2000-03-29 03:43:31 +00:00
augustss
fc39329153
Change a printf() to a panic() since the kernel is going to die on the next
...
line anyway.
2000-03-28 17:24:46 +00:00
augustss
439812ba3b
In attach message, spell it "target" not "targ", as in the locator.
2000-03-27 11:45:42 +00:00
thorpej
fc96443d15
New callout mechanism with two major improvements over the old
...
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
enami
68e028fe82
Cancel requested command if controller isn't active.
2000-03-20 22:57:00 +00:00
sjg
281c45ba53
Added NOLUNS quirk for YAMAHA CRW8424S
2000-03-19 10:33:26 +00:00
soren
11bd453515
scsiprint() is needed even without scsibus'es, so move it to scsi_base.c .
2000-03-17 11:45:49 +00:00
soren
82ad0bf745
atapiprint() does not exist.
2000-03-17 11:23:23 +00:00
fvdl
d025f5705e
Add a couple of defines/aliases for messages.
2000-03-15 02:02:37 +00:00
soren
95054da1a1
Fix doubled 'the's in comments.
2000-03-13 23:52:25 +00:00
martin
112137cd30
Added Artec/Ultima A6000C scanner to the quirks table (no LUNs).
2000-03-13 09:56:26 +00:00
augustss
ce6f0100c1
Remove extra \n in attach message.
2000-03-12 19:16:48 +00:00
thorpej
d788e0dbad
Make sure to initialize xs->req_sense_length (to 0). This appears to be
...
a historical leftover, and very few drivers actually look at it. But the
PCI `ncr' driver does, and if this field is not initialized to its default
value, that driver will fall over flat on its face when it attempts to get
sense data from a target.
2000-02-28 17:44:20 +00:00
jdolecek
86ae2ab1fc
Add ADEV_NOSENSE quirk for HITACHI CDR-7730.
...
Patch sent by Hume Smith in kern/9489.
2000-02-28 09:46:25 +00:00
tls
08ef0cfe07
revert previous change
2000-02-22 21:09:50 +00:00
mjacob
64fa8aa0d6
remove SES driver
2000-02-22 17:43:57 +00:00
mjacob
296fbeed2a
Patches from msouth@scruz.net to handle QIC 3220 (HP T20).
2000-02-21 05:11:09 +00:00
mjacob
a3a129e6f5
Oops...I forgot that the GEM-2 chip is so lame that if you don't tell
...
it exactly the right amount of data to transfer for WRITE BUFFER/Global
it will stay stuck in command phase (causing a command phase overrun).
2000-02-20 21:30:44 +00:00
mjacob
1c4521f1da
add ses.h to list of includes
2000-02-20 07:39:41 +00:00
mjacob
c5f8d33f85
minor spelling change
2000-02-20 07:38:48 +00:00
thorpej
fe551f0e64
Fix a bug in disksort_*() which caused non-optimal ordering when multiple
...
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
drochner
e81d123f6d
try to dtrt for sector sizes <DEV_BSIZE (at least, don't divide by 0)
2000-01-25 20:42:33 +00:00
drochner
05261ccb43
include "rnd.h" explicitely since the size of sd_softc depends on it
...
(sd_scsi.c and sd_atapi.c missed it, leading to random memory corruption)
2000-01-22 16:35:25 +00:00
mjacob
91c88eb52f
PR/9271 (from srp@zgi.com)- recognize (indirectly) HP4000s via density
...
code and do the right QIC type dance (1 FM @EOT, fixed block size).
2000-01-22 04:29:58 +00:00
thorpej
dc59bc1db3
Update for sys/buf.h/disksort_*() changes.
2000-01-21 23:39:55 +00:00
mjacob
04b750733c
slight change for platform independence
2000-01-21 21:19:57 +00:00
mjacob
7faf9d32ea
cleanup SAF-TE attachment code
2000-01-21 21:10:41 +00:00
mjacob
56196ffa4e
Nobody said no to adding a pointer to original scsi inquiry data
...
to the scsibus attach args. Make sure it's nulled for ATAPI. Also,
for scsiconf.c, modify SENA's quirk entry.
2000-01-20 17:10:18 +00:00
mjacob
3bcc285367
add SES driver
2000-01-20 17:07:41 +00:00
mjacob
a8f0034523
add SES device
2000-01-20 16:07:43 +00:00
abs
3a63eeee63
newline terminate ss: atatch message - from Roger Brooks
2000-01-19 01:00:07 +00:00