Search Linux Wireless

RE: [PATCH 1/2] wifi: rtl8xxxu: Clean up some messy ifs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>
> Sent: Sunday, April 9, 2023 10:11 PM
> To: Ping-Ke Shih <pkshih@xxxxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx
> Cc: Jes Sorensen <Jes.Sorensen@xxxxxxxxx>
> Subject: Re: [PATCH 1/2] wifi: rtl8xxxu: Clean up some messy ifs
> 
> On 06/04/2023 04:16, Ping-Ke Shih wrote:
> >
> >
> >> -----Original Message-----
> >> From: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>
> >> Sent: Saturday, April 1, 2023 4:17 AM
> >> To: linux-wireless@xxxxxxxxxxxxxxx
> >> Cc: Jes Sorensen <Jes.Sorensen@xxxxxxxxx>; Ping-Ke Shih <pkshih@xxxxxxxxxxx>
> >> Subject: [PATCH 1/2] wifi: rtl8xxxu: Clean up some messy ifs
> >>
> >> Add some new members to rtl8xxxu_fileops and use them instead of
> >> checking priv->rtl_chip.
> >>
> >> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>
> >> ---
> >
> > [...]
> >
> >> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
> >> b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
> >> index c152b228606f..62dd53a57659 100644
> >> --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
> >> +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
> >> @@ -1916,7 +1916,7 @@ static int rtl8xxxu_start_firmware(struct rtl8xxxu_priv *priv)
> >>         /*
> >>          * Init H2C command
> >>          */
> >> -       if (priv->rtl_chip == RTL8723B || priv->rtl_chip == RTL8188F || priv->rtl_chip == RTL8710B)
> >> +       if (priv->fops->init_reg_hmtfr)
> >>                 rtl8xxxu_write8(priv, REG_HMTFR, 0x0f);
> >>  exit:
> >>         return ret;
> >> @@ -3864,11 +3864,8 @@ void rtl8xxxu_init_burst(struct rtl8xxxu_priv *priv)
> >>         rtl8xxxu_write8(priv, REG_HT_SINGLE_AMPDU_8723B, val8);
> >>
> >>         rtl8xxxu_write16(priv, REG_MAX_AGGR_NUM, 0x0c14);
> >> -       if (priv->rtl_chip == RTL8723B || priv->rtl_chip == RTL8710B)
> >> -               val8 = 0x5e;
> >> -       else if (priv->rtl_chip == RTL8188F)
> >> -               val8 = 0x70; /* 0x5e would make it very slow */
> >> -       rtl8xxxu_write8(priv, REG_AMPDU_MAX_TIME_8723B, val8);
> >> +       rtl8xxxu_write8(priv, REG_AMPDU_MAX_TIME_8723B,
> >> +                       priv->fops->ampdu_max_time);
> >
> > Should it be
> >
> > if (priv->fops->ampdu_max_time)
> >     val8 = priv->fops->ampdu_max_time;>
> > rtl8xxxu_write8(priv, REG_AMPDU_MAX_TIME_8723B, val8); // this line doesn't change?
> >
> > Because originally val8 is read from REG_HT_SINGLE_AMPDU_8723B and add
> > HT_SINGLE_AMPDU_ENABLE bit.
> 
> No, the value read from REG_HT_SINGLE_AMPDU_8723B is not supposed to be
> written to REG_AMPDU_MAX_TIME_8723B. And it never was, because only
> RTL8723B, RTL8710B, and RTL8188F use this function. This was clearer in
> the original version of the code, when it was used only by RTL8723B:
> 
>                 val8 = rtl8xxxu_read8(priv, REG_HT_SINGLE_AMPDU_8723B);
>                 val8 |= BIT(7);
>                 rtl8xxxu_write8(priv, REG_HT_SINGLE_AMPDU_8723B, val8);
> 
>                 rtl8xxxu_write16(priv, REG_MAX_AGGR_NUM, 0x0c14);
>                 rtl8xxxu_write8(priv, REG_AMPDU_MAX_TIME_8723B, 0x5e);
> 

Oops. Somehow I misunderstood the code. Sorry for the noise.







[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux