HomeFreeBSD

[iwm] Process multiple frames per RX buffer.

Description

[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

Details

Provenance
adrianAuthored on
Parents
rS318217: [iwm] Change UCODE_TLV_API #define-s from bitmasks to indexes.
Branches
Unknown
Tags
Unknown