summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2012-08-16move the dma syncs for the ccb data into ccb_done, so we can do it onceDavid Gwynne
rather than put the code everywhere.
2012-08-16fix up the dma sync for the command frame in mfi_done.David Gwynne
2012-08-16remove pool hiwat call. hiwat is less useful than it used to be.Ted Unangst
less greedy pools are nicer pools.
2012-08-16white space, no real changesDavid Gwynne
2012-08-16move completions of ccbs out of the postq mutex. avoids the unlikely butDavid Gwynne
still possible deadlock that can occur if a completion starts a polled command.
2012-08-16replace the SLIST for ccbs with a SIMPLEQ so i can add stuff to the endDavid Gwynne
of ccb lists.
2012-08-16rewrite the mfii_mgmt path to be a bit more... symmetrical.David Gwynne
2012-08-15use Lk for links;Jason McIntyre
2012-08-15we're not going to loop in rxeof here as well so remove the leftoversMike Belopuhov
from brad, ok jsg
2012-08-15Enable IPv6 autoconfprivacy by defaultsperreault
diff originally by stsp@ "please commit it" deraadt@ "don't care" stsp@ "don't like" bluhm@
2012-08-15add oce and mfii; ok deraadt dlgMike Belopuhov
2012-08-15Remove the old ioctl interface which has been disabled for overJonathan Gray
six years (since bioctl support was added). ok krw@ dlg@
2012-08-14Add framework support for controlling symbol visibility in sharedMatthew Dempsky
objects, inspired by NetBSD. Discussed with kurt, kettenis, and millert. ok kettenis
2012-08-14whitespace cleanup; no binary changeMike Belopuhov
2012-08-14use scsi_get_link to find out the name of a child device for bioctl ratherDavid Gwynne
than snoop scsi commands and copy it in an io path. no functional change, but the code has one less XXX now.
2012-08-14expose the max number of logical volumes the hardware supports as the widthDavid Gwynne
of its scsibus. only advertise 1 lun on logical volumes instead of letting the midlayer fix it up to 8. give every target on the bus max_cmds openings. iopools means they will properly share access to them. this in particular is useful on skinny controllers which only advertise 31 command slots. if you have 16 volumes, theyll only get 1 opening each with the old maths. this way round the ones that are busy will share the slots. tested on a perc5 with two volumes and hard workloads.
2012-08-14regenDavid Coppa
2012-08-14Replace the encoded character in the device name: Clang doesn't like it.David Coppa
From Brad. OK jsg@
2012-08-14dont maintain tables of all the pci subtypes just so we can print thingsDavid Gwynne
like "Dell PERC 5/i" in dmesg. the firmware on the board knows its own name so we can use that instead. saves some bytes in the kernel.
2012-08-14print the boards name (eg, perc 5/i) according to the firmware like mfii.David Gwynne
ok deraadt@
2012-08-14gc sc_flags now that the iop struct can tell us where the different IDBsDavid Gwynne
are. noted by haesbaert@
2012-08-14oops, dont claim FUSION is an iop type we will support in mfi(4)David Gwynne
2012-08-14move knowledge of the location of the inbound doorbell out of code inDavid Gwynne
transition_firmware into a member of the iop structures. ok mikeb@ haesbaert@
2012-08-14enable mfii(4).David Gwynne
ok deraadt@
2012-08-14wire in mfii(4)David Gwynne
ok by mikeb@ haesbaert@ deraadt@ matthew@
2012-08-14introduce mfii(4), a driver for the generation of megaraid sas boardsDavid Gwynne
after the ones currently supported by mfi(4). mfii is to mfi what mpii is to mpi. it is also strange in that it reuses bits of both mfi(4) and mpii(4) hardware structures. the register layout is sort of like mfi, but the majority of the messaging (post and completion paths) are like mpii. the new logical disk io message is the same as the scsi io command in mpii with an extra raid context bit on the end. other operating systems have supported the new hardware in their existing megaraid sas drivers by cutting them in half and using a metric buttload of function pointers at pretty much every driver entry point to switch between the non-fusion behaviour and the fusion behavior. the only really common code seems to be the handling of the management commands before branching off into the chip specific message handling to move it on and off the hardware. i'll deal with abstracting the mgmt stuff out later. this is working so im getting it in now to polish further in the tree. ok by mikeb@ haesbaert@ deraadt@ matthew@
2012-08-14split the definitions of the hardware out into a separate file so it canDavid Gwynne
be reused by a driver for the recent megaraid sas fusion boards. mikeb was also interested in doing this a while back to make working on mpii.c easier. ok by mikeb@ haesbaert@ deraadt@ matthew@
2012-08-13sync a comment with reality and remove an error path duplicate; from bradMike Belopuhov
2012-08-13get rid of the last foo_lo and foo_hi bits i could find in the hardwareDavid Gwynne
structures and use htole64 instead of htole32(addr >> 32); htole32(addr); gets rid of "handy" stack variables to get the dva to 64bits. sprinkle some more byte swaps for things that should have it. tested on a perc5 (xscale)
2012-08-13do appropriate bus_dmamapy_syncs around the pcq/completion ring.David Gwynne
tested on a perc5 (xscale)
2012-08-13replace uint32_ts for hi and lo addresses in the mfi_init_ hardwareDavid Gwynne
descriptors with single uint64_ts. theyre not some weird middle endian thing. this makes the code more readable. add some missing htole32s to the code while here. tested on a perc5 (xscale).
2012-08-12Make sure snooping is enabled on Intel 7 Series HD Audio.Mark Kettenis
Tested by naddy@.
2012-08-11Fix state tracking for the error ccb, and pay attention when the READ_LOG_EXTJonathan Matthew
command used in ncq error recovery fails. Fixes 'ccb->ccb_xa.state == ATA_S_ONCHIP' assertion failures when talking to dying disks. broken disk supplied by Aidan Rowe ok dlg@
2012-08-11Add support for another 82599 SFP+ card. Original diff and tests byMike Belopuhov
Chris Maxwell <chris ! maxwell () hootsuite.com> ok jsg
2012-08-11regenMike Belopuhov
2012-08-11another 82599Mike Belopuhov
2012-08-11the producer/consumer values are used by the device, which is littleDavid Gwynne
endian. do appropriate byteswapping for when the host cpu uses them. tested on a perc5 (xscale) in an amd64.
2012-08-10';;', even with a newline between the semicolons, doesn't make muchKenneth R Westerback
sense as a for() body. One semicolon is enough. From llvm via Brad.
2012-08-10simplify pckbc_xt_translation()Alexandr Shadchin
* call only for set translation on (once in /sys/dev/pckbd.c) therefore we can delete unused code. * change behavior (more standard) - return zero on success ok miod@
2012-08-10cleanup some #define's and #ifdef'sMike Belopuhov
2012-08-10regenDavid Coppa
2012-08-10Add O2 Micro OZ776 HubDavid Coppa
Ok jsg@
2012-08-10cleanup ixgbe_start routine; from brad, ok jsgMike Belopuhov
2012-08-09don't compile rss functions in unless OCE_RSS is specifiedMike Belopuhov
2012-08-09oops. missed these conflicts in the previous commitMike Belopuhov
2012-08-09try to make sense of the firmware statistics by counting rx and tx erorrsMike Belopuhov
2012-08-09schedule a rx refill if the ring is empty, sprinkle some dma syncsMike Belopuhov
2012-08-09more htole conversionsMike Belopuhov
2012-08-09remove internal queue stats, use if_* counters wherever possibleMike Belopuhov
2012-08-09respect the mtu value that ifconfig setsMike Belopuhov