]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
[iwm] Process multiple frames per RX buffer.
authoradrian <adrian@FreeBSD.org>
Fri, 12 May 2017 05:49:24 +0000 (05:49 +0000)
committeradrian <adrian@FreeBSD.org>
Fri, 12 May 2017 05:49:24 +0000 (05:49 +0000)
commitb490b06a3f1e5c77828977f8756ba90ba40f7416
treec4af520e1204a2b6d2a71e2acfff1e8f6f8a1b7f
parent56586a1bfd8b1f263205fb59a384f6bb0f8e93da
[iwm] Process multiple frames per RX buffer.

* Factor out iwm_handle_rxb() function from iwm_notif_intr().

* Removing the IWM_FH_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK flag allows
  the device to put multiple frames (both command responses and 80211
  frames) into a single RX buffer.

* Uses m_copym() to split up the receive buffers when multiple 80211
  frames are received in one RX buffer. The effect is basically the same
  as when using m_split(), but we want to keep the original mbuf around
  when calling iwm_mvm_rx_rx_mpdu() to make error handling a bit easier
  for now.

* Contains a small optimization to avoid the m_copym() when only a single
  80211 frame is received in one RX buffer (i.e. matching the existing
  behaviour).

Obtained from: dragonflybsd.git b5eb43f0280bbcfd26af51cf5a4b8e8ff3590b67
sys/dev/iwm/if_iwm.c
sys/dev/iwm/if_iwmreg.h
sys/dev/iwm/if_iwmvar.h