summaryrefslogtreecommitdiff
path: root/sys/dev/ic
AgeCommit message (Collapse)Author
2006-04-03Move scsi_done back under splbio.Marco Peereboom
ok dlg
2006-04-03Since we have a run-queue now lets check it in the isr and get io ontoMarco Peereboom
the card if there is any still pending. ok dlg
2006-04-03Silly dlg hz/500 isnt a whole lot. Also removed busy-wait inMarco Peereboom
ami_quartz_exec. This fixes interactivity issues that we saw when running iogen. This is possible due to the new run-queue model for io. ok dlg@
2006-03-29we never use what the ccb completion functions return, so make them allDavid Gwynne
return void instead.
2006-03-29fix the sync_cache scsi command up so it can run asynchronously using theDavid Gwynne
callback bits for completions. also do the AMI_SYSFLUSH command as well as AMI_FLUSH.
2006-03-27fixes interrupts processing.Damien Bergamini
should fix a panic reported by Karel Gardas.
2006-03-27in detach, mark device with COM_SW_DEAD, so that close() will not goTheo de Raadt
tapping additional registes. allows it to work on macppc, where doing such a tap after unplug is very bad. drahn helped fkr@bytemine.de ok miod and drahn
2006-03-25allow bpf(4) to ignore packets based on their direction (inbound orDamien Miller
outbound), using a new BIOCSDIRFILT ioctl; guidance, feedback and ok canacar@
2006-03-22incorrect check for end of array; ok jsgTheo de Raadt
2006-03-20remove kernel printfs that say "unable to allocate memory" just beforeDavid Gwynne
returning ENOMEM and the like. userland can say that for us while keeping our dmesg clean.
2006-03-20finer grained use of splbio in the ioctl paths. only use it when dealingDavid Gwynne
with the ccb queues rather than over the whole ioctl. also get rid of the CMD_WAIT flag which is used to restrict the ioctl to only one caller at a time. this is actually protecting from overuse of ccbs for management tasks (like bioctl) by making sure the scsi paths will always have their ccbs. replace the flag with a real lock so that callers can sleep till the mgmt ccb is free, rather than returning EBUSY
2006-03-20shrink the ccb even more. instead of having a "wakeup" member to say whenDavid Gwynne
the ioctl paths can wake up, check the state of the ccb instead. when the ccb becomes READY again then the command has completed.
2006-03-20remove the bits in the ccb for generalised handling of dmaable memory.David Gwynne
now that each code path that puts commands on the hardware has specific completion routines, we dont have to deal with the memory magic in a generic fashion.
2006-03-20switch the mgmt ioctl path to use the ioctl completion function.David Gwynne
2006-03-20move the drv_inq ioctl path to its own completion routine. all the cleanupDavid Gwynne
of the dmammem is now done in the ioctl, the completion routing simply wakes it up.
2006-03-20get rid of the CCB_READY check in ami_start, it is subtly broken and slowsDavid Gwynne
things down. this path is easy to verify without this code so im just dropping it.
2006-03-20the command queues are important so wrap them up in splbioDavid Gwynne
2006-03-20shorten the setup of the xs timeoutDavid Gwynne
2006-03-19this is a really large reworking of how ami works in terms of submittingDavid Gwynne
commands to the hardware and completing them. previously the driver was very engineered toward moving io from the logical disks scsi commands onto the hardware and off. as we built extra functionality into the driver, this path grew more and more hairy as bits were tacked on to cope. this strips it back to dealing with getting the command onto the hardware and off again. each path that submits commands now has to do all its work before submitting the ccb, and supply a function for completing the ccb. both the async and polled paths call the completion routines for commands now. async commands that fail to get onto the hardware first go are stuck on a queue and retried out of a timeout. previously this was only done for scsi commands, now all paths take advantage of it.
2006-03-18scsi completions never go via the generic done path now. xs is always setDavid Gwynne
in the scis done path
2006-03-18use polling for the synchronise command while i move the xs setup andDavid Gwynne
completion stuff around.
2006-03-18rename ami_cmd to ami_start_xsDavid Gwynne
2006-03-17create a completion path for scsi commands without the cruft for wakingDavid Gwynne
up ioctl paths.
2006-03-17split the completion path up. its now the responsibility of the the pathDavid Gwynne
that sets the command up to say how its should be completed. this means we dont have to complicate a generic handler to cope with all the different setup paths. however, at the moment we're using the generic complicated one :)
2006-03-17remove the last remnants of AMI_POLLINGDavid Gwynne
2006-03-16Comment out tekram_sync_table and only degine {,dt_}scf_period[] forMiod Vallat
siop_common.c; shaves half a KB.
2006-03-15Correct checks against cd_ndevs - valid numbers are strictly inferior toMiod Vallat
cd_ndevs.
2006-03-15switch the ioctl paths to using ami_start instead of ami_cmd. now the onlyDavid Gwynne
things left using ami_cmd are the scsi paths.
2006-03-15clean up ami_start and move the error handling for a failed command fromDavid Gwynne
ami_cmd into ami_start.
2006-03-15split the code in ami_cmd that does the polling commands out into aDavid Gwynne
function of its own. switch callers of ami_cmd that want polled commands over to using ami_poll.
2006-03-15sc->sc_dev.dv_xname converted to DEVNAME(sc). makes things a little easierDavid Gwynne
for me to read.
2006-03-14move the loading of the dmamaps for passthrough commands out of ami_cmdDavid Gwynne
and into a function of its own called ami_load_ptmem. sleep now, more cleanup later.
2006-03-14move the loading of the dma maps for logical disk reads and writes fromDavid Gwynne
ami_cmd up into ami_scsi_cmd. this simplifies ami_cmd somewhat and moves more stuff out from under splbio. theres more to come.
2006-03-14knfDavid Gwynne
2006-03-14shuffle the switch statement around in scsi_cmd. do the io commandsDavid Gwynne
outside the switch so i have some more room to put ugly code in there.
2006-03-13make the dmseg printing look a little nicer.Brad Smith
ok dlg@
2006-03-13repair commands w/ no scsi_xfer but the affected code was currently dead ↵Michael Shalayeff
anyway; pointed out by Tonnerre LOMBARD <tonnerre@thebsh.sygroup.ch>
2006-03-13finner grained use of splbio in scsi_raw_cmd.David Gwynne
2006-03-13finer use of splbio in scsi_cmd.David Gwynne
2006-03-13split the io and synchronise paths for scsi commands going to the logicalDavid Gwynne
disks.
2006-03-05Use more queue macros rather than doing it by hand; ok otto@ krw@Miod Vallat
2006-03-04remove extraneous brackets.Brad Smith
From Mike Pechkin <mpech at mail dot ru>
2006-03-04Typos grab bag of the month, eyeballed by jmc@Miod Vallat
2006-03-04All CAM_* values stored in xs->error must be 'interpreted' byKenneth R Westerback
ah[cd]_done() into XS_* values understood by the SCSI code before returning xs to the tender mercies of the SCSI code. So if we bail out without calling ah[cd]_done(), because the request cdb length is excessive, don't use ah[cd]_set_transaction() to put CAM_REQ_INVALID into xs->error, just jam in XS_DRIVER_STUFFUP as ah[cd]_done() would have. If CAM_REQ_INVALID escapes it will be interpreted as XS_SHORT_SENSE as far as I can tell. This code path should never be trod so the net effect should be minimal.
2006-03-04remove the colon between "address" and the MAC address.Brad Smith
2006-03-04some defines for PHY detection.Brad Smith
From FreeBSD
2006-03-04do not set the chip type in re_attach_common() as this is alreadyBrad Smith
set in the appropriate bus-dependent front-end attach routines.
2006-03-04remove vlan header.Brad Smith
2006-02-28Switch to software WEP in a way mostly similiar to what David YoungJonathan Gray
did in NetBSD. Fixes WEP on aanriot@'s ADM8211A. ok deraadt@
2006-02-25comment code that is currently unused (radar detection and dynamic rxDamien Bergamini
sensitivity tuning). fix a typo while i'm here.