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

Unverified Commit d1d5435c authored by Michael Bestas's avatar Michael Bestas
Browse files

Merge tag 'LA.UM.9.14.r1-19500-LAHAINA.QSSI12.0' of...

Merge tag 'LA.UM.9.14.r1-19500-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn into android12-5.4-lahaina

"LA.UM.9.14.r1-19500-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-19500-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn:
  qcacmn: Fix TWT rx frames capture in packet capture mode
  qcacmn: Fetch thermal_stats in array range
  qcacmn: Add support for tx flags for packet capture mode
  qcacmn: fetch profile_data from right position
  qcacmn: Use global OC table for lookup while updating RNR db
  qcacmn: Dont add the wmi header size while allocating the wmi buff
  qcacmn: Reduce the log level from error to info
  qcacmn: Populate additional params to CFR info for QCA6750
  qcacmn: Increase WMI CE buffer size to 3520 Bytes
  qcacmn: Check for EP vote access during prevent l1 state
  qcacmn: Always enable ce debug history for ce2/ce3
  qcacmn: WMI CE buffer size update to 3520 Bytes
  qcacmn: Send EAPOL pkt to stack in rx_err path
  qcacmn: Clear num stats over QMI once WoW enter/exit
  qcacmn: Add log message for RTPM prevent API triggered resume
  qcacmn: Fix deleting unused timer in QCA6750 target
  qcacmn: Remove csum_enabled flag and related changes
  qcacmn: Remove csum_enabled flag check
  qcacmn: Add logs to print if nan is enabled or not for a freq
  qcacmn: Add mpdu tx retries stats
  qcacmn: Move reg_get_6g_ap_master_chan_list out of AFC flag
  qcacmn: Add new self recovery reason QDF_STATS_REQ_TIMEDOUT
  qcacmn: Add DEBUG_CONN_RSO log history
  qcacmn: Fix MBSSID parsing for OUIs without subtype
  qcacmn: Fix invalid VAP instance error in RCC case
  qcacmn: Populate additional params to CFR info for QCA6490
  qcacmn: Don't write stop string after CFR stopped
  qcacmn: Add chip type QCA6490 & QCA6750 in cfr meta data header
  qcacmn: Add sig info parameters to cfr info
  qcacmn: Populate mcs & gI parameters to cfr_info
  qcacmn: Extract mcs & gI info from peer tx event
  qcacmn: Add mcs, gi and sig info to metadata
  qcacmn: Add mcs, gI & sig info to cfr metadata
  qcacmn: Cleanup CFR meta version structures
  qcacmn: Cleanup CFR meta version structures
  qcacmn: Populate additional parameters from CFR capture event
  qcacmn: Populate additional params to CFR info
  qcacmn: Populate additional cfr parameters to cfr info
  qcacmn: Update cfr metadata len calculation logic
  qcacmn: Update the cfr_metadata_len of cfr header
  qcacmn: Add additional parameters to CFR meta data
  qcacmn: Extract additional info to cfr metadata
  qcacmn: Fix compilation error in flow control switch case logic
  qcacmn: Avoid possible out of array access
  qcacmn: Fix 11ac no rate info in monitor mode
  qcacmn: Set retry_limit_ext for MGMT frame send WMI command
  qcacmn: Add support for beamforming in mgmt frames
  qcacmn: Increase EP wake timeout for debug build in QCA6750
  qcacmn: Fix disconnection issue due to N/W queues pause
  qcacmn: Fix compliation error when disable CONFIG_LEAK_DETECTION
  qcacmn: Add all membership selector elements
  qcacmn: Add bss membership selectors to wlan_cmn_ieee80211.h
  qcacmn: classify qmi/wmi for WMI_REQUEST_STATS_CMDID
  qcacmn: Add debug log in case BSS is filtered out due to freq list
  qcacmn: Disable intra-bss forwarding for NDI interface
  qcacmn: Extend tid_lock in rx defrag store fragment path
  qcacmn: Fix TSO nbuf unmap missing issue
  qcacmn: Use a max of 5 WBM2SW rings for HSP to address wcov failure
  qcacmn: Update MPDU retries in case of successful transmission
  qcacmn: Add roam set param command for roam params
  qcacmn: Vendor command to configure/trigger the roam events
  qcacmn: Change logging time-stamp source
  qcacmn: Flush reg work instead of cancelling in deinit path
  qcacmn: Fix wrong rssi in monitor mode
  qcacmn: Move unsafe info to regulator msg
  qcacmn: channel_switch_complete_evt need wake up all waiting threads
  qcacmn: Add HIF events to track NAPI POLL exit time
  qcacmn: Allow NAN LOG messages upto a size of 400 bytes
  qcacmn: cleanup FEATURE_HAL_DELAYED_REG_WRITE_V2 support
  qcacmn: Validate SSID first while fetching peer pmksa
  qcacmn: Check function pointer to avoid NULL point dereference
  qcacmn: Ring History Display update
  qcacmn: Add cdp api to update the packet capture mode
  qcacmn: Check smode value to avoid OOB read
  qcacmn: Fix possible OOB write in extract_time_sync_ftm_offset_event_tlv
  qcacmn: add vendor command to configure the parameters for monitor mode
  qcacmn: Drop non-eapol packets for unauthorized peer
  qcacmn: Add APIs to get data packets info
  qcacmn: Check smode value to avoid OOB read
  qcacmn: Fix possible OOB write in extract_time_sync_ftm_offset_event_tlv
  qcacmn: Correct pkt length check for scatter frame rx
  qcacmn: Add support for Thermal Stats Events
  qcacmn: Drop non-eapol packets for unauthorized peer
  qcacmn: Add host definition for target thermal throttle level
  qcacmn: Do not update dfs parameters for 6GHz frequencies
  qcacmn: Dump flow pool stats as part of periodic stats display

Change-Id: I40c5f422ea7e5a62fc9178342a1297f05b806fe9
parents 18995005 0904701e
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -2730,4 +2730,33 @@ cdp_drain_txrx(ol_txrx_soc_handle soc)

	return soc->ops->cmn_drv_ops->txrx_drain(soc);
}

#ifdef WLAN_FEATURE_PKT_CAPTURE_V2
/**
 * cdp_set_pkt_capture_mode() - set pkt capture mode in dp ctx
 * @soc: opaque soc handle
 * @val: value to be set
 */
static inline void
cdp_set_pkt_capture_mode(ol_txrx_soc_handle soc, bool val)
{
	if (!soc || !soc->ops) {
		QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
			  "%s: Invalid Instance", __func__);
		QDF_BUG(0);
		return;
	}

	if (!soc->ops->cmn_drv_ops ||
	    !soc->ops->cmn_drv_ops->set_pkt_capture_mode)
		return;

	soc->ops->cmn_drv_ops->set_pkt_capture_mode(soc, val);
}
#else
static inline void
cdp_set_pkt_capture_mode(ol_txrx_soc_handle soc, bool val)
{
}
#endif
#endif /* _CDP_TXRX_CMN_H_ */
+2 −5
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011-2020 The Linux Foundation. All rights reserved.
 * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
@@ -1138,8 +1139,6 @@ enum cdp_pdev_param_type {
 *
 * @cdp_psoc_param_en_rate_stats: set rate stats enable/disable
 * @cdp_psoc_param_en_nss_cfg: set nss cfg
 *
 * @cdp_enable_tx_checksum: Flag to specify if HW Tx checksum enabled
 */
typedef union cdp_config_param_t {
	/* peer params */
@@ -1209,7 +1208,6 @@ typedef union cdp_config_param_t {
	int cdp_psoc_param_preferred_hw_mode;
	bool cdp_psoc_param_pext_stats;

	bool cdp_enable_tx_checksum;
} cdp_config_param_type;

/**
@@ -1307,7 +1305,6 @@ enum cdp_vdev_param_type {
#endif
	CDP_SAFEMODE,
	CDP_DROP_UNENC,
	CDP_ENABLE_CSUM,
	CDP_ENABLE_IGMP_MCAST_EN,
	CDP_ENABLE_HLOS_TID_OVERRIDE,
#ifdef QCA_SUPPORT_WDS_EXTENDED
+9 −3
Original line number Diff line number Diff line
/*
 * Copyright (c) 2016-2020 The Linux Foundation. All rights reserved.
 * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
@@ -104,8 +105,9 @@ enum netif_action_type {
	WLAN_NETIF_VI_QUEUE_ON = 14,
	WLAN_NETIF_VI_QUEUE_OFF = 15,
	WLAN_NETIF_BE_BK_QUEUE_OFF = 16,
	WLAN_WAKE_NON_PRIORITY_QUEUE = 17,
	WLAN_STOP_NON_PRIORITY_QUEUE = 18,
	WLAN_NETIF_BE_BK_QUEUE_ON = 17,
	WLAN_WAKE_NON_PRIORITY_QUEUE = 18,
	WLAN_STOP_NON_PRIORITY_QUEUE = 19,
	WLAN_NETIF_ACTION_TYPE_MAX,
};

@@ -128,6 +130,10 @@ enum netif_reason_type {
	WLAN_PEER_UNAUTHORISED,
	WLAN_THERMAL_MITIGATION,
	WLAN_DATA_FLOW_CONTROL_PRIORITY,
	WLAN_DATA_FLOW_CTRL_BE_BK,
	WLAN_DATA_FLOW_CTRL_VI,
	WLAN_DATA_FLOW_CTRL_VO,
	WLAN_DATA_FLOW_CTRL_PRI,
	WLAN_REASON_TYPE_MAX,
};

+3 −0
Original line number Diff line number Diff line
@@ -578,6 +578,9 @@ struct cdp_cmn_ops {
					  ol_osif_peer_handle osif_peer);
#endif /* QCA_SUPPORT_WDS_EXTENDED */
	void (*txrx_drain)(ol_txrx_soc_handle soc);
#ifdef WLAN_FEATURE_PKT_CAPTURE_V2
	void (*set_pkt_capture_mode)(struct cdp_soc_t *soc, bool val);
#endif
};

struct cdp_ctrl_ops {
+52 −2
Original line number Diff line number Diff line
/*
 * Copyright (c) 2016-2020 The Linux Foundation. All rights reserved.
 * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
@@ -465,8 +465,46 @@ struct cdp_tidq_stats {
 * @rtt_che_buffer_pointer_low32 : The low 32 bits of the 40 bits pointer to
 * external RTT channel information buffer
 *
 * @rtt_cfo_measurement : raw cfo data extracted from hardware, which is 14 bit
 * signed number. The first bit used for sign representation and 13 bits for
 * fractional part.
 *
 * @agc_gain_info0: Chain 0 & chain 1 agc gain information reported by PHY
 *
 * @agc_gain_info1: Chain 2 & chain 3 agc gain information reported by PHY
 *
 * @agc_gain_info2: Chain 4 & chain 5 agc gain information reported by PHY
 *
 * @agc_gain_info3: Chain 6 & chain 7 agc gain information reported by PHY
 *
 * @rx_start_ts: Rx packet timestamp, the time the first L-STF ADC sample
 * arrived at Rx antenna.
 *
 * @mcs_rate: Indicates the mcs/rate in which packet is received.
 * If HT,
 *    0-7: MCS0-MCS7
 * If VHT,
 *    0-9: MCS0 to MCS9
 * If HE,
 *    0-11: MCS0 to MCS11,
 *    12-13: 4096QAM,
 *    14-15: reserved
 * If Legacy,
 *    0: 48 Mbps
 *    1: 24 Mbps
 *    2: 12 Mbps
 *    3: 6 Mbps
 *    4: 54 Mbps
 *    5: 36 Mbps
 *    6: 18 Mbps
 *    7: 9 Mbps
 *
 * @gi_type: Indicates the gaurd interval.
 *    0: 0.8 us
 *    1: 0.4 us
 *    2: 1.6 us
 *    3: 3.2 us
 */

struct cdp_rx_ppdu_cfr_info {
	bool bb_captured_channel;
	bool bb_captured_timeout;
@@ -475,6 +513,14 @@ struct cdp_rx_ppdu_cfr_info {
	uint8_t chan_capture_status;
	uint8_t rtt_che_buffer_pointer_high8;
	uint32_t rtt_che_buffer_pointer_low32;
	int16_t rtt_cfo_measurement;
	uint32_t agc_gain_info0;
	uint32_t agc_gain_info1;
	uint32_t agc_gain_info2;
	uint32_t agc_gain_info3;
	uint32_t rx_start_ts;
	uint32_t mcs_rate;
	uint32_t gi_type;
};
#endif
/*
@@ -868,6 +914,7 @@ struct protocol_trace_count {
 * @stbc: Packets in STBC
 * @ldpc: Packets in LDPC
 * @retries: Packet retries
 * @retries_mpdu: mpdu number of successfully transmitted after retries
 * @non_amsdu_cnt: Number of MSDUs with no MSDU level aggregation
 * @amsdu_cnt: Number of MSDUs part of AMSDU
 * @tx_rate: Tx Rate
@@ -949,6 +996,7 @@ struct cdp_tx_stats {
	uint32_t stbc;
	uint32_t ldpc;
	uint32_t retries;
	uint32_t retries_mpdu;
	uint32_t non_amsdu_cnt;
	uint32_t amsdu_cnt;
	uint32_t tx_rate;
@@ -1024,6 +1072,8 @@ struct cdp_tx_stats {
	uint32_t num_ppdu_cookie_valid;
	uint32_t no_ack_count[QDF_PROTO_SUBTYPE_MAX];
	struct cdp_pkt_info tx_success_twt;
	/* mpdu retry count in case of successful transmission */
	uint32_t mpdu_success_with_retries;
};

/* struct cdp_rx_stats - rx Level Stats
Loading