Age | Commit message (Collapse) | Author |
|
|
|
initial thread
ok jsing@ kettenis@
|
|
doing requests like that causes lockups on boot.
reported by and this fix test by simon mages
|
|
Makes firmware load work reliably without the horrid tsleep() workaround hack.
Patch by Imre Vadasz
|
|
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.
|
|
my early revision board doesnt like it at all
|
|
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.
|
|
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@
|
|
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@
|
|
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
|
|
|
|
ok dlg
|
|
is already done in mfi(4).
ok dlg
|
|
sas dev pg0 tells us interesting things, like the devices sas addresses
and if it is ATAPI or not.
|
|
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@
|
|
RTS is still used when sending long frames regardless of this change.
Tested by myself and Jan Stary.
|
|
ok kettenis@
|
|
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
|
|
ok kettenis@
|
|
ok kettenis@ tedu@
|
|
ok sthen tb deraadt
|
|
|
|
Fixes iwm connectivity issues after first boot.
Tested by myself (8260 chip) and tb@ (7265 chip)
ok tb@
|
|
OK jca@, deraadt@
|
|
|
|
definition of an ieee80211_tu_to_usec() macro...
|
|
|
|
This bit was only set in 11n mode previously.
ok sthen@
|
|
ok sthen@
|
|
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@
|
|
call the functions provided by the wireless stack to accept or
refuse BA agreements depending on the status returned by firmware.
ok sthen@
|
|
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@
|
|
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@
|
|
Makes the firmware use appropriate Tx rates for ACKs.
|
|
Remove the unused struct iwm_powertable_cmd. Fix typos in comments.
Add macros for default power-save Tx/Rx timeout values (from iwlwifi).
|
|
|
|
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);
|
|
(Un?)surprisingly the compiler is smart enough to produce the same
code in both cases, but this conveys the intention better.
|
|
methods from all audio drivers and from the audio_if structure as they
are never called.
|
|
generations.
tested on a Lenovo N2215 (SAS3008)
ok dlg@ deraadt@
|
|
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
break; }
becomes:
break;
}
|
|
wrapper functions iwm_mvm_add_sta() and iwm_mvm_update_sta().
|
|
|
|
|