summaryrefslogtreecommitdiffstats
path: root/sys/dev/ic/mpi.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Stop spamming dmesg when raid isn't available.marco2009-12-091-2/+3
|
* put the midlayer changes back in.dlg2009-12-011-3/+1
| | | | | | | | | | | the two issues affecting it last time are gone. the first, mishandling of TRY_AGAIN_LATER is not relevant now that krw got rid of TRY_AGAIN_LATER. the second, the misbehaving IBM disk was found to be a problem with siop using ordered tags on most ops combined with the speed of the new code. putting this in so we can move forward. ok krw@ "commit please" marco@
* revert midlayer back to it was before i put my big rewrite in. this isdlg2009-11-121-1/+3
| | | | | | | causing a weird problems on an alpha and also appears responsible for isp(4) weirdness i havent had a chance to examine yet. sigh, this makes me sad.
* backout the backout marco did of my code because of the NO_CCB breakage.dlg2009-11-101-3/+1
| | | | | | | the fix for the NO_CCB breakage will follow shortly. tested by krw@ marco@ johan@ ok krw@ marco@
* bump copyrightsmarco2009-11-051-3/+3
|
* The big diff dlg committed to the midlayer breaks NO_CCB andmarco2009-11-051-1/+3
| | | | | | | | | | TRY_AGAIN_LATER. NO_CCB is a timer based mechanism that can trivially be made to fail by running IO to two or more disks simultaneously. The TRY_AGAIN_LATER thing is more subtle because it now is a permanent failure instead of transient however this is much harder to hit because something must have gone wrong before it hits. ok deraadt krw miod
* Don't write bogus values to reply_fifo_host_signalling_addr. This registermarco2009-11-021-16/+15
| | | | | | | | should remain untouched because it is only for interruptless drivers. Honor reply queue depth per the spec instead of clipping it at 32. ok dlg
* enable event handling on sas hbas and ignore unhandled events. this turnsdlg2009-10-231-8/+8
| | | | | on sas hotplug. you can add and remove drives and the kernel will handle it now.
* if you're attempting to detach multiple devices (eg, many targets,dlg2009-10-231-28/+20
| | | | | | | | | | | | | | | | | many luns, or the entire bus), dont report ENXIO as an error to the caller. this broke autoconf when it tried to forcefully remove a bus such as umass and it thought there was a failure. this introduces a way for scsi hbas to call activate/deactivate on a device based on its target/lun address via a call to scsi_activate(). they can then schedule the actual detach/attach in a thread later via scsi_req_probe/detach. the mpi changes tweak the sas event handling code to use these apis to properly handle attaches and detaches of disks. event handling is still disabled till i can make it less chatty. umass breakage reported by form@
* disable interrupt coalescing (aka mitigation) if the chip comes up with itdlg2009-10-151-1/+48
| | | | | | turned on. mitigation on io only slows us down. developed on hardware donated by fox-it.
* let page requests sleep instead of polling for completion. not used justdlg2009-10-111-21/+49
| | | | yet...
* always mark an xs complete if we're about to return COMPLETE to thedlg2009-08-121-2/+9
| | | | midlayer. always call scsi_done on the xs too.
* if the port is fc, populate the adapters scsi_link structure with the wwpndlg2009-08-081-2/+33
| | | | | | and wwnn so scsibus can use it. requested by and ok deraadt@
* Bring NO_CCB to mpi.krw2009-03-061-8/+4
| | | | ok marco@
* Extend the scsi_adapter minphys() callback to take a struct scsi_link *miod2009-02-161-3/+3
| | | | | | as additional argument. This will allow intermediate layers between scsi devices such as sd and scsi host adapters to take appropriate action if necessary.
* missing braces; ok marcosthen2009-02-131-2/+3
|
* enable biomarco2008-11-231-3/+1
| | | | ok dlg
* sizeofa is now nitems in param.h, so dont declare my own in mpi.c it wasdlg2008-11-231-2/+1
| | | | unused there anyway. use nitems in mpi_pci_match.
* Remove dup proto from <alexey.suslikov@gmail.com>marco2008-11-181-2/+1
|
* Don't attach bio unless we do RAID.marco2008-11-031-24/+28
|
* Add sensorsmarco2008-11-011-1/+109
|
* Fix bogus shift.marco2008-11-011-2/+2
|
* Add disk. This makes bio mostly done however to make it pretty we needmarco2008-11-011-34/+130
| | | | to implement RAID_ACTION. Remains disabled for now.
* Pointer sizeof oopsmarco2008-10-281-2/+2
|
* Add beginings of bio. Disabled for now.marco2008-10-281-15/+290
| | | | dlg "go go go"
* if fetching a config page for a sas target doesnt work then let the scsidlg2008-10-071-5/+3
| | | | | | | midlayer try to probe it anyway. this lets raid devices configured on an mpi to work again. reported by djm@
* check all luns on sas boards to see if the device is atapi instead of justdlg2008-09-301-2/+2
| | | | the first one.
* provide a scsi probe hook that checks if an atapi device is plugged intodlg2008-09-301-2/+53
| | | | | | | | | | sas mpi variants. this lets the midlayer know it should send the right sized commands to the device. this will make the cd drive work on the sun enterprise m4000 and related machines. reported by James Hsieh at sun.
* add support for handling extended configuration page requests. the sasdlg2008-09-301-15/+55
| | | | pages are all extended, which is annoying.
* straighten the deck chairs slightlydlg2008-09-301-4/+13
|
* tweak the SPI port configuration if we figure out that it is not quitedlg2008-05-251-3/+48
| | | | | | | right, in particular the adapters scsi id on the bus. requested by kettenis@ who is having trouble with the scsi controller on the primepower 250.
* 1.90 again. use the right flags when creating a dmamap for use duringdlg2007-12-271-2/+3
| | | | interrupts.
* oops, there was other code in the previous commit that shouldnt have gonedlg2007-12-271-51/+3
| | | | in. this reverts 1.90.
* use the right flags when creating dmamaps for use in interrupt handlers.dlg2007-12-271-3/+51
|
* always tag fibre channel commands.dlg2007-09-121-2/+3
| | | | ok marco@
* KNFgilles2007-09-111-3/+3
| | | | prompted and "much better" by marco@, ok pyr@
* take advantage of the new M_ZERO malloc flag.dlg2007-09-071-5/+3
|
* add M_CANFAIL to malloc() flags, requested bythib2007-06-121-5/+5
| | | | | | | | marco after I showed him a diff to remove the malloc retun values since they are all called with M_WAITOK. ok marco@
* remove the scsi task thread, and replace it with the system workq.dlg2007-05-311-2/+2
| | | | "just :wq and do it" tedu@
* modernise scsi_inquiry. the length field has grown and now theres pages todlg2007-04-031-1/+2
| | | | | | query. ok krw@
* replace the VMWARE quirk that restricts the bus width to 16 targets withdlg2007-03-171-2/+2
| | | | | | one for all SPI controllers. krw has a sun machine with a 1030 that gets the bus width wrong too, so since vmware emulates that type of hardware too, we can just limit the lot of them and forget about it.
* give scsi controllers a real attach args to fill in when attaching scsibus.dlg2006-11-281-3/+6
| | | | ok miod@ marco@ deraadt@
* unhandled ioctls return ENOTTY, not 0dlg2006-11-281-2/+2
|
* remove dead codedlg2006-11-281-75/+2
|
* use scsi_detach_target when a device dissapears, rather than usingdlg2006-11-261-12/+2
| | | | config_detach and cleaning the midlayer up ourselves.
* remove a comment which is now untrue after i fixed itdlg2006-11-251-2/+1
|
* oops, the eventnotify stuff was accidentally enabled with the scsiconfdlg2006-10-221-1/+3
| | | | changes. its not ready yet, so disable it again.
* rework the bus scanning code by splitting it out into separate functionsdlg2006-10-211-5/+2
| | | | | | | | | | | for walking the bus and targets, and probing the luns. this removes the need to use magic numbers to wildcard each of these, which in turn makes the code a lot easier to read. as a bonus we get some more space to work in (80 chars isnt that much somtimes). note that this code wont probe high luns if lun 0 doesnt exist. ok krw@
* add support for hotplugging devices on sas controllers. this is disableddlg2006-09-221-5/+89
| | | | | for now until we deal more appropriately with events generated by other variants of mpi controllers.
* code for acking event notifications that require acks.dlg2006-09-211-5/+46
|