Search Linux Wireless

Re: [PATCH rtw-next v2 01/11] wifi: rtw89: Fix rtw89_core_get_ch_dma() for RTL8852CU

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

 



On 01/08/2025 23:51, Bitterblue Smith wrote:
> It seems RTL8852CU can only use TX channels 0, 2, and 8 (for band 0),
> otherwise the chip stops working after downloading at maximum speed
> for a few seconds.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>
> ---
> v2:
>  - No change, messed up sending v1.
> ---
>  drivers/net/wireless/realtek/rtw89/txrx.h | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/drivers/net/wireless/realtek/rtw89/txrx.h b/drivers/net/wireless/realtek/rtw89/txrx.h
> index ec01bfc363da..318fd0ac8726 100644
> --- a/drivers/net/wireless/realtek/rtw89/txrx.h
> +++ b/drivers/net/wireless/realtek/rtw89/txrx.h
> @@ -734,6 +734,25 @@ rtw89_core_get_qsel_mgmt(struct rtw89_dev *rtwdev, struct rtw89_core_tx_request
>  
>  static inline u8 rtw89_core_get_ch_dma(struct rtw89_dev *rtwdev, u8 qsel)
>  {
> +	if (rtwdev->hci.type == RTW89_HCI_TYPE_USB &&
> +	    rtwdev->chip->chip_id == RTL8852C) {
> +		switch (qsel) {
> +		default:
> +			rtw89_warn(rtwdev, "Cannot map qsel to dma: %d\n",
> +				   qsel);
> +			fallthrough;
> +		case RTW89_TX_QSEL_BE_0:
> +		case RTW89_TX_QSEL_VO_0:
> +			return RTW89_TXCH_ACH0;
> +		case RTW89_TX_QSEL_BK_0:
> +		case RTW89_TX_QSEL_VI_0:
> +			return RTW89_TXCH_ACH2;
> +		case RTW89_TX_QSEL_B0_MGMT:
> +		case RTW89_TX_QSEL_B0_HI:
> +			return RTW89_TXCH_CH8;
> +		}
> +	}
> +
>  	switch (qsel) {
>  	default:
>  		rtw89_warn(rtwdev, "Cannot map qsel to dma: %d\n", qsel);

I see now that RTL8922AU needs the same change. And same in patch 2/11
as well.




[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