Search Linux Wireless

RE: [PATCH rtw-next v2 10/14] wifi: rtw89: Fix rtw89_mac_power_switch() for USB

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

 



Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote:
> Clear some bits in some registers in order to allow RTL8851BU to power
> on.

As your description, it should be called when going to power on, but called
by both power on/off. 

However vendor driver did the same as yours. I'd keep it as was. Please
mention this behavior is from vendor driver in commit message. 

> Also tested with RTL8832BU and RTL8832CU.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>
> ---
> v2:
>  - Put the new code in a function.
> ---
>  drivers/net/wireless/realtek/rtw89/mac.c | 20 ++++++++++++++++++++
>  drivers/net/wireless/realtek/rtw89/reg.h |  1 +
>  2 files changed, 21 insertions(+)
> 
> diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c
> index 875c1a3c5ca8..bccb504915f4 100644
> --- a/drivers/net/wireless/realtek/rtw89/mac.c
> +++ b/drivers/net/wireless/realtek/rtw89/mac.c
> @@ -1449,6 +1449,24 @@ void rtw89_mac_notify_wake(struct rtw89_dev *rtwdev)
>         rtw89_mac_send_rpwm(rtwdev, state, true);
>  }
> 
> +static void rtw89_mac_power_switch_boot_mode(struct rtw89_dev *rtwdev)
> +{
> +       u32 boot_mode;
> +
> +       if (rtwdev->hci.type != RTW89_HCI_TYPE_USB)

I checked internal log that initiator of this change is for USB devices, but
not check the HCI type though. 

> +               return;
> +
> +       boot_mode = rtw89_read32_mask(rtwdev, R_AX_GPIO_MUXCFG, B_AX_BOOT_MODE);
> +

No empty line between assignment and immediate checking. 

> +       if (!boot_mode)
> +               return;
> +
> +       rtw89_write32_clr(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APFN_ONMAC);
> +       rtw89_write32_clr(rtwdev, R_AX_SYS_STATUS1, B_AX_AUTO_WLPON);
> +       rtw89_write32_clr(rtwdev, R_AX_GPIO_MUXCFG, B_AX_BOOT_MODE);
> +       rtw89_write32_clr(rtwdev, R_AX_RSV_CTRL, B_AX_R_DIS_PRST);
> +}
> +






[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