Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6857df8c authored by Johannes Berg's avatar Johannes Berg Committed by Luca Coelho
Browse files

iwlwifi: mvm: document RX structures



Document the structures used in RX and link them to the command ID.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent f5bd90b7
Loading
Loading
Loading
Loading
+76 −5
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
 *
 * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
 * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
 * Copyright(c) 2015 - 2016 Intel Deutschland GmbH
 * Copyright(c) 2015 - 2017 Intel Deutschland GmbH
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of version 2 of the GNU General Public License as
@@ -34,7 +34,7 @@
 *
 * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
 * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
 * Copyright(c) 2015 - 2016 Intel Deutschland GmbH
 * Copyright(c) 2015 - 2017 Intel Deutschland GmbH
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
@@ -349,35 +349,106 @@ enum iwl_rx_mpdu_mac_info {
	IWL_RX_MPDU_PHY_PHY_INDEX_MASK		= 0xf0,
};

/**
 * struct iwl_rx_mpdu_desc - RX MPDU descriptor
 */
struct iwl_rx_mpdu_desc {
	/* DW2 */
	/**
	 * @mpdu_len: MPDU length
	 */
	__le16 mpdu_len;
	/**
	 * @mac_flags1: &enum iwl_rx_mpdu_mac_flags1
	 */
	u8 mac_flags1;
	/**
	 * @mac_flags2: &enum iwl_rx_mpdu_mac_flags2
	 */
	u8 mac_flags2;
	/* DW3 */
	/**
	 * @amsdu_info: &enum iwl_rx_mpdu_amsdu_info
	 */
	u8 amsdu_info;
	/**
	 * @phy_info: &enum iwl_rx_mpdu_phy_info
	 */
	__le16 phy_info;
	/**
	 * @mac_phy_idx: MAC/PHY index
	 */
	u8 mac_phy_idx;
	/* DW4 - carries csum data only when rpa_en == 1 */
	__le16 raw_csum; /* alledgedly unreliable */
	/**
	 * @raw_csum: raw checksum (alledgedly unreliable)
	 */
	__le16 raw_csum;
	/**
	 * @l3l4_flags: &enum iwl_rx_l3l4_flags
	 */
	__le16 l3l4_flags;
	/* DW5 */
	/**
	 * @status: &enum iwl_rx_mpdu_status
	 */
	__le16 status;
	/**
	 * @hash_filter: hash filter value
	 */
	u8 hash_filter;
	/**
	 * @sta_id_flags: &enum iwl_rx_mpdu_sta_id_flags
	 */
	u8 sta_id_flags;
	/* DW6 */
	/**
	 * @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 */
	u8 energy_a, energy_b, channel, mac_context;
	/**
	 * @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 - carries TSF only TSF_OVERLOAD bit == 0 */
	/* DW12 & DW13 */
	/**
	 * @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;
} __packed;

+8 −0
Original line number Diff line number Diff line
@@ -373,7 +373,15 @@ enum iwl_legacy_cmds {
	 */
	RSS_CONFIG_CMD = 0xb3,

	/**
	 * @REPLY_RX_PHY_CMD: &struct iwl_rx_phy_info
	 */
	REPLY_RX_PHY_CMD = 0xc0,

	/**
	 * @REPLY_RX_MPDU_CMD:
	 * &struct iwl_rx_mpdu_res_start or &struct iwl_rx_mpdu_desc
	 */
	REPLY_RX_MPDU_CMD = 0xc1,
	FRAME_RELEASE = 0xc3,
	BA_NOTIF = 0xc5,