mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
wifi: rtw89: Make hfc_param_ini in rtw89_chip_info an array
USB and SDIO will need different sets of values, so make hfc_param_ini in struct rtw89_chip_info an array. Also make param_ini a pointer instead of copying the struct. 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/1356f901-9ebf-451e-827f-50dd3efda534@gmail.com
This commit is contained in:
parent
ee47816f24
commit
82870ba25f
|
|
@ -130,6 +130,8 @@ enum rtw89_hci_type {
|
|||
RTW89_HCI_TYPE_PCIE,
|
||||
RTW89_HCI_TYPE_USB,
|
||||
RTW89_HCI_TYPE_SDIO,
|
||||
|
||||
RTW89_HCI_TYPE_NUM,
|
||||
};
|
||||
|
||||
enum rtw89_hci_dle_type {
|
||||
|
|
@ -4368,7 +4370,7 @@ struct rtw89_chip_info {
|
|||
u16 max_amsdu_limit;
|
||||
bool dis_2g_40m_ul_ofdma;
|
||||
u32 rsvd_ple_ofst;
|
||||
const struct rtw89_hfc_param_ini *hfc_param_ini;
|
||||
const struct rtw89_hfc_param_ini *hfc_param_ini[RTW89_HCI_TYPE_NUM];
|
||||
const struct rtw89_dle_mem *dle_mem[RTW89_HCI_DLE_TYPE_NUM];
|
||||
u8 wde_qempty_acq_grpnum;
|
||||
u8 wde_qempty_mgq_grpsel;
|
||||
|
|
|
|||
|
|
@ -875,31 +875,30 @@ EXPORT_SYMBOL(rtw89_mac_set_err_status);
|
|||
|
||||
static int hfc_reset_param(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
const struct rtw89_hfc_param_ini *param_ini, *param_inis;
|
||||
struct rtw89_hfc_param *param = &rtwdev->mac.hfc_param;
|
||||
struct rtw89_hfc_param_ini param_ini = {NULL};
|
||||
u8 qta_mode = rtwdev->mac.dle_info.qta_mode;
|
||||
|
||||
switch (rtwdev->hci.type) {
|
||||
case RTW89_HCI_TYPE_PCIE:
|
||||
param_ini = rtwdev->chip->hfc_param_ini[qta_mode];
|
||||
param->en = 0;
|
||||
break;
|
||||
default:
|
||||
param_inis = rtwdev->chip->hfc_param_ini[rtwdev->hci.type];
|
||||
if (!param_inis)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (param_ini.pub_cfg)
|
||||
param->pub_cfg = *param_ini.pub_cfg;
|
||||
param_ini = ¶m_inis[qta_mode];
|
||||
|
||||
if (param_ini.prec_cfg)
|
||||
param->prec_cfg = *param_ini.prec_cfg;
|
||||
param->en = 0;
|
||||
|
||||
if (param_ini.ch_cfg)
|
||||
param->ch_cfg = param_ini.ch_cfg;
|
||||
if (param_ini->pub_cfg)
|
||||
param->pub_cfg = *param_ini->pub_cfg;
|
||||
|
||||
if (param_ini->prec_cfg)
|
||||
param->prec_cfg = *param_ini->prec_cfg;
|
||||
|
||||
if (param_ini->ch_cfg)
|
||||
param->ch_cfg = param_ini->ch_cfg;
|
||||
|
||||
memset(¶m->ch_info, 0, sizeof(param->ch_info));
|
||||
memset(¶m->pub_info, 0, sizeof(param->pub_info));
|
||||
param->mode = param_ini.mode;
|
||||
param->mode = param_ini->mode;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2508,7 +2508,7 @@ 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,
|
||||
.hfc_param_ini = {rtw8851b_hfc_param_ini_pcie, NULL, NULL},
|
||||
.dle_mem = {rtw8851b_dle_mem_pcie, NULL, NULL, NULL},
|
||||
.wde_qempty_acq_grpnum = 4,
|
||||
.wde_qempty_mgq_grpsel = 4,
|
||||
|
|
|
|||
|
|
@ -2184,7 +2184,7 @@ const struct rtw89_chip_info rtw8852a_chip_info = {
|
|||
.max_amsdu_limit = 3500,
|
||||
.dis_2g_40m_ul_ofdma = true,
|
||||
.rsvd_ple_ofst = 0x6f800,
|
||||
.hfc_param_ini = rtw8852a_hfc_param_ini_pcie,
|
||||
.hfc_param_ini = {rtw8852a_hfc_param_ini_pcie, NULL, NULL},
|
||||
.dle_mem = {rtw8852a_dle_mem_pcie, NULL, NULL, NULL},
|
||||
.wde_qempty_acq_grpnum = 16,
|
||||
.wde_qempty_mgq_grpsel = 16,
|
||||
|
|
|
|||
|
|
@ -820,7 +820,7 @@ 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,
|
||||
.hfc_param_ini = {rtw8852b_hfc_param_ini_pcie, NULL, NULL},
|
||||
.dle_mem = {rtw8852b_dle_mem_pcie, NULL, NULL, NULL},
|
||||
.wde_qempty_acq_grpnum = 4,
|
||||
.wde_qempty_mgq_grpsel = 4,
|
||||
|
|
|
|||
|
|
@ -754,7 +754,7 @@ const struct rtw89_chip_info rtw8852bt_chip_info = {
|
|||
.max_amsdu_limit = 5000,
|
||||
.dis_2g_40m_ul_ofdma = true,
|
||||
.rsvd_ple_ofst = 0x6f800,
|
||||
.hfc_param_ini = rtw8852bt_hfc_param_ini_pcie,
|
||||
.hfc_param_ini = {rtw8852bt_hfc_param_ini_pcie, NULL, NULL},
|
||||
.dle_mem = {rtw8852bt_dle_mem_pcie, NULL, NULL, NULL},
|
||||
.wde_qempty_acq_grpnum = 4,
|
||||
.wde_qempty_mgq_grpsel = 4,
|
||||
|
|
|
|||
|
|
@ -3004,7 +3004,7 @@ const struct rtw89_chip_info rtw8852c_chip_info = {
|
|||
.max_amsdu_limit = 8000,
|
||||
.dis_2g_40m_ul_ofdma = false,
|
||||
.rsvd_ple_ofst = 0x6f800,
|
||||
.hfc_param_ini = rtw8852c_hfc_param_ini_pcie,
|
||||
.hfc_param_ini = {rtw8852c_hfc_param_ini_pcie, NULL, NULL},
|
||||
.dle_mem = {rtw8852c_dle_mem_pcie, NULL, NULL, NULL},
|
||||
.wde_qempty_acq_grpnum = 16,
|
||||
.wde_qempty_mgq_grpsel = 16,
|
||||
|
|
|
|||
|
|
@ -2859,7 +2859,7 @@ const struct rtw89_chip_info rtw8922a_chip_info = {
|
|||
.max_amsdu_limit = 8000,
|
||||
.dis_2g_40m_ul_ofdma = false,
|
||||
.rsvd_ple_ofst = 0x8f800,
|
||||
.hfc_param_ini = rtw8922a_hfc_param_ini_pcie,
|
||||
.hfc_param_ini = {rtw8922a_hfc_param_ini_pcie, NULL, NULL},
|
||||
.dle_mem = {rtw8922a_dle_mem_pcie, NULL, NULL, NULL},
|
||||
.wde_qempty_acq_grpnum = 4,
|
||||
.wde_qempty_mgq_grpsel = 4,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user