iwlwifi: support new rx_mpdu_desc api
22560 devices use a new rx_mpdu_desc api. Update the code to use the new api. Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:

committed by
Luca Coelho

parent
0307c83961
commit
18ead597da
@@ -376,6 +376,138 @@ enum iwl_rx_he_phy {
|
||||
/* 8 bits reserved */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct iwl_rx_mpdu_desc_v1 - RX MPDU descriptor
|
||||
*/
|
||||
struct iwl_rx_mpdu_desc_v1 {
|
||||
/* DW7 - carries rss_hash only when rpa_en == 1 */
|
||||
/**
|
||||
* @rss_hash: RSS hash value
|
||||
*/
|
||||
__le32 rss_hash;
|
||||
/* DW8 - carries filter_match only when rpa_en == 1 */
|
||||
/**
|
||||
* @filter_match: filter match value
|
||||
*/
|
||||
__le32 filter_match;
|
||||
/* DW9 */
|
||||
/**
|
||||
* @rate_n_flags: RX rate/flags encoding
|
||||
*/
|
||||
__le32 rate_n_flags;
|
||||
/* DW10 */
|
||||
/**
|
||||
* @energy_a: energy chain A
|
||||
*/
|
||||
u8 energy_a;
|
||||
/**
|
||||
* @energy_b: energy chain B
|
||||
*/
|
||||
u8 energy_b;
|
||||
/**
|
||||
* @channel: channel number
|
||||
*/
|
||||
u8 channel;
|
||||
/**
|
||||
* @mac_context: MAC context mask
|
||||
*/
|
||||
u8 mac_context;
|
||||
/* DW11 */
|
||||
/**
|
||||
* @gp2_on_air_rise: GP2 timer value on air rise (INA)
|
||||
*/
|
||||
__le32 gp2_on_air_rise;
|
||||
/* DW12 & DW13 */
|
||||
union {
|
||||
/**
|
||||
* @tsf_on_air_rise:
|
||||
* TSF value on air rise (INA), only valid if
|
||||
* %IWL_RX_MPDU_PHY_TSF_OVERLOAD isn't set
|
||||
*/
|
||||
__le64 tsf_on_air_rise;
|
||||
/**
|
||||
* @he_phy_data:
|
||||
* HE PHY data, see &enum iwl_rx_he_phy, valid
|
||||
* only if %IWL_RX_MPDU_PHY_TSF_OVERLOAD is set
|
||||
*/
|
||||
__le64 he_phy_data;
|
||||
};
|
||||
} __packed;
|
||||
|
||||
/**
|
||||
* struct iwl_rx_mpdu_desc_v3 - RX MPDU descriptor
|
||||
*/
|
||||
struct iwl_rx_mpdu_desc_v3 {
|
||||
/* DW7 - carries filter_match only when rpa_en == 1 */
|
||||
/**
|
||||
* @filter_match: filter match value
|
||||
*/
|
||||
__le32 filter_match;
|
||||
/* DW8 - carries rss_hash only when rpa_en == 1 */
|
||||
/**
|
||||
* @rss_hash: RSS hash value
|
||||
*/
|
||||
__le32 rss_hash;
|
||||
/* DW9 */
|
||||
/**
|
||||
* @partial_hash: 31:0 ip/tcp header hash
|
||||
* w/o some fields (such as IP SRC addr)
|
||||
*/
|
||||
__le32 partial_hash;
|
||||
/* DW10 */
|
||||
/**
|
||||
* @raw_xsum: raw xsum value
|
||||
*/
|
||||
__le32 raw_xsum;
|
||||
/* DW11 */
|
||||
/**
|
||||
* @rate_n_flags: RX rate/flags encoding
|
||||
*/
|
||||
__le32 rate_n_flags;
|
||||
/* DW12 */
|
||||
/**
|
||||
* @energy_a: energy chain A
|
||||
*/
|
||||
u8 energy_a;
|
||||
/**
|
||||
* @energy_b: energy chain B
|
||||
*/
|
||||
u8 energy_b;
|
||||
/**
|
||||
* @channel: channel number
|
||||
*/
|
||||
u8 channel;
|
||||
/**
|
||||
* @mac_context: MAC context mask
|
||||
*/
|
||||
u8 mac_context;
|
||||
/* DW13 */
|
||||
/**
|
||||
* @gp2_on_air_rise: GP2 timer value on air rise (INA)
|
||||
*/
|
||||
__le32 gp2_on_air_rise;
|
||||
/* DW14 & DW15 */
|
||||
union {
|
||||
/**
|
||||
* @tsf_on_air_rise:
|
||||
* TSF value on air rise (INA), only valid if
|
||||
* %IWL_RX_MPDU_PHY_TSF_OVERLOAD isn't set
|
||||
*/
|
||||
__le64 tsf_on_air_rise;
|
||||
/**
|
||||
* @he_phy_data:
|
||||
* HE PHY data, see &enum iwl_rx_he_phy, valid
|
||||
* only if %IWL_RX_MPDU_PHY_TSF_OVERLOAD is set
|
||||
*/
|
||||
__le64 he_phy_data;
|
||||
};
|
||||
/* DW16 & DW17 */
|
||||
/**
|
||||
* @reserved: reserved
|
||||
*/
|
||||
__le32 reserved[2];
|
||||
} __packed; /* RX_MPDU_RES_START_API_S_VER_3 */
|
||||
|
||||
/**
|
||||
* struct iwl_rx_mpdu_desc - RX MPDU descriptor
|
||||
*/
|
||||
@@ -433,59 +565,14 @@ struct iwl_rx_mpdu_desc {
|
||||
* @reorder_data: &enum iwl_rx_mpdu_reorder_data
|
||||
*/
|
||||
__le32 reorder_data;
|
||||
/* DW7 - carries rss_hash only when rpa_en == 1 */
|
||||
/**
|
||||
* @rss_hash: RSS hash value
|
||||
*/
|
||||
__le32 rss_hash;
|
||||
/* DW8 - carries filter_match only when rpa_en == 1 */
|
||||
/**
|
||||
* @filter_match: filter match value
|
||||
*/
|
||||
__le32 filter_match;
|
||||
/* DW9 */
|
||||
/**
|
||||
* @rate_n_flags: RX rate/flags encoding
|
||||
*/
|
||||
__le32 rate_n_flags;
|
||||
/* DW10 */
|
||||
/**
|
||||
* @energy_a: energy chain A
|
||||
*/
|
||||
u8 energy_a;
|
||||
/**
|
||||
* @energy_b: energy chain B
|
||||
*/
|
||||
u8 energy_b;
|
||||
/**
|
||||
* @channel: channel number
|
||||
*/
|
||||
u8 channel;
|
||||
/**
|
||||
* @mac_context: MAC context mask
|
||||
*/
|
||||
u8 mac_context;
|
||||
/* DW11 */
|
||||
/**
|
||||
* @gp2_on_air_rise: GP2 timer value on air rise (INA)
|
||||
*/
|
||||
__le32 gp2_on_air_rise;
|
||||
/* DW12 & DW13 */
|
||||
|
||||
union {
|
||||
/**
|
||||
* @tsf_on_air_rise:
|
||||
* TSF value on air rise (INA), only valid if
|
||||
* %IWL_RX_MPDU_PHY_TSF_OVERLOAD isn't set
|
||||
*/
|
||||
__le64 tsf_on_air_rise;
|
||||
/**
|
||||
* @he_phy_data:
|
||||
* HE PHY data, see &enum iwl_rx_he_phy, valid
|
||||
* only if %IWL_RX_MPDU_PHY_TSF_OVERLOAD is set
|
||||
*/
|
||||
__le64 he_phy_data;
|
||||
struct iwl_rx_mpdu_desc_v1 v1;
|
||||
struct iwl_rx_mpdu_desc_v3 v3;
|
||||
};
|
||||
} __packed;
|
||||
} __packed; /* RX_MPDU_RES_START_API_S_VER_3 */
|
||||
|
||||
#define IWL_RX_DESC_SIZE_V1 offsetofend(struct iwl_rx_mpdu_desc, v1)
|
||||
|
||||
struct iwl_frame_release {
|
||||
u8 baid;
|
||||
|
Reference in New Issue
Block a user