summaryrefslogtreecommitdiffstats
path: root/sys/dev/ic/ncr53c9x.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove some includes include-what-you-use claims don'tjsg2015-03-141-2/+1
| | | | | | | have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
* remove uneeded proc.h includesjsg2014-09-141-2/+1
| | | | ok mpi@ kspillner@
* add a size argument to free. will be used soon, but for now default to 0.tedu2014-07-121-2/+2
| | | | after discussions with beck deraadt kettenis.
* Quoting an old commit message:miod2014-01-261-1/+2
| | | | | | ``Callers of scsi_iopool_init() ought to set up the pool member in struct scsi_link accordingly, for bad things will happen without (and this was a real pita to debug).''
* move the declaration of ncr53c9x_scsi_cmd into the .c file, its the onlydlg2014-01-181-1/+2
| | | | place that uses it.
* replace XS_NO_CCB with an iopool around the ecb_pool.dlg2014-01-181-39/+21
| | | | take advantage of pool_setipl while here.
* get rid of a XS_NO_CCB thats caused by a failure to allocate thedlg2014-01-181-84/+54
| | | | | | | | | thing that stores state for luns. instead of checking and allocating it in the scsi_cmd path, and doing weird things all over the place to free it (eg, there's a timeout that ran every 10m to gc luns), use the scsi_probe and scsi_free things the midlayer calls.
* instead of having every bit of glue set up and attach an identicaldlg2014-01-181-4/+11
| | | | | | scsi_adapter struct, just do it once in the chip code. ok krw@
* ncr53c9x (a.k.a. esp on sparc64) does not like 16-byte SCSI commandskrw2011-11-081-1/+16
| | | | | | | | | | | | such as READ_CAPACITY_16. So plugging SCSI-3 devices onto such a bus can be problematic. Cap the acceptable xs->cmdlen at 12 in ncr53c9x.c. Problem noted and fix tested by Kurt Mosiejczuk. Thanks! Diff mostly from miod@ with kibitzing from me. ok miod@
* protect sc->sc_state access and ncr53c9x_sched() call with splbio inmiod2011-08-291-1/+3
| | | | | | ncr53c9x_poll(). Fixes a race causing *some* drives to trigger a panic in ncr53c9x_sched() at attach time on vax. ok dlg@ krw@
* Pass a few more M_ZERO to malloc() or its wrappers, when useful; ok krw@miod2010-11-111-5/+5
|
* do not assume PR_NOWAIT is 0; it is not anymorederaadt2010-09-281-2/+2
|
* Remove all adapter-specific 'struct scsi_device's. They are never used. Firstkrw2010-06-281-4/+2
| | | | | | | | step in elminating 'struct scsi_device' entirely. Spotted and initial diff from matthew@. ok matthew@ dlg@ deraadt@ marco@ miod@
* Don't #include <sys/user.h> into files that don't need the stuffguenther2010-06-261-2/+1
| | | | | | | | it defines. In some cases, this means pulling in uvm.h or pcb.h instead, but most of the inclusions were just noise. Tested on alpha, amd64, armish, hppa, i386, macpcc, sgi, sparc64, and vax, mostly by krw and naddy. ok krw@
* New scsi code seems to be stable. Pluck previously identifiedkrw2010-05-201-8/+2
| | | | | | | low-hanging splbio/splx pairs that are no longer needed and see if this reveals any hidden scsi flaws. ok dlg@
* Change the scsi_cmd function member of scsi_adapter from int tokrw2010-03-231-7/+15
| | | | | | | | | | | | | void. Use XS_NO_CCB error in the scsi command (xs) to report the NO_CCB condition. Eliminates all SUCCESSFULLY_QUEUED and COMPLETE confusion and untangles the midlayer from the adapter a bit more. Eyes and some fixes by miod@ There may be some compile issues on little used (i.e. I don't have any) drivers but the change is mechanical and thus easy to remedy. ok dlg@
* Remove a few more settings of ITSDONE in drivers. Only a couplekrw2010-01-131-3/+1
| | | | more to go. Should be a no-op.
* Nuke SCSI_URGENT after removing its only use, in ncr53c9x.c. That usekrw2009-12-061-3/+1
| | | | | | was to try to play dangerous games with tagged queuing. ok marco@
* Bring last drivers fully into the NO_CCB world by replacingkrw2009-11-221-2/+2
| | | | | | | | | | | TRY_AGAIN_LATER uses with equivalent NO_CCB. Eliminates confusion between the two as was always intended. buf I/O's that can't be started get pushed back onto the front of the queue and retried. Others get sent back to originator as failures. No more epi-cycle looping inside the SCSI midlayer hoping the problem goes away. Various testers, no objection from miod@ as vs(4) was tested by nick@.
* Move IS[12]BYTEMSG and ISEXTMSG defines to a common place.fgsch2009-11-011-5/+1
| | | | Pointed out by miod@. krw@ miod@ ok.
* Return NO_CCB instead of TRY_AGAIN_LATER when ccb's run out.krw2008-11-241-2/+2
| | | | "I'm all for it." marco@ "Yeah" deraadt@
* Convert timeout_add() calls using multiples of hz to timeout_add_sec()blambert2008-09-101-2/+2
| | | | | | | Really just the low-hanging fruit of (hopefully) forthcoming timeout conversions. ok art@, krw@
* Fix redundant device name and/or target printing after callingmiod2008-08-311-3/+2
| | | | sc_print_addr(); ok krw@
* Don't print SCSI ID, it's redundant now that scsibus(4) prints the samekettenis2008-05-271-3/+3
| | | | information.
* More scsi_done() at SPLBIO. Wrap more interrupt function calls whilekrw2007-11-051-3/+11
| | | | | | | polling in splbio/splx. Put belts and suspenders splbio/splx around the scsi_done() call since it may be possible to get there other ways. Partly from thib@
* more remove unneeded declarations that shadows existing vars; ok by many.fgsch2007-10-151-2/+1
|
* Fix some "that that"s.tom2007-08-061-2/+2
| | | | ok miod@ jmc@
* give scsi controllers a real attach args to fill in when attaching scsibus.dlg2006-11-281-2/+7
| | | | ok miod@ marco@ deraadt@
* Enable wide targets on FAS366 esp; note that this changes the way espmiod2006-06-261-10/+21
| | | | | user-controllable device flags are parsed, be sure to rerun config(8) on your next kernel compile.
* In NCR53C9X_DEBUG code, compute debug values after the values they depend onmiod2006-05-231-3/+8
| | | | have been computed.
* Use more queue macros rather than doing it by hand; ok otto@ krw@miod2006-03-051-10/+9
|
* Delay a bit after sending a reset command if the chip is an 53C94 or a 53C96;miod2006-01-091-1/+15
| | | | ok deraadt@ krw@
* NCRDMA_SETUP() should be called before NCR_SET_COUNT() and NCRCMD_DMA commandbrad2006-01-091-3/+4
| | | | | | | | in ncr53c9x_select(). From tsutsui NetBSD ok miod@
* Return from interrupt handler after chip init(reset).brad2006-01-041-1/+2
| | | | | | From petrov NetBSD ok miod@
* People doing time comparisons without using the time{r,spec}cmp macros aremiod2006-01-041-3/+2
| | | | doomed to do them incorrectly; ok krw@ millert@ tedu@
* add \n in 'invalid state' message; from Martin Reindl; ok miod@.xsa2004-10-281-2/+2
|
* Ratibibugle now useless evcnt structures.miod2004-09-291-3/+1
|
* First step towards more sane time handling in the kernel -- this changestholo2004-06-211-4/+4
| | | | | | | | things such that code that only need a second-resolution uptime or wall time, and used to get that from time.tv_secs or mono_time.tv_secs now get this from separate time_t globals time_second and time_uptime. ok art@ niklas@ nordin@
* Provide explicit function argument declarations.miod2004-01-151-1/+3
|
* typos from Tom Cosgrove;jmc2003-10-211-4/+4
| | | | | | | | Tom: I did not commit a couple of your changes. i did not include some punctuation fixes (full stops, etc.) mnemorable -> mnemonic: i decided memorable was probably better instrunctions -> instruction: i kept the plural
* cast and %lu for size_t variable printfjason2003-07-251-2/+2
|
* 3/4 knockout for peter galbavyderaadt2003-06-051-6/+1
|
* be consistant on Hz vs hzmickey2003-02-111-3/+3
|
* remove dead code; krw@ ok.fgsch2002-10-251-10/+1
|
* Remove trailing '\n's from panic messages.krw2002-10-091-5/+5
| | | | | | Started by a commit to siop from provos@netbsd.org. ok miod@ millert@
* don't dereference ecb on default case, it's uninitialized.fgsch2002-09-041-2/+1
|
* First round of __P removal in sysmillert2002-03-141-31/+31
|
* From NetBSD:jason2002-02-191-3/+3
| | | | Fix timeout overflow caused by "scsictl format" on machines HZ==100.
* Pool deals fairly well with physical memory shortage, but it doesn't dealart2002-01-231-2/+2
| | | | | | | | | | | | | | | | | | well (not at all) with shortages of the vm_map where the pages are mapped (usually kmem_map). Try to deal with it: - group all information the backend allocator for a pool in a separate struct. The pool will only have a pointer to that struct. - change the pool_init API to reflect that. - link all pools allocating from the same allocator on a linked list. - Since an allocator is responsible to wait for physical memory it will only fail (waitok) when it runs out of its backing vm_map, carefully drain pools using the same allocator so that va space is freed. (see comments in code for caveats and details). - change pool_reclaim to return if it actually succeeded to free some memory, use that information to make draining easier and more efficient. - get rid of PR_URGENT, noone uses it.
* Initialize variable before use. ok fgs@nordin2001-12-171-2/+2
|