qcacmn: Parse 64-bit TLVs in monitor status ring for WCN7850
In WCN7850, the tlv header width is 64-bit and the tlv header start is 8-byte aligned inside the monitor status ring desc. Add changes to parse the monitor status ring TLV according to the TLV header width. Change-Id: I19860b871abbc3037174b9d0ae5ed6e52b1eb736 CRs-Fixed: 3084443
Dieser Commit ist enthalten in:

committet von
Madan Koyyalamudi

Ursprung
0115477838
Commit
63ea23ade1
@@ -368,7 +368,8 @@ dp_rx_mon_status_process_tlv(struct dp_soc *soc, struct dp_intr *int_ctx,
|
||||
ppdu_info,
|
||||
tlv_status);
|
||||
|
||||
rx_tlv = hal_rx_status_get_next_tlv(rx_tlv);
|
||||
rx_tlv = hal_rx_status_get_next_tlv(rx_tlv,
|
||||
mon_pdev->is_tlv_hdr_64_bit);
|
||||
|
||||
if ((rx_tlv - rx_tlv_start) >=
|
||||
RX_MON_STATUS_BUF_SIZE)
|
||||
|
@@ -4500,6 +4500,29 @@ QDF_STATUS dp_mon_soc_cfg_init(struct dp_soc *soc)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* dp_mon_pdev_per_target_config() - Target specific monitor pdev configuration
|
||||
* @pdev: PDEV handle [Should be valid]
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static void dp_mon_pdev_per_target_config(struct dp_pdev *pdev)
|
||||
{
|
||||
struct dp_soc *soc = pdev->soc;
|
||||
struct dp_mon_pdev *mon_pdev = pdev->monitor_pdev;
|
||||
int target_type;
|
||||
|
||||
target_type = hal_get_target_type(soc->hal_soc);
|
||||
switch (target_type) {
|
||||
case TARGET_TYPE_WCN7850:
|
||||
mon_pdev->is_tlv_hdr_64_bit = true;
|
||||
break;
|
||||
default:
|
||||
mon_pdev->is_tlv_hdr_64_bit = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
QDF_STATUS dp_mon_pdev_attach(struct dp_pdev *pdev)
|
||||
{
|
||||
struct dp_soc *soc;
|
||||
@@ -4548,6 +4571,7 @@ QDF_STATUS dp_mon_pdev_attach(struct dp_pdev *pdev)
|
||||
}
|
||||
|
||||
pdev->monitor_pdev = mon_pdev;
|
||||
dp_mon_pdev_per_target_config(pdev);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
fail3:
|
||||
|
@@ -795,6 +795,7 @@ struct dp_mon_pdev {
|
||||
/* enable spcl vap stats reset on ch change */
|
||||
bool reset_scan_spcl_vap_stats_enable;
|
||||
#endif
|
||||
bool is_tlv_hdr_64_bit;
|
||||
};
|
||||
|
||||
struct dp_mon_vdev {
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren