summaryrefslogtreecommitdiff
path: root/sys/dev/pci
AgeCommit message (Collapse)Author
2016-11-10Apple NVMe controllerMartin Pieuchot
2016-11-07Split PID from TID, giving processes a PID unrelated to the TID of theirPhilip Guenther
initial thread ok jsing@ kettenis@
2016-11-06dont issue sas config page requests against raid targets.David Gwynne
doing requests like that causes lockups on boot. reported by and this fix test by simon mages
2016-11-01Reset the ucode interrupt flag in the softc before loading iwm(4) 8k firmware.Stefan Sperling
Makes firmware load work reliably without the horrid tsleep() workaround hack. Patch by Imre Vadasz
2016-10-31turns out these chips can handle buffers up to 9400 bytes in length.David Gwynne
raise the mtu to 9380 bytes so we can take advantage of the extra space. i need to revisit the macro names at some point.
2016-10-31revert 1.97 where i moved myx to using the system poolsDavid Gwynne
my early revision board doesnt like it at all
2016-10-28get rid of the custom pool in myx for jumbo frames.David Gwynne
now it asks the mbuf layer for the 9k from its pools. a question from chris@ made me go look at the chip doco again and i realised that the chip only requires 4 byte alignment for rx buffers, no 4k alignment for jumbo buffers. i also found that the chip is supposed to be able to rx up to 9400 bytes instead of 9000. ill fix that later though.
2016-10-28In iwn(4), stop forcing RTS for every frame in 11n mode.Stefan Sperling
The RTS threshold should be good enough and applies to all modes. A similar change was made in iwm(4) not long ago. tested by myself and benno@
2016-10-27tell ix and em to use 2k+ETHER_ALIGN clusters for rx on all archs.David Gwynne
this means that the ethernet header and therefore its payload will be aligned correctly for the stack. without this em and ix are sufferring a 30 to 40 percent hit in forwarding performance because the ethernet stack expects to be able to prepend 8 bytes for an ethernet header so it can gaurantee its alignment. because em and ix only had 6 bytes where the ethernet header was, it always prepends an mbuf which turns out to be expensive. this way the prepend will be cheap because the 8 byte space will exist. 2k+ETHER_ALIGN clusters will end up using the newly created mcl2k2 pool. the regression was isolated and the fix tested by hrvoje popovski. ok mikeb@
2016-10-25mask and unmask the interrupt source in an intx specific intr handler.David Gwynne
it seems devices using levelled intx interrupts need to explicitely ack interrupts by masking and unmasking the source around the completion ring handling. without this completions can be lost, which in turn causes long (permanent?) stalls in the block layer under heavy write load. ive experienced this problem with an intel nvme part that only has intx and msix support. because we dont support msix yet we only use intx on it. it appeared to lock up before this fix. this has been tested on both that intel board and a samsung with msi. this fix was based on work found in code by nonaka
2016-10-24Backout last 2 revisions. Requested by deraadt.YASUOKA Masahiko
2016-10-24Make mfii(4) bio(4) capable.YASUOKA Masahiko
ok dlg
2016-10-24Add scsi ioctl hook to do a special treatment for DIOC{G,S}CACHE whichYASUOKA Masahiko
is already done in mfi(4). ok dlg
2016-10-24augment the scsi_probe handler so it tries to query the sas dev pg 0David Gwynne
sas dev pg0 tells us interesting things, like the devices sas addresses and if it is ATAPI or not.
2016-10-21mitigate against mpii device attachment racing with mountrootDavid Gwynne
mpii devices get attached by processing sas discovery events after threads are running, but if you have a lean (in terms of devices) and fast machine, these events might run after mountroot. this change has mpii use config_pending_incr() before it attaches scsibus, and runs config_pending_decr() after the first scan of the bus is complete. to make sure config_pending_decr() is run after the scsi attach/detach events are processed, the MPII_EVENT_SAS_DISCOVERY events are deferred to the same context that the MPII_EVENT_SAS_TOPOLOGY_CHANGE_LIST events run in. ok jmatthew@
2016-10-19Only force iwm's firmware to use RTS for all frames if the AP requires it.Stefan Sperling
RTS is still used when sending long frames regardless of this change. Tested by myself and Jan Stary.
2016-10-08Make iwn(4) write MCS into the radiotap rate field.Stefan Sperling
ok kettenis@
2016-10-08Rate sets managed by net80211 are sorted by effective data rate speed whileStefan Sperling
the iwm_rates array sorts CCK rates before OFDM rates. Add a mapping function to fill the ACK rate bitmap correctly. Problem pointed out by Imre Vadasz. ok kettenis
2016-10-08Hide details of fatal firmware errors in iwn(4) behind #ifdef IWN_DEBUG.Stefan Sperling
ok kettenis@
2016-10-08Various printf claim to report the PID, so actually report that and not the TIDPhilip Guenther
ok kettenis@ tedu@
2016-10-05Hide wpi(4) fatal firmware error details inside #ifdef WPI_DEBUG.Stefan Sperling
ok sthen tb deraadt
2016-10-05Set the USE_RTS flag in the right place. Error introduced in if_iwm.c r1.139.Stefan Sperling
2016-09-27Wait until the BSSID is known before adding the MAC context to iwm firmware.Stefan Sperling
Fixes iwm connectivity issues after first boot. Tested by myself (8260 chip) and tb@ (7265 chip) ok tb@
2016-09-25Remove more duplicated includesFrederic Cambus
OK jca@, deraadt@
2016-09-24Assert that bus->force_bit >= 0 instead of force_bit. Found by clang.Mark Kettenis
2016-09-22Remove some unused cruft from iwm, including a local namespace-pollutingStefan Sperling
definition of an ieee80211_tu_to_usec() macro...
2016-09-22Simplify assignment of sgi_ok variable in iwm_setrates(). No functional change.Stefan Sperling
2016-09-21Always set the bit which allows RTS in iwm's LQ command.Stefan Sperling
This bit was only set in 11n mode previously. ok sthen@
2016-09-21Make iwm protect the session during association more like Linux does it.Stefan Sperling
ok sthen@
2016-09-21Properly support the mac context command in iwm. This was wrong in many ways.Stefan Sperling
This commit includes style fixes as well as actual bug fixes. Remove the global in_assoc flag from the softc. We can just pass a fixed argument to functions to indicate whether we're already associated. Remove in_tfsid from the softc as well. It was implicitly set to zero and never changed. A corresponding macro already exists so use it instead. Always copy the BSSID into the mac context command, as the Linux driver does. This helps the firmware during association. Set the firmware state to 'associated' once we've moved to RUN state and our assoc ID is known. Earlier versions of iwm used to set the firmware to 'associated' but this was disabled in r1.91 since it didn't work correctly due to bugs which are now fixed. Use live DTIM information obtained from the AP, rather than using the default DTIM period of our wireless stack. Check return values of functions called after moving to RUN state. ok sthen@
2016-09-21Make iwm return EBUSY from its ic_ampdu_rx_start() handler andStefan Sperling
call the functions provided by the wireless stack to accept or refuse BA agreements depending on the status returned by firmware. ok sthen@
2016-09-21For the keep-alive period in iwm's power command, use the DTIM periodStefan Sperling
specified by the AP, rather than the default DTIM period of our wireless stack (which is not applicable when running as a client anyway). And tell the firmware to disable power-saving. ok sthen@
2016-09-21Copy the AP's actual EDCA parameters into iwm's mac context commandStefan Sperling
rather than some fixed values present in this file since r1.1. Allows the firmware to properly time its transmissions in 11n networks. ok sthen@
2016-09-21Add the BSS's basic rates to iwm's LQ command, not all the rates.Stefan Sperling
Makes the firmware use appropriate Tx rates for ACKs.
2016-09-20Mostly cosmetic tweaks to macros involved in iwm(4) power-saving features.Stefan Sperling
Remove the unused struct iwm_powertable_cmd. Fix typos in comments. Add macros for default power-save Tx/Rx timeout values (from iwlwifi).
2016-09-19Remove unused getdev() audio driver functions.Alexandre Ratchov
2016-09-15all pools have their ipl set via pool_setipl, so fold it into pool_init.David Gwynne
the ioff argument to pool_init() is unused and has been for many years, so this replaces it with an ipl argument. because the ipl will be set on init we no longer need pool_setipl. most of these changes have been done with coccinelle using the spatch below. cocci sucks at formatting code though, so i fixed that by hand. the manpage and subr_pool.c bits i did myself. ok tedu@ jmatthew@ @ipl@ expression pp; expression ipl; expression s, a, o, f, m, p; @@ -pool_init(pp, s, a, o, f, m, p); -pool_setipl(pp, ipl); +pool_init(pp, s, a, ipl, f, m, p);
2016-09-14Declare the type instead of a on-stack variable for sizeof purposesMike Belopuhov
(Un?)surprisingly the compiler is smart enough to produce the same code in both cases, but this conveys the intention better.
2016-09-14Remove drain(), query_encoding(), mappage() and get_default_params()Alexandre Ratchov
methods from all audio drivers and from the audio_if structure as they are never called.
2016-09-14add support for SAS3 devices, which have a different sgl layout to previousJonathan Matthew
generations. tested on a Lenovo N2215 (SAS3008) ok dlg@ deraadt@
2016-09-14regenJonathan Matthew
2016-09-14add LSI/Avago SAS3 devicesJonathan Matthew
2016-09-12Simplify handling of the AUX STA in iwm(4). There is no good reason forStefan Sperling
storing AUX STA data in the softc. Also, simplify error handling around iwm_send_cmd_pdu_status(), and inline its iwm_add_int_sta_common() helper along with fixing an uninitialized 'status' output parameter.
2016-09-10Use consistent indentation for multi-line function prototypes in iwm.Stefan Sperling
2016-09-10Rename the global nvm_to_read const int array to iwm_nvm_to_read.Stefan Sperling
2016-09-10iwm(4) inherited the 'MVM' prefix in many of its symbol names from iwlwifi.Stefan Sperling
Linux iwlwifi implements support for iwn(4) chips in the 'DVM' driver, and support for iwm(4) chips in the 'MVM' driver. In OpenBSD the 'MVM' prefix is redundant, so we can remove it to shorten many lines and reduce noise: s/iwm_mvm_/iwm_/g
2016-09-10Fix formatting in iwm such thatStefan Sperling
break; } becomes: break; }
2016-09-10Rename iwm_mvm_sta_send_to_fw() to iwm_mvm_sta_cmd(). Get rid of pointlessStefan Sperling
wrapper functions iwm_mvm_add_sta() and iwm_mvm_update_sta().
2016-09-10Move IWM_NVM_* macro definitions from if_iwm.c to if_iwmreg.h.Stefan Sperling
2016-09-05redo rwlock conversion now that i've compiled it on i386Ted Unangst