From: Kalle Valo <kvalo@codeaurora.org>
To: <yhchuang@realtek.com>
Cc: <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH 07/11] rtw88: 8822c: use more accurate ofdm fa counting
Date: Wed, 12 Jun 2019 10:42:06 +0300 [thread overview]
Message-ID: <875zpbgshd.fsf@kamboji.qca.qualcomm.com> (raw)
In-Reply-To: <1560321917-17751-8-git-send-email-yhchuang@realtek.com> (yhchuang@realtek.com's message of "Wed, 12 Jun 2019 14:45:13 +0800")
<yhchuang@realtek.com> writes:
> From: Yan-Hsuan Chuang <yhchuang@realtek.com>
>
> 8822c used to count OFDM FA count by subtracting tx count from FA count.
> But it need to substract more counters to be accurate.
>
> However, we can count it by adding up all of the FA counters we want.
> And it is simpler to add than list all of the components to substract.
>
> Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
[...]
> --- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
> +++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
> @@ -1491,13 +1491,29 @@ static void rtw8822c_false_alarm_statistics(struct rtw_dev *rtwdev)
> u32 cck_enable;
> u32 cck_fa_cnt;
> u32 ofdm_fa_cnt;
> - u32 ofdm_tx_counter;
> + u32 ofdm_fa_cnt1, ofdm_fa_cnt2, ofdm_fa_cnt3, ofdm_fa_cnt4, ofdm_fa_cnt5;
> + u16 parity_fail, rate_illegal, crc8_fail, mcs_fail, sb_search_fail,
> + fast_fsync, crc8_fail_vhta, mcs_fail_vht;
>
> cck_enable = rtw_read32(rtwdev, REG_ENCCK) & BIT_CCK_BLK_EN;
> cck_fa_cnt = rtw_read16(rtwdev, REG_CCK_FACNT);
> - ofdm_fa_cnt = rtw_read16(rtwdev, REG_OFDM_FACNT);
> - ofdm_tx_counter = rtw_read16(rtwdev, REG_OFDM_TXCNT);
> - ofdm_fa_cnt -= ofdm_tx_counter;
> +
> + ofdm_fa_cnt1 = rtw_read32(rtwdev, REG_OFDM_FACNT1);
> + ofdm_fa_cnt2 = rtw_read32(rtwdev, REG_OFDM_FACNT2);
> + ofdm_fa_cnt3 = rtw_read32(rtwdev, REG_OFDM_FACNT3);
> + ofdm_fa_cnt4 = rtw_read32(rtwdev, REG_OFDM_FACNT4);
> + ofdm_fa_cnt5 = rtw_read32(rtwdev, REG_OFDM_FACNT5);
> +
> + parity_fail = (ofdm_fa_cnt1 & 0xffff0000) >> 16;
> + rate_illegal = (ofdm_fa_cnt2 & 0xffff);
> + crc8_fail = (ofdm_fa_cnt2 & 0xffff0000) >> 16;
> + crc8_fail_vhta = (ofdm_fa_cnt3 & 0xffff);
> + mcs_fail = (ofdm_fa_cnt4 & 0xffff);
> + mcs_fail_vht = (ofdm_fa_cnt4 & 0xffff0000) >> 16;
> + fast_fsync = (ofdm_fa_cnt5 & 0xffff);
> + sb_search_fail = (ofdm_fa_cnt5 & 0xffff0000) >> 16;
No magic numbers, please. IMO the cleanest way is to use create defines
using GENMASK() and FIELD_GET(), that way the values are proper
documented. An example (but not compile tested so can be buggy!):
#define OFDM_FA_CNT1_PARITY_FAIL GENMASK(31, 16)
parity_fail = FIELD_GET(OFDM_FA_CNT1_PARITY_FAIL, ofdm_fa_cnt1);
--
Kalle Valo
next prev parent reply other threads:[~2019-06-12 7:42 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-12 6:45 [PATCH 00/11] rtw88: regular driver upgrade with minor changes yhchuang
2019-06-12 6:45 ` [PATCH 01/11] rtw88: add fast xmit support yhchuang
2019-06-12 6:45 ` [PATCH 02/11] rtw88: add support for random mac scan yhchuang
2019-06-12 6:45 ` [PATCH 03/11] rtw88: add beacon function setting yhchuang
2019-06-12 6:45 ` [PATCH 04/11] rtw88: 8822c: add rf write protection when switching channel yhchuang
2019-06-12 6:45 ` [PATCH 05/11] rtw88: 8822c: update channel and bandwidth BB setting yhchuang
2019-06-12 6:45 ` [PATCH 06/11] rtw88: 8822c: disable rx clock gating before counter reset yhchuang
2019-06-12 6:45 ` [PATCH 07/11] rtw88: 8822c: use more accurate ofdm fa counting yhchuang
2019-06-12 7:42 ` Kalle Valo [this message]
2019-06-12 6:45 ` [PATCH 08/11] rtw88: power on again if it was already on yhchuang
2019-06-12 6:45 ` [PATCH 09/11] rtw88: restore DACK results to save time yhchuang
2019-06-12 6:45 ` [PATCH 10/11] rtw88: rsvd page should go though management queue yhchuang
2019-06-12 6:45 ` [PATCH 11/11] rtw88: fix typo rtw_writ16_set yhchuang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=875zpbgshd.fsf@kamboji.qca.qualcomm.com \
--to=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
--cc=yhchuang@realtek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox