[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <94EAAF7E-66C5-40E2-B6A9-0787CB13A3A9@canonical.com>
Date: Mon, 6 Apr 2020 21:18:20 +0800
From: Kai-Heng Feng <kai.heng.feng@...onical.com>
To: Kalle Valo <kvalo@...eaurora.org>
Cc: Tony Chuang <yhchuang@...ltek.com>,
"David S. Miller" <davem@...emloft.net>,
"open list:REALTEK WIRELESS DRIVER (rtw88)"
<linux-wireless@...r.kernel.org>,
"open list:NETWORKING DRIVERS" <netdev@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] rtw88: Add delay on polling h2c command status bit
> On Apr 6, 2020, at 20:17, Kalle Valo <kvalo@...eaurora.org> wrote:
>
> Kai-Heng Feng <kai.heng.feng@...onical.com> writes:
>
>> On some systems we can constanly see rtw88 complains:
>> [39584.721375] rtw_pci 0000:03:00.0: failed to send h2c command
>>
>> Increase interval of each check to wait the status bit really changes.
>>
>> While at it, add some helpers so we can use standarized
>> readx_poll_timeout() macro.
>
> One logical change per patch, please.
Will split it into two separate patches.
>
>> --- a/drivers/net/wireless/realtek/rtw88/hci.h
>> +++ b/drivers/net/wireless/realtek/rtw88/hci.h
>> @@ -253,6 +253,10 @@ rtw_write8_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u8 data)
>> rtw_write8(rtwdev, addr, set);
>> }
>>
>> +#define rr8(addr) rtw_read8(rtwdev, addr)
>> +#define rr16(addr) rtw_read16(rtwdev, addr)
>> +#define rr32(addr) rtw_read32(rtwdev, addr)
>
> For me these macros reduce code readability, not improve anything. They
> hide the use of rtwdev variable, which is evil, and a name like rr8() is
> just way too vague. Please keep the original function names as is.
The inspiration is from another driver.
readx_poll_timeout macro only takes one argument for the op.
Some other drivers have their own poll_timeout implementation,
and I guess it makes sense to make one specific for rtw88.
Kai-Heng
>
> --
> https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Powered by blists - more mailing lists