From: Tony Chuang <yhchuang@realtek.com>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: "kvalo@codeaurora.org" <kvalo@codeaurora.org>,
Pkshih <pkshih@realtek.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"briannorris@chromium.org" <briannorris@chromium.org>,
Kevin Yang <kevin_yang@realtek.com>
Subject: RE: [PATCH 25/40] rtw88: 8723d: Add LC calibration
Date: Mon, 4 May 2020 08:40:06 +0000 [thread overview]
Message-ID: <32611827c31b42519f1aebc500cdbbb0@realtek.com> (raw)
In-Reply-To: <20200430135749.pjtzrnsnvkknwjim@linutronix.de>
> On 2020-04-17 15:46:38 [+0800], yhchuang@realtek.com wrote:
> > index cf897af380c1..94784c7f0743 100644
> > --- a/drivers/net/wireless/realtek/rtw88/rtw8723d.c
> > +++ b/drivers/net/wireless/realtek/rtw88/rtw8723d.c
> > @@ -64,6 +64,33 @@ static const struct rtw_hw_reg rtw8723d_txagc[] = {
> > #define WLAN_LTR_CTRL1 0xCB004010
> > #define WLAN_LTR_CTRL2 0x01233425
> >
> > +static void rtw8723d_lck(struct rtw_dev *rtwdev)
> > +{
> > +#define BIT_LCK BIT(15)
>
> please don't add defines like this within a function.
>
> > + u8 val_ctx;
> > + u32 lc_cal, cnt;
> > +
> > + val_ctx = rtw_read8(rtwdev, REG_CTX);
> > + if ((val_ctx & BIT_MASK_CTX_TYPE) != 0)
> > + rtw_write8(rtwdev, REG_CTX, val_ctx & ~BIT_MASK_CTX_TYPE);
> > + else
> > + rtw_write8(rtwdev, REG_TXPAUSE, 0xFF);
> > + lc_cal = rtw_read_rf(rtwdev, RF_PATH_A, RF_CFGCH, RFREG_MASK);
> > +
> > + rtw_write_rf(rtwdev, RF_PATH_A, RF_CFGCH, RFREG_MASK, lc_cal |
> BIT_LCK);
> > + for (cnt = 0; cnt < 100; cnt++) {
> > + if (rtw_read_rf(rtwdev, RF_PATH_A, RF_CFGCH, BIT_LCK) != 0x1)
> > + break;
> > + mdelay(10);
>
> Do you have any numbers on how long this takes? Like best-case, on average,
> worst case? I'm asking because if the bit does not flip on the first
> read then you busy-loop-delay here for 10ms. If it does not flip at all,
> you busy waited a whole second without any consequence.
>
> It looks like this context here is not atomic so msleep() would work where.
Indeed, I think read_poll_timeout() will be good for this case. Thanks.
>
> Sebastian
>
Yen-Hsuan
next prev parent reply other threads:[~2020-05-04 8:40 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-17 7:46 [PATCH 00/40] rtw88: add support for 802.11n RTL8723DE devices yhchuang
2020-04-17 7:46 ` [PATCH 01/40] rtw88: 8723d: Add basic chip capabilities yhchuang
2020-04-17 7:46 ` [PATCH 02/40] rtw88: 8723d: add beamform wrapper functions yhchuang
2020-04-17 7:46 ` [PATCH 03/40] rtw88: 8723d: Add power sequence yhchuang
2020-04-17 7:46 ` [PATCH 04/40] rtw88: 8723d: Add RF read/write ops yhchuang
2020-04-17 7:46 ` [PATCH 05/40] rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables yhchuang
2020-04-17 7:46 ` [PATCH 06/40] rtw88: 8723d: Add cfg_ldo25 to control LDO25 yhchuang
2020-04-17 7:46 ` [PATCH 07/40] rtw88: 8723d: Add new chip op efuse_grant() to control efuse access yhchuang
2020-04-17 7:46 ` [PATCH 08/40] rtw88: 8723d: Add read_efuse to recognize efuse info from map yhchuang
2020-04-17 7:46 ` [PATCH 09/40] rtw88: add legacy firmware download for 8723D devices yhchuang
2020-04-17 7:46 ` [PATCH 10/40] rtw88: no need to send additional information to legacy firmware yhchuang
2020-04-17 7:46 ` [PATCH 11/40] rtw88: 8723d: Add mac power-on/-off function yhchuang
2020-04-17 7:46 ` [PATCH 12/40] rtw88: decompose while(1) loop of power sequence polling command yhchuang
2020-04-17 7:46 ` [PATCH 13/40] rtw88: 8723d: 11N chips don't support H2C queue yhchuang
2020-04-17 7:46 ` [PATCH 14/40] rtw88: 8723d: implement set_tx_power_index ops yhchuang
2020-04-17 7:46 ` [PATCH 15/40] rtw88: 8723d: Organize chip TX/RX FIFO yhchuang
2020-04-17 7:46 ` [PATCH 16/40] rtw88: 8723d: initialize mac/bb/rf basic functions yhchuang
2020-04-17 7:46 ` [PATCH 17/40] rtw88: 8723d: Add DIG parameter yhchuang
2020-04-17 7:46 ` [PATCH 18/40] rtw88: 8723d: Add query_rx_desc yhchuang
2020-04-17 7:46 ` [PATCH 19/40] rtw88: 8723d: Add set_channel yhchuang
2020-04-17 7:46 ` [PATCH 20/40] rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully yhchuang
2020-04-17 7:46 ` [PATCH 21/40] rtw88: 8723d: 11N chips don't support LDPC yhchuang
2020-04-17 7:46 ` [PATCH 22/40] rtw88: 8723d: Add chip_ops::false_alarm_statistics yhchuang
2020-04-17 7:46 ` [PATCH 23/40] rtw88: 8723d: Set IG register for CCK rate yhchuang
2020-04-17 7:46 ` [PATCH 24/40] rtw88: 8723d: add interface configurations table yhchuang
2020-04-17 7:46 ` [PATCH 25/40] rtw88: 8723d: Add LC calibration yhchuang
2020-04-30 13:57 ` Sebastian Andrzej Siewior
2020-05-04 8:40 ` Tony Chuang [this message]
2020-04-17 7:46 ` [PATCH 26/40] rtw88: 8723d: add IQ calibration yhchuang
2020-04-30 15:02 ` Sebastian Andrzej Siewior
2020-05-04 9:45 ` Tony Chuang
2020-05-05 11:42 ` Sebastian Andrzej Siewior
2020-04-17 7:46 ` [PATCH 27/40] rtw88: 8723d: Add power tracking yhchuang
2020-04-17 7:46 ` [PATCH 28/40] rtw88: 8723d: Add shutdown callback to disable BT USB suspend yhchuang
2020-05-05 14:14 ` Sebastian Andrzej Siewior
2020-05-06 2:35 ` Tony Chuang
2020-05-06 20:01 ` Sebastian Andrzej Siewior
2020-05-07 4:26 ` Tony Chuang
2020-05-10 21:54 ` Sebastian Andrzej Siewior
2020-05-11 6:43 ` Pkshih
2020-04-17 7:46 ` [PATCH 29/40] rtw88: 8723d: implement flush queue yhchuang
2020-04-17 7:46 ` [PATCH 30/40] rtw88: 8723d: set ltecoex register address in chip_info yhchuang
2020-04-17 7:46 ` [PATCH 31/40] rtw88: 8723d: Add coex support yhchuang
2020-04-17 7:46 ` [PATCH 32/40] rtw88: fill zeros to words 0x06 and 0x07 of security cam entry yhchuang
2020-04-17 7:46 ` [PATCH 33/40] rtw88: 8723d: Add 8723DE to Kconfig and Makefile yhchuang
2020-04-17 7:46 ` [PATCH 34/40] rtw88: extract: export symbols used in chip functionalities yhchuang
2020-04-17 7:46 ` [PATCH 35/40] rtw88: extract: export symbols about pci interface yhchuang
2020-04-17 7:46 ` [PATCH 36/40] rtw88: extract: make 8822c an individual kernel module yhchuang
2020-04-17 7:46 ` [PATCH 37/40] rtw88: extract: make 8822b " yhchuang
2020-04-17 7:46 ` [PATCH 38/40] rtw88: extract: make 8723d " yhchuang
2020-04-17 7:46 ` [PATCH 39/40] rtw88: extract: remove the unused after extracting yhchuang
2020-04-17 7:46 ` [PATCH 40/40] rtw88: rename rtw88.ko/rtwpci.ko to rtw88_core.ko/rtw88_pci.ko yhchuang
2020-04-17 8:19 ` [PATCH 00/40] rtw88: add support for 802.11n RTL8723DE devices Kalle Valo
2020-04-17 8:26 ` Kalle Valo
2020-04-17 9:03 ` Tony Chuang
2020-04-17 14:47 ` Stefan Schmidt
2020-04-21 8:23 ` Kalle Valo
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=32611827c31b42519f1aebc500cdbbb0@realtek.com \
--to=yhchuang@realtek.com \
--cc=bigeasy@linutronix.de \
--cc=briannorris@chromium.org \
--cc=kevin_yang@realtek.com \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
--cc=pkshih@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;
as well as URLs for NNTP newsgroup(s).