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
このコミットが含まれているのは:
Rakesh Pillai
2021-11-26 02:01:21 -08:00
committed by Madan Koyyalamudi
コミット 63ea23ade1
6個のファイルの変更81行の追加12行の削除

ファイルの表示

@@ -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: