2019-10-04 15:13:02

by Jes Sorensen

[permalink] [raw]
Subject: Re: [PATCH v2] rtl8xxxu: add bluetooth co-existence support for single antenna

On 10/2/19 9:19 PM, Chris Chiu wrote:
> On Wed, Oct 2, 2019 at 11:04 PM Jes Sorensen <[email protected]> wrote:
>>
>>
>> In general I think it looks good! One nit below:
>>
>> Sorry I have been traveling for the last three weeks, so just catching up.
>>
>>
>>> +void rtl8723bu_set_coex_with_type(struct rtl8xxxu_priv *priv, u8 type)
>>> +{
>>> + switch (type) {
>>> + case 0:
>>> + rtl8xxxu_write32(priv, REG_BT_COEX_TABLE1, 0x55555555);
>>> + rtl8xxxu_write32(priv, REG_BT_COEX_TABLE2, 0x55555555);
>>> + rtl8xxxu_write32(priv, REG_BT_COEX_TABLE3, 0x00ffffff);
>>> + rtl8xxxu_write8(priv, REG_BT_COEX_TABLE4, 0x03);
>>> + break;
>>> + case 1:
>>> + case 3:
>>
>> The one item here, I would prefer introducing some defined types to
>> avoid the hard coded type numbers. It's much easier to read and debug
>> when named.
>>
> Honestly, I also thought of that but there's no meaningful description for these
> numbers in the vendor driver. Even based on where they're invoked, I can merely
> give a rough definition on 0. So I left it as it is for the covenience
> if I have to do
> cross-comparison with vendor driver in the future for some possible
> unknown bugs.
>
>> If you shortened the name of the function to rtl8723bu_set_coex() you
>> won't have problems with line lengths at the calling point.
>>
> I think the rtl8723bu_set_ps_tdma() function would cause the line length problem
> more than rtl8723bu_set_coex_with_type() at the calling point. But as the same
> debug reason as mentioned, I may like to keep it because I don't know how to
> categorize the 5 magic parameters. I also reference the latest rtw88
> driver code,
> it seems no better solution so far. I'll keep watching if there's any
> better idea.

Personally I would still prefer to name it COEX_TYPE_1 etc. but I can
live with this. Would you mind at least adding some comments in the code
about it?

Cheers,
Jes