Search Linux Wireless

RE: [PATCH rtw-next v1 02/13] wifi: rtw89: Get dle_mem via rtw89_hci_dle_mem()

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

 



Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote:
> On 14/05/2025 03:56, Ping-Ke Shih wrote:
> > Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote:
> >> Don't access dle_mem in get_dle_mem_cfg() directly. USB 2, USB 3, and
> >> SDIO will need different sets of values.
> >>
> >> Rename dle_mem in struct rtw89_chip_info to dle_mem_pcie and get it
> >> via rtw89_hci_dle_mem() and rtw89_pci_ops_dle_mem().
> >>
> >> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>
> >> ---
> >>  drivers/net/wireless/realtek/rtw89/core.h      | 10 +++++++++-
> >>  drivers/net/wireless/realtek/rtw89/mac.c       |  2 +-
> >>  drivers/net/wireless/realtek/rtw89/pci.c       |  8 ++++++++
> >>  drivers/net/wireless/realtek/rtw89/rtw8851b.c  |  2 +-
> >>  drivers/net/wireless/realtek/rtw89/rtw8852a.c  |  2 +-
> >>  drivers/net/wireless/realtek/rtw89/rtw8852b.c  |  2 +-
> >>  drivers/net/wireless/realtek/rtw89/rtw8852bt.c |  2 +-
> >>  drivers/net/wireless/realtek/rtw89/rtw8852c.c  |  2 +-
> >>  drivers/net/wireless/realtek/rtw89/rtw8922a.c  |  2 +-
> >>  9 files changed, 24 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
> >> index be1259cfa712..afcf0353a625 100644
> >> --- a/drivers/net/wireless/realtek/rtw89/core.h
> >> +++ b/drivers/net/wireless/realtek/rtw89/core.h
> >> @@ -3579,6 +3579,8 @@ struct rtw89_hci_ops {
> >>         void (*disable_intr)(struct rtw89_dev *rtwdev);
> >>         void (*enable_intr)(struct rtw89_dev *rtwdev);
> >>         int (*rst_bdram)(struct rtw89_dev *rtwdev);
> >
> > an empty line
> >
> >> +       const struct rtw89_dle_mem *(*dle_mem)(struct rtw89_dev *rtwdev,
> >> +                                              u8 qta_mode);
> >>  };
> >>
> >>  struct rtw89_hci_info {
> >> @@ -4271,7 +4273,7 @@ struct rtw89_chip_info {
> >>         bool dis_2g_40m_ul_ofdma;
> >>         u32 rsvd_ple_ofst;
> >>         const struct rtw89_hfc_param_ini *hfc_param_ini;
> >> -       const struct rtw89_dle_mem *dle_mem;
> >> +       const struct rtw89_dle_mem *dle_mem_pcie;
> >
> > I reconsider if this can be an array with a new enum = {PCIE, USB2, USB3, SDIO}
> > stored in hal->hci_dle_mem_type. Then, consumers can just access it via
> > chip->dle_mem[hal->hci_dle_mem_type][quota]. But, I'm not sure if USB
> > subsystem can notify driver when USB speed is changed.
> >
> > This is a thought to simply the struct definition.
> >
> 
> The hard part is naming the new enum. It's basically rtw89_hci_type
> but more detailed.

If it only used by DLE, maybe rtw89_hci_dle_type is fine?

> 
> I don't expect the USB speed to change during the lifetime of struct
> rtw89_dev. When the device switches from USB 2 to USB 3 it disconnects
> and reappears as a new device:

So seemingly it is workable to store the USB speed in a variable at USB probe.
Please try if it looks good.

> 
> Apr 21 22:02:22 ideapad2 kernel: usb 1-4: new high-speed USB device number 17 using xhci_hcd
> Apr 21 22:02:22 ideapad2 kernel: usb 1-4: New USB device found, idVendor=0bda, idProduct=c832, bcdDevice=
> 0.00
> Apr 21 22:02:22 ideapad2 kernel: usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> Apr 21 22:02:22 ideapad2 kernel: usb 1-4: Product: 802.11ax WLAN Adapter
> Apr 21 22:02:22 ideapad2 kernel: usb 1-4: Manufacturer: Realtek
> Apr 21 22:02:22 ideapad2 kernel: usb 1-4: SerialNumber: 00e04c000001
> Apr 21 22:02:24 ideapad2 kernel: eric-tx CALL alloc_txring !!!!
> Apr 21 22:02:24 ideapad2 kernel: usb 1-4: USB disconnect, device number 17
> Apr 21 22:02:24 ideapad2 kernel: rtl8852cu 1-4:1.0: Runtime PM usage count underflow!
> 
> Apr 21 22:02:27 ideapad2 kernel: usb 2-4: new SuperSpeed USB device number 2 using xhci_hcd
> Apr 21 22:02:27 ideapad2 kernel: usb 2-4: New USB device found, idVendor=0bda, idProduct=c832, bcdDevice=
> 0.00
> Apr 21 22:02:28 ideapad2 kernel: usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> Apr 21 22:02:28 ideapad2 kernel: usb 2-4: Product: 802.11ax WLAN Adapter
> Apr 21 22:02:28 ideapad2 kernel: usb 2-4: Manufacturer: Realtek
> Apr 21 22:02:28 ideapad2 kernel: usb 2-4: SerialNumber: 00e04c000001
> Apr 21 22:02:28 ideapad2 kernel: eric-tx CALL alloc_txring !!!!
> Apr 21 22:02:28 ideapad2 kernel: rtl8852cu 2-4:1.0 wlp3s0f3u4: renamed from wlan0
> 





[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