Message ID | 20210721212029.142388-10-jouni@codeaurora.org |
---|---|
State | New |
Headers | show |
Series | None | expand |
Jouni Malinen <jouni@codeaurora.org> writes: > From: Rameshkumar Sundaram <ramess@codeaurora.org> > > 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. > > 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> > --- > 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 b2e7621969c5..522d3a6ce253 100644 > --- a/drivers/net/wireless/ath/ath11k/dp.h > +++ b/drivers/net/wireless/ath/ath11k/dp.h > @@ -541,7 +541,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) This part is clear after reading the commit log. > --- a/drivers/net/wireless/ath/ath11k/dp_tx.c > +++ b/drivers/net/wireless/ath/ath11k/dp_tx.c > @@ -906,7 +906,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); But this part isn't. All I can see in the commit log is a vague comment "and fill the proper pdev id in the request message" and nothing else. Please provide a proper explanation for this change and I can then add that to the commit log. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
On 2021-09-28 16:16, Kalle Valo wrote: > Jouni Malinen <jouni@codeaurora.org> writes: > >> From: Rameshkumar Sundaram <ramess@codeaurora.org> >> >> 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. >> >> 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> >> --- >> 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 b2e7621969c5..522d3a6ce253 100644 >> --- a/drivers/net/wireless/ath/ath11k/dp.h >> +++ b/drivers/net/wireless/ath/ath11k/dp.h >> @@ -541,7 +541,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) > > This part is clear after reading the commit log. > >> --- a/drivers/net/wireless/ath/ath11k/dp_tx.c >> +++ b/drivers/net/wireless/ath/ath11k/dp_tx.c >> @@ -906,7 +906,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); > > But this part isn't. All I can see in the commit log is a vague comment > "and fill the proper pdev id in the request message" and nothing else. > Please provide a proper explanation for this change and I can then add > that to the commit log. Hi Kalle, In patch 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.
diff --git a/drivers/net/wireless/ath/ath11k/dp.h b/drivers/net/wireless/ath/ath11k/dp.h index b2e7621969c5..522d3a6ce253 100644 --- a/drivers/net/wireless/ath/ath11k/dp.h +++ b/drivers/net/wireless/ath/ath11k/dp.h @@ -541,7 +541,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 b00e78de36bc..125a9a8a5b0a 100644 --- a/drivers/net/wireless/ath/ath11k/dp_tx.c +++ b/drivers/net/wireless/ath/ath11k/dp_tx.c @@ -906,7 +906,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);