lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0116/1039] ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware
    Date
    From: Rameshkumar Sundaram <ramess@codeaurora.org>

    [ Upstream commit 16a2c3d5406f95ef6139de52669c60a39443f5f7 ]

    HTT_PPDU_STATS_CFG_PDEV_ID bit mask for target FW PPDU stats request message
    was set as bit 8 to 15. Bit 8 is reserved for soc stats and pdev id starts from
    bit 9. Hence change the bitmask as bit 9 to 15 and fill the proper pdev id in
    the request message.

    In commit 701e48a43e15 ("ath11k: add packet log support for QCA6390"), both
    HTT_PPDU_STATS_CFG_PDEV_ID and pdev_mask were changed, but this pdev_mask
    calculation is not valid for platforms which has multiple pdevs with 1 rxdma
    per pdev, as this is writing same value(i.e. 2) for all pdevs. Hence fixed it
    to consider pdev_idx as well, to make it compatible for both single and multi
    pd cases.

    Tested on: IPQ8074 hw2.0 AHB WLAN.HK.2.5.0.1-01092-QCAHKSWPL_SILICONZ-1
    Tested on: IPQ6018 hw1.0 WLAN.HK.2.5.0.1-01067-QCAHKSWPL_SILICONZ-1

    Fixes: 701e48a43e15 ("ath11k: add packet log support for QCA6390")

    Co-developed-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
    Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
    Signed-off-by: Rameshkumar Sundaram <ramess@codeaurora.org>
    Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20210721212029.142388-10-jouni@codeaurora.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/ath/ath11k/dp.h | 3 ++-
    drivers/net/wireless/ath/ath11k/dp_tx.c | 2 +-
    2 files changed, 3 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/wireless/ath/ath11k/dp.h b/drivers/net/wireless/ath/ath11k/dp.h
    index 4794ca04f2136..f524d19aca349 100644
    --- a/drivers/net/wireless/ath/ath11k/dp.h
    +++ b/drivers/net/wireless/ath/ath11k/dp.h
    @@ -517,7 +517,8 @@ struct htt_ppdu_stats_cfg_cmd {
    } __packed;

    #define HTT_PPDU_STATS_CFG_MSG_TYPE GENMASK(7, 0)
    -#define HTT_PPDU_STATS_CFG_PDEV_ID GENMASK(15, 8)
    +#define HTT_PPDU_STATS_CFG_SOC_STATS BIT(8)
    +#define HTT_PPDU_STATS_CFG_PDEV_ID GENMASK(15, 9)
    #define HTT_PPDU_STATS_CFG_TLV_TYPE_BITMASK GENMASK(31, 16)

    enum htt_ppdu_stats_tag_type {
    diff --git a/drivers/net/wireless/ath/ath11k/dp_tx.c b/drivers/net/wireless/ath/ath11k/dp_tx.c
    index 879fb2a9dc0c6..10b76f6f710b0 100644
    --- a/drivers/net/wireless/ath/ath11k/dp_tx.c
    +++ b/drivers/net/wireless/ath/ath11k/dp_tx.c
    @@ -903,7 +903,7 @@ int ath11k_dp_tx_htt_h2t_ppdu_stats_req(struct ath11k *ar, u32 mask)
    cmd->msg = FIELD_PREP(HTT_PPDU_STATS_CFG_MSG_TYPE,
    HTT_H2T_MSG_TYPE_PPDU_STATS_CFG);

    - pdev_mask = 1 << (i + 1);
    + pdev_mask = 1 << (ar->pdev_idx + i);
    cmd->msg |= FIELD_PREP(HTT_PPDU_STATS_CFG_PDEV_ID, pdev_mask);
    cmd->msg |= FIELD_PREP(HTT_PPDU_STATS_CFG_TLV_TYPE_BITMASK, mask);

    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-24 23:10    [W:4.056 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site