|
|
deb259 |
From dbaa837f62011f9a7b57e38747a30153a0a1a163 Mon Sep 17 00:00:00 2001
|
|
|
deb259 |
From: Eugene Syromiatnikov <esyr@redhat.com>
|
|
|
deb259 |
Date: Fri, 6 Sep 2019 02:11:21 +0200
|
|
|
deb259 |
Subject: [PATCH 1/4] Revert "iwlwifi: mvm: implement CSI reporting"
|
|
|
deb259 |
|
|
|
deb259 |
This reverts commit 5213e8a8a28d2c4c143fec94e57c866a958ed52d.
|
|
|
deb259 |
---
|
|
|
deb259 |
.../net/wireless/intel/iwlwifi/fw/api/datapath.h | 55 ----------------------
|
|
|
deb259 |
.../net/wireless/intel/iwlwifi/fw/api/location.h | 20 --------
|
|
|
deb259 |
drivers/net/wireless/intel/iwlwifi/fw/api/rx.h | 2 -
|
|
|
deb259 |
drivers/net/wireless/intel/iwlwifi/fw/file.h | 7 +--
|
|
|
deb259 |
drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c | 1 -
|
|
|
deb259 |
drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 1 -
|
|
|
deb259 |
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 8 +---
|
|
|
deb259 |
7 files changed, 2 insertions(+), 92 deletions(-)
|
|
|
deb259 |
|
|
|
deb259 |
Index: src/drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h
|
|
|
deb259 |
===================================================================
|
|
|
deb259 |
--- src.orig/drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h 2019-09-06 15:31:38.601243739 +0200
|
|
|
deb259 |
+++ src/drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h 2019-09-06 15:31:57.823938961 +0200
|
|
|
deb259 |
@@ -105,12 +105,6 @@
|
|
|
deb259 |
HE_AIR_SNIFFER_CONFIG_CMD = 0x13,
|
|
|
deb259 |
|
|
|
deb259 |
/**
|
|
|
deb259 |
- * @CHEST_COLLECTOR_FILTER_CONFIG_CMD: Configure the CSI
|
|
|
deb259 |
- * matrix collection, uses &struct iwl_channel_estimation_cfg
|
|
|
deb259 |
- */
|
|
|
deb259 |
- CHEST_COLLECTOR_FILTER_CONFIG_CMD = 0x14,
|
|
|
deb259 |
-
|
|
|
deb259 |
- /**
|
|
|
deb259 |
* @RX_NO_DATA_NOTIF: &struct iwl_rx_no_data
|
|
|
deb259 |
*/
|
|
|
deb259 |
RX_NO_DATA_NOTIF = 0xF5,
|
|
|
deb259 |
@@ -162,53 +156,4 @@
|
|
|
deb259 |
__le32 user_position[4];
|
|
|
deb259 |
} __packed; /* MU_GROUP_MNG_NTFY_API_S_VER_1 */
|
|
|
deb259 |
|
|
|
deb259 |
-enum iwl_channel_estimation_flags {
|
|
|
deb259 |
- IWL_CHANNEL_ESTIMATION_ENABLE = BIT(0),
|
|
|
deb259 |
- IWL_CHANNEL_ESTIMATION_TIMER = BIT(1),
|
|
|
deb259 |
- IWL_CHANNEL_ESTIMATION_COUNTER = BIT(2),
|
|
|
deb259 |
-};
|
|
|
deb259 |
-
|
|
|
deb259 |
-/**
|
|
|
deb259 |
- * struct iwl_channel_estimation_cfg - channel estimation reporting config
|
|
|
deb259 |
- */
|
|
|
deb259 |
-struct iwl_channel_estimation_cfg {
|
|
|
deb259 |
- /**
|
|
|
deb259 |
- * @flags: flags, see &enum iwl_channel_estimation_flags
|
|
|
deb259 |
- */
|
|
|
deb259 |
- __le32 flags;
|
|
|
deb259 |
- /**
|
|
|
deb259 |
- * @timer: if enabled via flags, automatically disable after this many
|
|
|
deb259 |
- * microseconds
|
|
|
deb259 |
- */
|
|
|
deb259 |
- __le32 timer;
|
|
|
deb259 |
- /**
|
|
|
deb259 |
- * @count: if enabled via flags, automatically disable after this many
|
|
|
deb259 |
- * frames with channel estimation matrix were captured
|
|
|
deb259 |
- */
|
|
|
deb259 |
- __le32 count;
|
|
|
deb259 |
- /**
|
|
|
deb259 |
- * @rate_n_flags_mask: only try to record the channel estimation matrix
|
|
|
deb259 |
- * if the rate_n_flags value for the received frame (let's call
|
|
|
deb259 |
- * that rx_rnf) matches the mask/value given here like this:
|
|
|
deb259 |
- * (rx_rnf & rate_n_flags_mask) == rate_n_flags_val.
|
|
|
deb259 |
- */
|
|
|
deb259 |
- __le32 rate_n_flags_mask;
|
|
|
deb259 |
- /**
|
|
|
deb259 |
- * @rate_n_flags_val: see @rate_n_flags_mask
|
|
|
deb259 |
- */
|
|
|
deb259 |
- __le32 rate_n_flags_val;
|
|
|
deb259 |
- /**
|
|
|
deb259 |
- * @reserved: reserved (for alignment)
|
|
|
deb259 |
- */
|
|
|
deb259 |
- __le32 reserved;
|
|
|
deb259 |
- /**
|
|
|
deb259 |
- * @frame_types: bitmap of frame types to capture, the received frame's
|
|
|
deb259 |
- * subtype|type takes 6 bits in the frame and the corresponding bit
|
|
|
deb259 |
- * in this field must be set to 1 to capture channel estimation for
|
|
|
deb259 |
- * that frame type. Set to all-ones to enable capturing for all
|
|
|
deb259 |
- * frame types.
|
|
|
deb259 |
- */
|
|
|
deb259 |
- __le64 frame_types;
|
|
|
deb259 |
-} __packed; /* CHEST_COLLECTOR_FILTER_CMD_API_S_VER_1 */
|
|
|
deb259 |
-
|
|
|
deb259 |
#endif /* __iwl_fw_api_datapath_h__ */
|
|
|
deb259 |
Index: src/drivers/net/wireless/intel/iwlwifi/fw/api/location.h
|
|
|
deb259 |
===================================================================
|
|
|
deb259 |
--- src.orig/drivers/net/wireless/intel/iwlwifi/fw/api/location.h 2019-09-06 15:31:38.601243739 +0200
|
|
|
deb259 |
+++ src/drivers/net/wireless/intel/iwlwifi/fw/api/location.h 2019-09-06 15:31:57.823938961 +0200
|
|
|
deb259 |
@@ -94,15 +94,6 @@
|
|
|
deb259 |
*/
|
|
|
deb259 |
TOF_RESPONDER_DYN_CONFIG_CMD = 0x5,
|
|
|
deb259 |
/**
|
|
|
deb259 |
- * @CSI_HEADER_NOTIFICATION: CSI header
|
|
|
deb259 |
- */
|
|
|
deb259 |
- CSI_HEADER_NOTIFICATION = 0xFA,
|
|
|
deb259 |
- /**
|
|
|
deb259 |
- * @CSI_CHUNKS_NOTIFICATION: CSI chunk,
|
|
|
deb259 |
- * uses &struct iwl_csi_chunk_notification
|
|
|
deb259 |
- */
|
|
|
deb259 |
- CSI_CHUNKS_NOTIFICATION = 0xFB,
|
|
|
deb259 |
- /**
|
|
|
deb259 |
* @TOF_LC_NOTIF: used for LCI/civic location, contains just
|
|
|
deb259 |
* the action frame
|
|
|
deb259 |
*/
|
|
|
deb259 |
@@ -697,15 +688,4 @@
|
|
|
deb259 |
__le16 reserved;
|
|
|
deb259 |
} __packed; /* TOF_RESPONDER_STATISTICS_NTFY_S_VER_2 */
|
|
|
deb259 |
|
|
|
deb259 |
-#define IWL_CSI_CHUNK_CTL_NUM_MASK 0x3
|
|
|
deb259 |
-#define IWL_CSI_CHUNK_CTL_IDX_MASK 0xc
|
|
|
deb259 |
-
|
|
|
deb259 |
-struct iwl_csi_chunk_notification {
|
|
|
deb259 |
- __le32 token;
|
|
|
deb259 |
- __le16 seq;
|
|
|
deb259 |
- __le16 ctl;
|
|
|
deb259 |
- __le32 size;
|
|
|
deb259 |
- u8 data[];
|
|
|
deb259 |
-} __packed; /* CSI_CHUNKS_HDR_NTFY_API_S_VER_1 */
|
|
|
deb259 |
-
|
|
|
deb259 |
#endif /* __iwl_fw_api_location_h__ */
|
|
|
deb259 |
Index: src/drivers/net/wireless/intel/iwlwifi/fw/api/rx.h
|
|
|
deb259 |
===================================================================
|
|
|
deb259 |
--- src.orig/drivers/net/wireless/intel/iwlwifi/fw/api/rx.h 2019-09-06 15:31:38.601243739 +0200
|
|
|
deb259 |
+++ src/drivers/net/wireless/intel/iwlwifi/fw/api/rx.h 2019-09-06 15:31:57.824938945 +0200
|
|
|
deb259 |
@@ -333,8 +333,6 @@
|
|
|
deb259 |
IWL_RX_MPDU_PHY_AMPDU = BIT(5),
|
|
|
deb259 |
IWL_RX_MPDU_PHY_AMPDU_TOGGLE = BIT(6),
|
|
|
deb259 |
IWL_RX_MPDU_PHY_SHORT_PREAMBLE = BIT(7),
|
|
|
deb259 |
- /* short preamble is only for CCK, for non-CCK overridden by this */
|
|
|
deb259 |
- IWL_RX_MPDU_PHY_NCCK_ADDTL_NTFY = BIT(7),
|
|
|
deb259 |
IWL_RX_MPDU_PHY_TSF_OVERLOAD = BIT(8),
|
|
|
deb259 |
};
|
|
|
deb259 |
|
|
|
deb259 |
Index: src/drivers/net/wireless/intel/iwlwifi/fw/file.h
|
|
|
deb259 |
===================================================================
|
|
|
deb259 |
--- src.orig/drivers/net/wireless/intel/iwlwifi/fw/file.h 2019-09-06 15:31:38.601243739 +0200
|
|
|
deb259 |
+++ src/drivers/net/wireless/intel/iwlwifi/fw/file.h 2019-09-06 15:31:57.824938945 +0200
|
|
|
deb259 |
@@ -383,13 +383,10 @@
|
|
|
deb259 |
* @IWL_UCODE_TLV_CAPA_TX_POWER_ACK: reduced TX power API has larger
|
|
|
deb259 |
* command size (command version 4) that supports toggling ACK TX
|
|
|
deb259 |
* power reduction.
|
|
|
deb259 |
+ * @IWL_UCODE_TLV_CAPA_MLME_OFFLOAD: supports MLME offload
|
|
|
deb259 |
* @IWL_UCODE_TLV_CAPA_D3_DEBUG: supports debug recording during D3
|
|
|
deb259 |
* @IWL_UCODE_TLV_CAPA_MCC_UPDATE_11AX_SUPPORT: MCC response support 11ax
|
|
|
deb259 |
* capability.
|
|
|
deb259 |
- * @IWL_UCODE_TLV_CAPA_CSI_REPORTING: firmware is capable of being configured
|
|
|
deb259 |
- * to report the CSI information with (certain) RX frames
|
|
|
deb259 |
- *
|
|
|
deb259 |
- * @IWL_UCODE_TLV_CAPA_MLME_OFFLOAD: supports MLME offload
|
|
|
deb259 |
*
|
|
|
deb259 |
* @NUM_IWL_UCODE_TLV_CAPA: number of bits used
|
|
|
deb259 |
*/
|
|
|
deb259 |
@@ -445,8 +442,6 @@
|
|
|
deb259 |
IWL_UCODE_TLV_CAPA_D3_DEBUG = (__force iwl_ucode_tlv_capa_t)87,
|
|
|
deb259 |
IWL_UCODE_TLV_CAPA_LED_CMD_SUPPORT = (__force iwl_ucode_tlv_capa_t)88,
|
|
|
deb259 |
IWL_UCODE_TLV_CAPA_MCC_UPDATE_11AX_SUPPORT = (__force iwl_ucode_tlv_capa_t)89,
|
|
|
deb259 |
- IWL_UCODE_TLV_CAPA_CSI_REPORTING = (__force iwl_ucode_tlv_capa_t)90,
|
|
|
deb259 |
-
|
|
|
deb259 |
IWL_UCODE_TLV_CAPA_MLME_OFFLOAD = (__force iwl_ucode_tlv_capa_t)96,
|
|
|
deb259 |
|
|
|
deb259 |
NUM_IWL_UCODE_TLV_CAPA
|
|
|
deb259 |
Index: src/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
|
|
|
deb259 |
===================================================================
|
|
|
deb259 |
--- src.orig/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 2019-09-06 15:31:38.601243739 +0200
|
|
|
deb259 |
+++ src/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 2019-09-06 15:31:57.824938945 +0200
|
|
|
deb259 |
@@ -69,7 +69,6 @@
|
|
|
deb259 |
#include "sta.h"
|
|
|
deb259 |
#include "iwl-io.h"
|
|
|
deb259 |
#include "debugfs.h"
|
|
|
deb259 |
-#include "iwl-modparams.h"
|
|
|
deb259 |
#include "fw/error-dump.h"
|
|
|
deb259 |
|
|
|
deb259 |
static ssize_t iwl_dbgfs_ctdp_budget_read(struct file *file,
|
|
|
deb259 |
Index: src/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
|
|
|
deb259 |
===================================================================
|
|
|
deb259 |
--- src.orig/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2019-09-06 15:31:38.601243739 +0200
|
|
|
deb259 |
+++ src/drivers/net/wireless/intel/iwlwifi/mvm/ops.c 2019-09-06 15:31:57.825938929 +0200
|
|
|
deb259 |
@@ -446,7 +446,6 @@
|
|
|
deb259 |
HCMD_NAME(TRIGGER_RX_QUEUES_NOTIF_CMD),
|
|
|
deb259 |
HCMD_NAME(RFH_QUEUE_CONFIG_CMD),
|
|
|
deb259 |
HCMD_NAME(TLC_MNG_CONFIG_CMD),
|
|
|
deb259 |
- HCMD_NAME(CHEST_COLLECTOR_FILTER_CONFIG_CMD),
|
|
|
deb259 |
HCMD_NAME(STA_PM_NOTIF),
|
|
|
deb259 |
HCMD_NAME(MU_GROUP_MGMT_NOTIF),
|
|
|
deb259 |
HCMD_NAME(RX_QUEUES_NOTIFICATION),
|
|
|
deb259 |
Index: src/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
|
|
|
deb259 |
===================================================================
|
|
|
deb259 |
--- src.orig/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 2019-09-06 15:31:38.601243739 +0200
|
|
|
deb259 |
+++ src/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 2019-09-06 15:31:57.825938929 +0200
|
|
|
deb259 |
@@ -951,15 +951,9 @@
|
|
|
deb259 |
bool toggle_bit = phy_info & IWL_RX_MPDU_PHY_AMPDU_TOGGLE;
|
|
|
deb259 |
|
|
|
deb259 |
rx_status->flag |= RX_FLAG_AMPDU_DETAILS;
|
|
|
deb259 |
- /*
|
|
|
deb259 |
- * Toggle is switched whenever new aggregation starts. Make
|
|
|
deb259 |
- * sure ampdu_reference is never 0 so we can later use it to
|
|
|
deb259 |
- * see if the frame was really part of an A-MPDU or not.
|
|
|
deb259 |
- */
|
|
|
deb259 |
+ /* toggle is switched whenever new aggregation starts */
|
|
|
deb259 |
if (toggle_bit != mvm->ampdu_toggle) {
|
|
|
deb259 |
mvm->ampdu_ref++;
|
|
|
deb259 |
- if (mvm->ampdu_ref == 0)
|
|
|
deb259 |
- mvm->ampdu_ref++;
|
|
|
deb259 |
mvm->ampdu_toggle = toggle_bit;
|
|
|
deb259 |
}
|
|
|
deb259 |
rx_status->ampdu_reference = mvm->ampdu_ref;
|