]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Sat, 5 Jul 2025 19:38:35 +0000 (22:38 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Sun, 6 Jul 2025 05:11:59 +0000 (13:11 +0800)
"hfc" means "hci fc" which is "Host Control Interface Flow Control".
These are some parameters needed for RTL8852BU.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/40dd1597-27d8-4316-ac3b-4bf7ff9f3e2f@gmail.com
drivers/net/wireless/realtek/rtw89/rtw8852b.c

index 50eed21371a5879435298b6ee1492eda1d6e89cd..33ab71d84ffc2093cd48585ef83d9b505ae75b10 100644 (file)
@@ -49,6 +49,48 @@ static const struct rtw89_hfc_param_ini rtw8852b_hfc_param_ini_pcie[] = {
        [RTW89_QTA_INVALID] = {NULL},
 };
 
+static const struct rtw89_hfc_ch_cfg rtw8852b_hfc_chcfg_usb[] = {
+       {18, 152, grp_0}, /* ACH 0 */
+       {18, 152, grp_0}, /* ACH 1 */
+       {18, 152, grp_0}, /* ACH 2 */
+       {18, 152, grp_0}, /* ACH 3 */
+       {0, 0, grp_0}, /* ACH 4 */
+       {0, 0, grp_0}, /* ACH 5 */
+       {0, 0, grp_0}, /* ACH 6 */
+       {0, 0, grp_0}, /* ACH 7 */
+       {18, 152, grp_0}, /* B0MGQ */
+       {18, 152, grp_0}, /* B0HIQ */
+       {0, 0, grp_0}, /* B1MGQ */
+       {0, 0, grp_0}, /* B1HIQ */
+       {0, 0, 0} /* FWCMDQ */
+};
+
+static const struct rtw89_hfc_pub_cfg rtw8852b_hfc_pubcfg_usb = {
+       152, /* Group 0 */
+       0, /* Group 1 */
+       152, /* Public Max */
+       0 /* WP threshold */
+};
+
+static const struct rtw89_hfc_prec_cfg rtw8852b_hfc_preccfg_usb = {
+       9, /* CH 0-11 pre-cost */
+       32, /* H2C pre-cost */
+       64, /* WP CH 0-7 pre-cost */
+       24, /* WP CH 8-11 pre-cost */
+       1, /* CH 0-11 full condition */
+       1, /* H2C full condition */
+       1, /* WP CH 0-7 full condition */
+       1, /* WP CH 8-11 full condition */
+};
+
+static const struct rtw89_hfc_param_ini rtw8852b_hfc_param_ini_usb[] = {
+       [RTW89_QTA_SCC] = {rtw8852b_hfc_chcfg_usb, &rtw8852b_hfc_pubcfg_usb,
+                          &rtw8852b_hfc_preccfg_usb, RTW89_HCIFC_STF},
+       [RTW89_QTA_DLFW] = {NULL, NULL,
+                           &rtw8852b_hfc_preccfg_usb, RTW89_HCIFC_STF},
+       [RTW89_QTA_INVALID] = {NULL},
+};
+
 static const struct rtw89_dle_mem rtw8852b_dle_mem_pcie[] = {
        [RTW89_QTA_SCC] = {RTW89_QTA_SCC, &rtw89_mac_size.wde_size7,
                           &rtw89_mac_size.ple_size6, &rtw89_mac_size.wde_qt7,
@@ -846,7 +888,9 @@ const struct rtw89_chip_info rtw8852b_chip_info = {
        .max_amsdu_limit        = 5000,
        .dis_2g_40m_ul_ofdma    = true,
        .rsvd_ple_ofst          = 0x2f800,
-       .hfc_param_ini          = {rtw8852b_hfc_param_ini_pcie, NULL, NULL},
+       .hfc_param_ini          = {rtw8852b_hfc_param_ini_pcie,
+                                  rtw8852b_hfc_param_ini_usb,
+                                  NULL},
        .dle_mem                = {rtw8852b_dle_mem_pcie,
                                   rtw8852b_dle_mem_usb3,
                                   rtw8852b_dle_mem_usb3,