Commit Graph

304 Commits

Author SHA1 Message Date
gibbs
de0f199372 Add the 160MHz syncrate to scsi_calc_syncrate() sync period exception table. 2002-06-05 19:10:57 +00:00
gibbs
aefa498e63 scsi_message.h:
Include PPR option bits defined in SPI4.

scsi_iu.h:
	Add data structures releated to parallel SCSI information units
	for use in SPI4 packetized protocol.
2002-06-05 19:05:01 +00:00
mjacob
845c7be0e8 Add REPORT LUNS basic infrastructure. 2002-06-04 17:41:47 +00:00
dillon
d3e6471535 PR: kern/38208
X-MFC after:	immediate w/ release eng approval.
2002-05-29 20:25:59 +00:00
dillon
c9f73458f0 Add a Quirk entry for the USB SimpleTech UCF-100 compact flash reader.
Note that even with the quirk entry the reader typically only works if
the USB device is recognized by UHCI instead of the generic OHCI driver.
2002-05-19 21:59:28 +00:00
marcel
084de53dc7 Remove unused static variable quantum. 2002-04-23 06:14:10 +00:00
ken
5d1a9608c2 Fix 3 of the four problems with my last indentation fix. ("fixing" the
fourth would be a divergence from the prevailing style.)

Thanks to bde for catching this.

Pointed out by:	bde
2002-04-01 05:41:33 +00:00
ken
7bf585a15e Fix an indentation problem. 2002-04-01 03:59:47 +00:00
phk
54392107ee DA (scsi) and AD (ata) diskdrivers:
Make the dump routine do just writing of data.
2002-03-31 22:28:03 +00:00
simokawa
0edcbc8d2f Automatically detect devices that do not support READ(6)/WRITE(6)
and upgrade to using 10 byte cdbs.

As far as I tested, this works efficiently for most of the
SBP-II/Firewire devices but most of the umass devices still need
ad-hoc work around because umass-sim doesn't return any SCSI errors.

A sysctl nob is also added for the last resort.
I hope we don't need DA_Q_NO_6_BYTE quirks anymore.

Reviewed by:	gibbs
MFC after:	1 week
2002-03-23 18:18:02 +00:00
alfred
e7a78af097 Remove __P. 2002-03-20 08:56:31 +00:00
phk
8a758b3a13 Mark some arguments __unused. 2002-03-11 08:04:59 +00:00
simokawa
0b19b34b12 Add support for Simplified Direct Access Device in scsi_op_desc(). 2002-03-11 03:08:17 +00:00
jhb
3706cd3509 Simple p_ucred -> td_ucred changes to start using the per-thread ucred
reference.
2002-02-27 18:32:23 +00:00
phk
8b5a71f365 GC: BIO_ORDERED going away. 2002-02-22 09:18:46 +00:00
simokawa
3396fcf863 - Add support for Simplified Direct Access Device, mostly for
Firewire/SBP-II devices.

- Add quirk for Logitec USB/Firewire HDD.

MFC after: 3 days.
2002-02-21 11:58:47 +00:00
mike
bcee06d42c o Move NTOHL() and associated macros into <sys/param.h>. These are
deprecated in favor of the POSIX-defined lowercase variants.
o Change all occurrences of NTOHL() and associated marcros in the
  source tree to use the lowercase function variants.
o Add missing license bits to sparc64's <machine/endian.h>.
  Approved by: jake
o Clean up <machine/endian.h> files.
o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>.
o Remove prototypes for non-existent bswapXX() functions.
o Include <machine/endian.h> in <arpa/inet.h> to define the
  POSIX-required ntohl() family of functions.
o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>,
  and <sys/param.h>.
o Prepend underscores to the ntohl() family to help deal with
  complexities associated with having MD (asm and inline) versions, and
  having to prevent exposure of these functions in other headers that
  happen to make use of endian-specific defines.
o Create weak aliases to the canonical function name to help deal with
  third-party software forgetting to include an appropriate header.
o Remove some now unneeded pollution from <sys/types.h>.
o Add missing <arpa/inet.h> includes in userland.

Tested on:	alpha, i386
Reviewed by:	bde, jake, tmm
2002-02-18 20:35:27 +00:00
bsd
ec225f53d2 Add NO_6_BYTE quirk entry for the LaCie Ltd. 105311 80 Gig USB2 drive.
Submitted by:	Brian Schellenberger <bts@babbleon.org>
2002-02-18 13:35:30 +00:00
phk
6be6d245a4 Remove spurious ';'
Obtained from:	~bde/sys.dif.gz
2002-02-10 21:36:13 +00:00
sobomax
17c3ef73cc Add support of PhotoClip USB Camera (http://www.myphotoclip.com):
- Vendor&Device IDs for USB product,
- quirk for SCSI CAM.

PR:		34481
Submitted by:	Olexander Kunytsa <kunia@x-telecom.net>
MFC in:		3 days
2002-01-31 11:39:17 +00:00
msmith
6d5a228d7f Define the kern.cam sysctl in the cam layer, rather than multiply in several
peripheral drivers.  Remove Ken's comment to the effect that this needed
to be done.

Staticise camnet_ih and cambio_ih.
2002-01-09 03:39:04 +00:00
msmith
5cfc4a9df0 Staticise a debugging variable.
Submitted by:	non
2002-01-09 03:37:16 +00:00
sobomax
b741551a21 Add quirk for DIVA USB Mp3 Player.
PR:		kern/33638
Submitted by:	Olexander Kunytsa <kunia@x-telecom.net>
MFC after:	3 days
		(pending re's approval)
2002-01-08 21:07:46 +00:00
kbyanc
fc0c999770 Extend Olympus E-100RS quirk to cover entire E series of digital cameras. 2002-01-07 03:32:56 +00:00
jedgar
32ba77b713 Add support for Nikon Coolpix E775 and E885 cameras.
PR:		33407 (E885)
Submitted by:	Brian Behlendorf <brian@hyperreal.org> (E885)
2002-01-01 13:28:43 +00:00
non
58ae9a63fd o Add KLD support for scsi_low.
o Add KLD dependency of ncv, nsp and stg drivers to scsi_low.

Submitted by: takawata
2001-12-15 12:32:23 +00:00
non
eaeb1aadee Remove PAO3 dependent part where I missed to remove at last commit. 2001-12-10 02:07:34 +00:00
iedowse
d9883ffb32 Add a NO_6_BYTE quirk for the D-series olympus digital cameras.
PR:		kern/31250
Submitted by:	Bryan Liesner <bleez@bellatlantic.net>
2001-12-09 21:38:33 +00:00
iedowse
fdfcd88d39 Back out 1.88 (NO_SYNC_CACHE quirk for Infortrend IFT-3102). Since
this device properly reports that the sync cache command is
unsupported, the bug is that we still complain about it on the
console.

Noticed by:	gibbs
2001-11-26 16:54:37 +00:00
mjacob
da12fd2ad3 Be very generous with timeouts for synchronize cache. We may wait a very long
time in the cases where it really sends the drive out to lunch, but it also
allows us to catch very wierd edge cases of strange drives that might take
a very long time (emulated disk drives over a network, e.g.).
2001-11-17 18:26:00 +00:00
iedowse
ee98411598 The Infortrend IFT-3102 multihost U2 SCSI to U2 SCSI controller
doesn't support the synchronise cache command.

PR:		kern/21752
Submitted by:	Nick R. Colakovic <nickc@corp.firstindustrial.com>
MFC after:	1 week
2001-11-17 17:43:06 +00:00
iedowse
52b49c49f7 Add quirk for Fujitsu M2513A MO drives. These drives hang at various
operations due to the synchronize cache command.

PR:		kern/21674
Submitted by:	W.Scholten <whs@xs4all.nl>
MFC after:	1 week
2001-11-17 14:46:22 +00:00
ps
d745b728a2 Fix a signed bug in the crashdump code for systems with > 2GB of ram.
Reviewed by:	peter
2001-11-13 01:08:54 +00:00
kbyanc
2b2a00534a Add quirk for Minolta 2330 Zoom digital camera.
Submitted by:	Jan Stocker <Jan.Stocker@t-online.de>
2001-11-07 23:11:13 +00:00
kbyanc
7a13cb7c2f Add quirk for Nikon Coolpix 995.
Submitted by:	Jos Vissers <jos@tunix.nl>
2001-11-07 21:47:49 +00:00
kbyanc
140b89bb77 Fix bug in scsi_read_write() where it might use 6-byte commands when
10/12-byte-specific flags where specified.

Reviewed by:	ken
MFC after:	1 day
2001-11-06 23:50:33 +00:00
kbyanc
b952fa42f3 Add quirk entry for Olympus E-100RS digital camera. This and the existing
quirk regarding the C- series makes me suspect that all Olympus models have
the same quirks, but I cannot prove it.

Submitted by:	Bernd Walter <ticso@cicely8.cicely.de>
2001-11-05 23:33:18 +00:00
non
a0da3013c6 Remove PAO3 dependent part.
This will not affect either -current nor -stable.
2001-11-03 08:55:34 +00:00
scottl
e55ef2889e Add a quirk entry so that the Maxtor 3000LE USB drive will work.
Submitted by:	merry, Randy Bush <randy@psg.com>
MFC after:	3 days
2001-10-15 02:05:06 +00:00
rwatson
5918c1e495 o Modify access control code for the CAM SCSI pass-through device to
use securelevel_gt() instead of direct securelevel variable test.

Obtained from:	TrustedBSD Project
2001-09-26 20:13:16 +00:00
rwatson
94d1575afd s/securelvel/securelevel/ 2001-09-25 02:15:00 +00:00
scottl
172cd6f894 Add a quirk entry for the Sony CLIE memory stick device. This will become
useful once ATAPI support is turned on in the umass driver.
2001-09-19 00:35:09 +00:00
mjacob
eb6b3d396e The code that sees a drive (at mount time) not in buffered mode and
attempts to set buffered mode was printing out "unable to set buffered
mode" no matter what. Oops.

Spotted by:	Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
MFC after:	3 weeks
2001-09-14 19:00:51 +00:00
julian
5596676e6c KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
ken
57634a38ed Attach to a CD device even when the SCSI status is 'busy'.
Reported by:	Thomas Quinot <thomas@cuivre.fr.eu.org>
MFC after:	3 weeks
2001-09-03 05:04:47 +00:00
n_hibma
7de8ea47fb Add quirk entry for FujiFilm camera.
Submitted by:		Guido van Rooij <guido@gvr.org>
2001-09-02 20:44:49 +00:00
n_hibma
f5b5f22493 Add quirks for Kingbyte USB Pen drive.
Submitted by:		Eugene M. Kim <gene@nttmcl.com>
PR:			29530
2001-09-02 09:31:08 +00:00
mjacob
ce4ba40ac9 Take CAM_REQUEUE_REQ out of the class of things we were trying to honor
retry count on.

MFC after:	4 weeks
2001-08-30 20:54:00 +00:00
mjacob
2cd43ee6dc Clear SA_FLAG_ERR_PENDING for MTREW, MTERASE and MTRETENS ioctl cases.
Clear residual counts after a successful samount (the user doesn't
care that we got an N-kbyte residual on our test read).

Change a lot of error handling code.

1. If we end up in saerror, check more carefully about the kind of
error. If it is a CAM_SCSI_STATUS_ERROR and it is a read/write
command, we'll be handling this in saerror.  If it isn't a read/write
command, check to see whether this is just an EOM/EOP check condition-
if it is, just set residual and return normally. A residual and
then a NO SENSE check condiftion with the ASC of 0 and ASCQ of
between 1 and 4 are normal 'signifying' events, not errors per se,
and we shouldn't give the command to cam_periph_error to do something
relatively unpredictable with.

2. If we get a Bus Reset, had a BDR sent, or get the cam status of
CAM_REQUEUE_REQ, check the retry count on the command. The default
error handler, cam_periph_error, doesn't honor retry count in these
cases. This may change in the future, but for now, make sure we
set EIO and return without calling cam_periph_error if the retry
count for the command with an error is zero.

3. Clean up the pending error case goop and handle cases more
sensibly.

The rules are:

 If command was a Write:

  If we got a SSD_KEY_VOLUME_OVERFLOW, the resid is
  propagated and we set ENOSPC as the error.

  Else if we got an EOM condition- just mark EOM pending.

	And set a residual of zero. For the longest time I was just
        propagating residual from the sense data- but my tape
        comparison tests were always failing because all drives I
        tested with actually *do* write the data anyway- the EOM
        (early warning) condition occurred *prior* to all of the
        data going out to media- that is, it was still buffered by
        the drive. This case is described in SCSI-2, 10.2.14,
        paragraph #d for the meaning of 'information field'. A
        better fix for this would be to issue a WFM command of zero
        to cause the drive to flush any buffered data, but this
        would require a fairly extensive rewrite.

 Else if the command was a READ:

  If we got a SSD_KEY_BLANK_CHECK-
	If we have a One Filemark EOT model- mark EOM as pending,
	otherwise set EIO as the erorr.
  Else if we found a Filemark-
	If we're in Fixed Block mode- mark EOF pending.

 If we had an ILI (Incorrect Length Indicator)-
  If the residual is less than zero, whine about tape record
  being too big for user's buffer, otherwise if we were in
  Fixed Block mode, mark EIO as pending.

All 'pending' conditions mean that the command in question completes
without error indication. It had succeeded, but a signifying event
occurred during its execution which will apply to the *next* command
that would be exexcuted. Except for the one EOM case above, we always
propagate residual.

Now, way back in sastart- if we notice any of the PENDING bits set,
we don't run the command we've just pulled off the wait queue. Instead,
we then figure out it's disposition based upon a previous command's
association with a signifying event.

 If SA_FLAG_EOM_PENDING is set, we don't set an error. We just complete
 the command with residual set to the request count (not data moved,
 but no error). We continue on.

 If SA_FLAG_EOF_PENDING- if we have this, it's only because we're in
 Fixed Block mode- in which case we traverse all waiting buffers (which
 we can get in fixed block mode because physio has split things up) and
 mark them all as no error, but no data moved and complete them.

 If SA_FLAG_EIO_PENDING, just mark the buffer with an EIO error
 and complete it.

Then we clear all of the pending state bits- we're done.

MFC after:	4 weeks
2001-08-30 16:25:24 +00:00
kbyanc
d4bbe5708a Add interfaces for SCSI LOG SELECT and LOG SENSE commands.
Reviewed by:	ken
2001-08-27 01:29:30 +00:00