summaryrefslogtreecommitdiffstats
path: root/sys/dev/mly
Commit message (Collapse)AuthorAgeFilesLines
* Fixup printf format.alfred2003-02-111-1/+1
|
* Terminate 'e' event messages with a newline.scottl2003-02-111-0/+1
| | | | PR: 33202
* Fix the mly driver! If card resources became unavailable, the driver wouldscottl2003-02-062-0/+48
| | | | | | | | | | | | correctly tell CAM to requeue the command and then freeze it's queue. The problem was that when resources became available again, it wouldn't tell CAM to unfreeze it's queue, so no more commands would ever be delivered. This is simialr to the bug that was fixed in the cciss driver last year. This is a bug in 4-STABLE also, but is probably masked by the OS being fast enough to drain the completion queue before it fills up. Also add some diagnostics avaialble when compiled with MLY_DEBUG. Thanks very much to LSI Corp for donating equipment to track this down, and Vaidus Damosevicius for pestering me long enough to get it fixed.
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-1/+1
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* Destroy the management device when detaching the driver.scottl2003-01-081-0/+3
|
* Pass correct parameters to bus_space_barrier() instead of 0mux2002-11-141-2/+4
| | | | so that this code compiles on alpha.
* Be consistent about functions being static.phk2002-10-161-8/+8
| | | | Spotted by: FlexeLint.
* use __packed.alfred2002-09-231-43/+43
|
* Replace (ab)uses of "NULL" where "0" is really meant.archie2002-08-221-2/+2
|
* Rework the kernel environment subsystem. We now convert the staticmux2002-04-171-1/+1
| | | | | | | | | | | | | | | | | environment needed at boot time to a dynamic subsystem when VM is up. The dynamic kernel environment is protected by an sx lock. This adds some new functions to manipulate the kernel environment : freeenv(), setenv(), unsetenv() and testenv(). freeenv() has to be called after every getenv() when you have finished using the string. testenv() only tests if an environment variable is present, and doesn't require a freeenv() call. setenv() and unsetenv() are self explanatory. The kenv(2) syscall exports these new functionalities to userland, mainly for kenv(1). Reviewed by: peter
* Fix warnings (comment out unused tables that are taking space in thepeter2002-02-271-0/+4
| | | | kernel)
* Update to C99, s/__FUNCTION__/__func__/,obrien2001-12-101-2/+2
| | | | also don't use ANSI string concatenation.
* - Change the taskqueue locking to protect the necessary parts of a taskjhb2001-10-261-4/+0
| | | | | | | | while it is on a queue with the queue lock and remove the per-task locks. - Remove TASK_DESTROY now that it is no longer needed. - Go back to inlining TASK_INIT now that it is short again. Inspired by: dfr
* Add locking to taskqueues. There is one mutex per task, one mutex perjhb2001-10-261-0/+4
| | | | | | | | queue, and a mutex to protect the global list of taskqueues. The only visible change is that a TASK_DESTROY() macro has been added to mirror the TASK_INIT() macro to destroy a task before it is free'd. Submitted by: Andrew Reiter <awr@watson.org>
* Fix reversed virtual/physical bus check, whoops!msmith2001-10-221-1/+1
| | | | Submitted by: HIROSHI OOTA <oota@LSi.nec.co.jp>
* KSE Milestone 2julian2001-09-121-3/+4
| | | | | | | | | | | | | | 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
* Fix typo (* -> &)msmith2001-07-261-1/+1
| | | | Submitted by: Andrew Doran <ad@netbsd.org>
* Merge with latest version of the Mylex 6+ driver.msmith2001-07-146-1420/+1318
| | | | | | | | | | | | | | - All sources are built in a single object, reducing namespace pollution. - Kill the ready queue, and handle a busy response to mly_start in callers rather than deferring the command. - Improve our interaction with CAM: - Don't advertise physical channels as SCSI busses by default. - use the SIM queue freeze capability rather than queueing CDBs internally. - force bus reprobe at module load time. - Clean up more resources in mly_free. - Tidy up debugging levels. - Tidy up handling of events (mostly just code cleanliness). - Use explanatory macros for operations on bus/target/channel numbers.
* Fix warning: 110: initialization makes pointer from integer without a castpeter2001-06-151-2/+1
| | | | | This was passing a (d_kqfilter_t *)-1 as the kqfilter function pointer. Fortunately there was no D_KQFILTER in d_flags, so this was harmless.
* Avoid divide-by-zero for devices that the adapter has not negotiated amsmith2001-04-211-1/+5
| | | | transfer speed with.
* Turn on interrupt-entropy harvesting for all/any mass storage devicesmarkm2001-03-011-1/+1
| | | | | | | I could find. I have no doubt missed a couple. Interrupt entropy harvesting is still conditional on the kern.random.sys.harvest_interrupt sysctl.
* Major update and bugfix for the 'mly' driver.msmith2001-02-255-354/+599
| | | | | | | | | | | | | | | | | - Convert to a more efficient queueing implementation. - Don't allocate command buffers on the fly; simply work from a static pool. - Add a control device interface, for later use. - Handle controller overload better as a consequence of the improved queue implementation. - Add support for the XPT_GET_TRAN_SETTINGS ccb, and correctly set the virtual SCSI channels up for multiple outstanding I/Os. - Update copyrights for 2001. - Some whitespace fixes to improve readability. Due to a misunderstanding on my part, previous versions of the driver were limited to a single outstanding I/O per virtual drive. Needless to say, this update improves performance substantially.
* Further use of M_ZERO.dwmalone2000-11-181-4/+2
| | | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net> Approved by: msmith
* Convert all users of fldoff() to offsetof(). fldoff() is badphk2000-10-271-6/+3
| | | | | | | | | | | | | | | | | | | | | | | because it only takes a struct tag which makes it impossible to use unions, typedefs etc. Define __offsetof() in <machine/ansi.h> Define offsetof() in terms of __offsetof() in <stddef.h> and <sys/types.h> Remove myriad of local offsetof() definitions. Remove includes of <stddef.h> in kernel code. NB: Kernelcode should *never* include from /usr/include ! Make <sys/queue.h> include <machine/ansi.h> to avoid polluting the API. Deprecate <struct.h> with a warning. The warning turns into an error on 01-12-2000 and the file gets removed entirely on 01-01-2001. Paritials reviews by: various. Significant brucifications by: bde
* Don't rely on <sys/queue.h> to bogusly include <struct.h>.phk2000-10-221-0/+3
| | | | | Bogusly include <struct.h> until we have a better place to get fldoff() from.
* Remove unneeded #include <machine/clock.h>phk2000-10-151-1/+0
|
* This is the initial import of a new driver for the current family ofmsmith2000-08-236-0/+4842
PCI:SCSI RAID controllers from Mylex.
OpenPOWER on IntegriCloud