qcacld-3.0: Fill proper SGI for VHT Rx data packet
Due to limitation uCode always filling SGI as long in rx_msdu_start_tlv. This change is to update SGI for VHT Rx data packet which is extracted from WMI_VDEV_SMART_MONITOR_EVENTID. Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e133 CRs-Fixed: 3459106
This commit is contained in:

committed by
Rahul Choudhary

父節點
08cb2d94aa
當前提交
d92eb50e4f
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 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
|
||||
@@ -59,12 +59,12 @@ struct pkt_capture_cb_context {
|
||||
* @cb_ctx: pointer to packet capture mon callback context
|
||||
* @frame_filter: config filter set by vendor command
|
||||
* @cfg_params: packet capture config params
|
||||
* @rx_avg_rssi: avg rssi of rx data packets
|
||||
* @ppdu_stats_q: list used for storing smu related ppdu stats
|
||||
* @lock_q: spinlock for ppdu_stats q
|
||||
* @tx_nss: nss of tx data packets received from ppdu stats
|
||||
* @last_freq: Last connected freq
|
||||
* @curr_freq: current connected freq
|
||||
* @rx_vht_sgi: guard interval of vht rx packet
|
||||
*/
|
||||
struct pkt_capture_vdev_priv {
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
@@ -72,12 +72,12 @@ struct pkt_capture_vdev_priv {
|
||||
struct pkt_capture_cb_context *cb_ctx;
|
||||
struct pkt_capture_frame_filter frame_filter;
|
||||
struct pkt_capture_cfg cfg_params;
|
||||
int32_t rx_avg_rssi;
|
||||
qdf_list_t ppdu_stats_q;
|
||||
qdf_spinlock_t lock_q;
|
||||
uint8_t tx_nss;
|
||||
qdf_freq_t last_freq;
|
||||
qdf_freq_t curr_freq;
|
||||
uint8_t rx_vht_sgi;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -690,6 +690,7 @@ static void pkt_capture_rx_get_phy_info(void *context, void *psoc,
|
||||
struct dp_soc *soc = psoc;
|
||||
hal_soc_handle_t hal_soc;
|
||||
struct wlan_objmgr_vdev *vdev = context;
|
||||
struct pkt_capture_vdev_priv *vdev_priv;
|
||||
|
||||
hal_soc = soc->hal_soc;
|
||||
preamble_type = hal_rx_tlv_get_pkt_type(hal_soc, rx_tlv_hdr);
|
||||
@@ -697,6 +698,7 @@ static void pkt_capture_rx_get_phy_info(void *context, void *psoc,
|
||||
bw = hal_rx_tlv_bw_get(hal_soc, rx_tlv_hdr);
|
||||
mcs = hal_rx_tlv_rate_mcs_get(hal_soc, rx_tlv_hdr);
|
||||
sgi = hal_rx_tlv_sgi_get(hal_soc, rx_tlv_hdr);
|
||||
vdev_priv = pkt_capture_vdev_get_priv(vdev);
|
||||
|
||||
switch (preamble_type) {
|
||||
case HAL_RX_PKT_TYPE_11A:
|
||||
@@ -715,6 +717,7 @@ static void pkt_capture_rx_get_phy_info(void *context, void *psoc,
|
||||
rx_status->ht_mcs = mcs;
|
||||
break;
|
||||
case HAL_RX_PKT_TYPE_11AC:
|
||||
sgi = vdev_priv->rx_vht_sgi;
|
||||
rx_status->vht_flags = 1;
|
||||
rx_status->vht_flag_values3[0] = mcs << 0x4 | nss;
|
||||
bw = vdev->vdev_mlme.des_chan->ch_width;
|
||||
|
@@ -83,7 +83,7 @@ struct mgmt_offload_event_params {
|
||||
|
||||
struct smu_event_params {
|
||||
uint32_t vdev_id;
|
||||
int32_t rx_avg_rssi;
|
||||
uint8_t rx_vht_sgi;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021, 2023 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 above
|
||||
@@ -222,7 +222,7 @@ tgt_pkt_capture_smu_event(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
vdev_priv->rx_avg_rssi = param->rx_avg_rssi;
|
||||
vdev_priv->rx_vht_sgi = param->rx_vht_sgi;
|
||||
|
||||
pkt_capture_vdev_put_ref(vdev);
|
||||
|
||||
|
Reference in New Issue
Block a user