summaryrefslogtreecommitdiffstats
path: root/sys/cam
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support of PhotoClip USB Camera (http://www.myphotoclip.com):sobomax2002-01-311-0/+7
| | | | | | | | | - Vendor&Device IDs for USB product, - quirk for SCSI CAM. PR: 34481 Submitted by: Olexander Kunytsa <kunia@x-telecom.net> MFC in: 3 days
* Define the kern.cam sysctl in the cam layer, rather than multiply in severalmsmith2002-01-095-8/+13
| | | | | | | peripheral drivers. Remove Ken's comment to the effect that this needed to be done. Staticise camnet_ih and cambio_ih.
* Staticise a debugging variable.msmith2002-01-091-1/+1
| | | | Submitted by: non
* Add quirk for DIVA USB Mp3 Player.sobomax2002-01-081-0/+8
| | | | | | | PR: kern/33638 Submitted by: Olexander Kunytsa <kunia@x-telecom.net> MFC after: 3 days (pending re's approval)
* Extend Olympus E-100RS quirk to cover entire E series of digital cameras.kbyanc2002-01-071-5/+2
|
* Change the preemption code for software interrupt thread schedules andjhb2002-01-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mutex releases to not require flags for the cases when preemption is not allowed: The purpose of the MTX_NOSWITCH and SWI_NOSWITCH flags is to prevent switching to a higher priority thread on mutex releease and swi schedule, respectively when that switch is not safe. Now that the critical section API maintains a per-thread nesting count, the kernel can easily check whether or not it should switch without relying on flags from the programmer. This fixes a few bugs in that all current callers of swi_sched() used SWI_NOSWITCH, when in fact, only the ones called from fast interrupt handlers and the swi_sched of softclock needed this flag. Note that to ensure that swi_sched()'s in clock and fast interrupt handlers do not switch, these handlers have to be explicitly wrapped in critical_enter/exit pairs. Presently, just wrapping the handlers is sufficient, but in the future with the fully preemptive kernel, the interrupt must be EOI'd before critical_exit() is called. (critical_exit() can switch due to a deferred preemption in a fully preemptive kernel.) I've tested the changes to the interrupt code on i386 and alpha. I have not tested ia64, but the interrupt code is almost identical to the alpha code, so I expect it will work fine. PowerPC and ARM do not yet have interrupt code in the tree so they shouldn't be broken. Sparc64 is broken, but that's been ok'd by jake and tmm who will be fixing the interrupt code for sparc64 shortly. Reviewed by: peter Tested on: i386, alpha
* Add support for Nikon Coolpix E775 and E885 cameras.jedgar2002-01-011-2/+9
| | | | | PR: 33407 (E885) Submitted by: Brian Behlendorf <brian@hyperreal.org> (E885)
* o Add KLD support for scsi_low.non2001-12-151-0/+11
| | | | | | o Add KLD dependency of ncv, nsp and stg drivers to scsi_low. Submitted by: takawata
* Remove PAO3 dependent part where I missed to remove at last commit.non2001-12-101-4/+0
|
* Add a NO_6_BYTE quirk for the D-series olympus digital cameras.iedowse2001-12-091-0/+7
| | | | | PR: kern/31250 Submitted by: Bryan Liesner <bleez@bellatlantic.net>
* Bring the probe inquiry code in line with the SCSI spec.ken2001-11-271-43/+35
| | | | | | | | | | It is legal to have a device with device type 0x1f, that just means that the device is of unknown type. Instead, only check the peripheral qualifier when deciding whether or not to reject a device based on its inquiry information. Tested by: julian MFC after: 3 weeks
* Back out 1.88 (NO_SYNC_CACHE quirk for Infortrend IFT-3102). Sinceiedowse2001-11-261-8/+0
| | | | | | | | 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
* Disabled tagged commands for Hitachi Jura-C series with J8A8 firmware.dg2001-11-191-0/+10
| | | | | PR: 23536 Submitted by: amagai@nue.org
* Back out revision 1.117; the correct solution is to upgrade theiedowse2001-11-191-9/+0
| | | | | | | firmware on the drive in question. The pattern also matched far too many Hitachi drives. Spotted by: dg
* Hitachi DK32 disks have problems with tagged queuing under load.iedowse2001-11-191-0/+9
| | | | | | PR: kern/23536 Submitted by: Y.Amagai <amagai@nue.org> MFC after: 1 week
* Be very generous with timeouts for synchronize cache. We may wait a very longmjacob2001-11-171-1/+1
| | | | | | 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.).
* The Infortrend IFT-3102 multihost U2 SCSI to U2 SCSI controlleriedowse2001-11-171-0/+8
| | | | | | | | doesn't support the synchronise cache command. PR: kern/21752 Submitted by: Nick R. Colakovic <nickc@corp.firstindustrial.com> MFC after: 1 week
* Add quirk for Fujitsu M2513A MO drives. These drives hang at variousiedowse2001-11-171-0/+15
| | | | | | | | operations due to the synchronize cache command. PR: kern/21674 Submitted by: W.Scholten <whs@xs4all.nl> MFC after: 1 week
* Fix a signed bug in the crashdump code for systems with > 2GB of ram.ps2001-11-131-1/+1
| | | | Reviewed by: peter
* Add quirk for Minolta 2330 Zoom digital camera.kbyanc2001-11-071-0/+7
| | | | Submitted by: Jan Stocker <Jan.Stocker@t-online.de>
* Add quirk for Nikon Coolpix 995.kbyanc2001-11-071-1/+8
| | | | Submitted by: Jos Vissers <jos@tunix.nl>
* Fix bug in scsi_read_write() where it might use 6-byte commands whenkbyanc2001-11-061-5/+4
| | | | | | | 10/12-byte-specific flags where specified. Reviewed by: ken MFC after: 1 day
* Add quirk entry for Olympus E-100RS digital camera. This and the existingkbyanc2001-11-051-0/+10
| | | | | | | 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>
* Remove PAO3 dependent part.non2001-11-031-8/+1
| | | | This will not affect either -current nor -stable.
* Add a quirk entry so that the Maxtor 3000LE USB drive will work.scottl2001-10-151-0/+7
| | | | | Submitted by: merry, Randy Bush <randy@psg.com> MFC after: 3 days
* o Modify access control code for the CAM SCSI pass-through device torwatson2001-09-261-2/+4
| | | | | | use securelevel_gt() instead of direct securelevel variable test. Obtained from: TrustedBSD Project
* s/securelvel/securelevel/rwatson2001-09-251-1/+1
|
* Add a quirk entry for the Sony CLIE memory stick device. This will becomescottl2001-09-191-0/+8
| | | | useful once ATAPI support is turned on in the umass driver.
* The code that sees a drive (at mount time) not in buffered mode andmjacob2001-09-141-3/+5
| | | | | | | | 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
* KSE Milestone 2julian2001-09-129-30/+30
| | | | | | | | | | | | | | 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
* Attach to a CD device even when the SCSI status is 'busy'.ken2001-09-031-0/+10
| | | | | Reported by: Thomas Quinot <thomas@cuivre.fr.eu.org> MFC after: 3 weeks
* Add quirk entry for FujiFilm camera.n_hibma2001-09-021-1/+8
| | | | Submitted by: Guido van Rooij <guido@gvr.org>
* Add quirks for Kingbyte USB Pen drive.n_hibma2001-09-021-12/+12
| | | | | Submitted by: Eugene M. Kim <gene@nttmcl.com> PR: 29530
* Take CAM_REQUEUE_REQ out of the class of things we were trying to honormjacob2001-08-301-1/+0
| | | | | | retry count on. MFC after: 4 weeks
* Clear SA_FLAG_ERR_PENDING for MTREW, MTERASE and MTRETENS ioctl cases.mjacob2001-08-301-85/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add interfaces for SCSI LOG SELECT and LOG SENSE commands.kbyanc2001-08-272-0/+153
| | | | Reviewed by: ken
* Add quirks for the Olympus Digital Camera.n_hibma2001-08-211-1/+16
| | | | | | PR: 26295 Add quirks for the Microtech CameraMate.
* Eliminate the hot-spare 'r' in Arrray.phk2001-08-101-1/+1
| | | | Submitted by: Søren Schrøder <sch@chaos.dk>
* Kill the command (don't rerun it) if we had an AUTOSENSE failure.mjacob2001-07-301-3/+5
| | | | | | If we had an AUTOSENSE failure, we don't know what SENSE DATA we had for a CHECK CONDITION. It's far better to assume failure in this case.
* (Forced commit- last one missed the comments)mjacob2001-07-301-2/+2
| | | | | | | Handle both old and new TARGIOALLOCUNIT/TARGIOFREEUNIT cases- the new one allows us to specify inquiry data we want to use. Handle more of the CAM_DIS_DISCONNECT case.
* (Forced commit- last commit was inadvertant in that it missed the comments)mjacob2001-07-301-0/+1
| | | | | | | | | | Move TARGCTLIOALLOCUNIT to OTARGCTLIOALLOCUNIT, TARGCTLIOFREEUNIT to OTARGCTLIOFREEUNIT and redefine old associated structure to be old_ioc_alloc_unit- deprecation but preservation of binaries. Add new structure for same- but this one contains a pointer to user defined INQUIRY data so you can define what the target device looks like to the outside world.
* backout last commit- inadvertantmjacob2001-07-301-70/+47
|
* scsi_targetio.hmjacob2001-07-303-103/+198
|
* Propagate CAM_DIS_DISCONNECT on through:mjacob2001-07-301-5/+54
| | | | | | | | | 1. If we get frozen, unfreeze for disable disconnects. 2. Put CAM_DIS_DISCONNECT commands at the head of the work queue (we have a target still connected and we can't run anything else until this command completes). If we had an error sending the last CTIO, unfreeze the queue anyway.
* Support for USB floppies based upon SMSC USB FDD controller.n_hibma2001-07-201-0/+10
| | | | | | PR: 28877 Submitted by: Larry Baird <lab@gta.com> MFC after: 1 week
* Catch up with NetBSD/pc98.non2001-07-144-1606/+4214
| | | | | | | | | | | | | | | | | | | | | | | o Much cleanly separate NetBSD(XS) / FreeBSD(CAM) codes. o Improve tagged queing support (full QTAG). o Improve quirk support. o Improve parity error retry. o Impliment wide negotheation. o Cmd link support. o Add copyright of CAM part. o Change for CAM_NEW_TRAN_CODE. o Work around for buggy KME UJDCD450. o stg: add disconnet condition. o nsp: use suspend I/O. and more. I thank Honda-san. conf/options.pc98: add CT_USE_RELOCATE_OFFSET and CT_BUS_WEIGHT dev/{ct,ncv,nsp,stg}/*_{pccard,isa}.c: add splcam() before calling attach/detach functions. Tested by: bsd-nomads Obtained from: NetBSD/pc98
* Call disk_destroy in cdcleanup() as appropriate.dd2001-07-111-0/+3
| | | | | PR: 24596 Reviewed by: ken
* Add SYSCTL ints for default normal I/O timeout && retry counts.mjacob2001-07-091-4/+20
| | | | | | | | | | This is useful if you want to dynamically move into a Fibre Channel or Multi-initiator environment that happens to be particularly noisy and ugly that requires a lot of retries (with shorter I/O timeouts) for commands destried by LIPs or Bus Resets. Reviewed by: deafening silence on audit && scsi on the retry counts MFC after: 2 weeks
* Check the void * argument in the AC_FOUND_DEV case against NULL. Whethermjacob2001-07-047-1/+16
| | | | correctly or not, this sometimes is propagated up via XPT.
* A slightly more complete change to timeouts:mjacob2001-07-021-14/+22
| | | | | | | | | | 1. Add SA_IO_TIMEOUT as an option (4 minutes default) to cover reads, writes, wfm, test unit ready. 2. Add internal SCSIOP_TIMEOUT (e.g., for mode sense) at 1 minute. This should not require an option, but is cleaner to parameterize. MFC after: 1 week
OpenPOWER on IntegriCloud