]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: rtw89: Add rtw8851b_hfc_param_ini_usb
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Mon, 30 Jun 2025 20:42:55 +0000 (23:42 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Fri, 4 Jul 2025 02:43:22 +0000 (10:43 +0800)
"hfc" means "hci fc" which is "Host Control Interface Flow Control".
These are some parameters needed for RTL8851BU.

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/a0dec631-de05-4302-9ef1-e730eb233f08@gmail.com
drivers/net/wireless/realtek/rtw89/rtw8851b.c

index 5cdc42ee59a39dd21db8a706d03bc9d04f66faed..ad41c8bf39fcc9fc57324d37d669998722fe0aab 100644 (file)
@@ -51,6 +51,48 @@ static const struct rtw89_hfc_param_ini rtw8851b_hfc_param_ini_pcie[] = {
        [RTW89_QTA_INVALID] = {NULL},
 };
 
+static const struct rtw89_hfc_ch_cfg rtw8851b_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 rtw8851b_hfc_pubcfg_usb = {
+       152, /* Group 0 */
+       0, /* Group 1 */
+       152, /* Public Max */
+       0 /* WP threshold */
+};
+
+static const struct rtw89_hfc_prec_cfg rtw8851b_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 rtw8851b_hfc_param_ini_usb[] = {
+       [RTW89_QTA_SCC] = {rtw8851b_hfc_chcfg_usb, &rtw8851b_hfc_pubcfg_usb,
+                          &rtw8851b_hfc_preccfg_usb, RTW89_HCIFC_STF},
+       [RTW89_QTA_DLFW] = {NULL, NULL,
+                          &rtw8851b_hfc_preccfg_usb, RTW89_HCIFC_STF},
+       [RTW89_QTA_INVALID] = {NULL},
+};
+
 static const struct rtw89_dle_mem rtw8851b_dle_mem_pcie[] = {
        [RTW89_QTA_SCC] = {RTW89_QTA_SCC, &rtw89_mac_size.wde_size6,
                           &rtw89_mac_size.ple_size6, &rtw89_mac_size.wde_qt6,
@@ -2534,7 +2576,9 @@ const struct rtw89_chip_info rtw8851b_chip_info = {
        .max_amsdu_limit        = 3500,
        .dis_2g_40m_ul_ofdma    = true,
        .rsvd_ple_ofst          = 0x2f800,
-       .hfc_param_ini          = {rtw8851b_hfc_param_ini_pcie, NULL, NULL},
+       .hfc_param_ini          = {rtw8851b_hfc_param_ini_pcie,
+                                  rtw8851b_hfc_param_ini_usb,
+                                  NULL},
        .dle_mem                = {rtw8851b_dle_mem_pcie,
                                   rtw8851b_dle_mem_usb2,
                                   rtw8851b_dle_mem_usb3,