wifi: rtw89: 8852b: add HFC quota arrays
authorPing-Ke Shih <pkshih@realtek.com>
Wed, 5 Oct 2022 08:32:10 +0000 (16:32 +0800)
committerKalle Valo <kvalo@kernel.org>
Tue, 11 Oct 2022 16:45:19 +0000 (19:45 +0300)
HFC is short for HCI flow control. These arrays are used to set quota
according to operating modes, which are SCC or download firmware.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20221005083212.45683-5-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/rtw8852b.c

index e9bcea3..8424038 100644 (file)
 #include "rtw8852b_table.h"
 #include "txrx.h"
 
+static const struct rtw89_hfc_ch_cfg rtw8852b_hfc_chcfg_pcie[] = {
+       {5, 343, grp_0}, /* ACH 0 */
+       {5, 343, grp_0}, /* ACH 1 */
+       {5, 343, grp_0}, /* ACH 2 */
+       {5, 343, 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 */
+       {4, 344, grp_0}, /* B0MGQ */
+       {4, 344, grp_0}, /* B0HIQ */
+       {0, 0, grp_0}, /* B1MGQ */
+       {0, 0, grp_0}, /* B1HIQ */
+       {40, 0, 0} /* FWCMDQ */
+};
+
+static const struct rtw89_hfc_pub_cfg rtw8852b_hfc_pubcfg_pcie = {
+       448, /* Group 0 */
+       0, /* Group 1 */
+       448, /* Public Max */
+       0 /* WP threshold */
+};
+
+static const struct rtw89_hfc_param_ini rtw8852b_hfc_param_ini_pcie[] = {
+       [RTW89_QTA_SCC] = {rtw8852b_hfc_chcfg_pcie, &rtw8852b_hfc_pubcfg_pcie,
+                          &rtw89_mac_size.hfc_preccfg_pcie, RTW89_HCIFC_POH},
+       [RTW89_QTA_DLFW] = {NULL, NULL, &rtw89_mac_size.hfc_preccfg_pcie,
+                           RTW89_HCIFC_POH},
+       [RTW89_QTA_INVALID] = {NULL},
+};
+
 static const struct rtw89_dle_mem rtw8852b_dle_mem_pcie[] = {
        [RTW89_QTA_SCC] = {RTW89_QTA_SCC, &rtw89_mac_size.wde_size6,
                           &rtw89_mac_size.ple_size6, &rtw89_mac_size.wde_qt6,
@@ -561,6 +592,7 @@ const struct rtw89_chip_info rtw8852b_chip_info = {
        .ops                    = &rtw8852b_chip_ops,
        .fifo_size              = 196608,
        .dle_scc_rsvd_size      = 98304,
+       .hfc_param_ini          = rtw8852b_hfc_param_ini_pcie,
        .dle_mem                = rtw8852b_dle_mem_pcie,
        .sec_ctrl_efuse_size    = 4,
        .physical_efuse_size    = 1216,