wifi: rtw89: add chip_info::chip_gen to determine chip generation
authorPing-Ke Shih <pkshih@realtek.com>
Fri, 28 Jul 2023 07:02:43 +0000 (15:02 +0800)
committerKalle Valo <kvalo@kernel.org>
Tue, 1 Aug 2023 14:44:34 +0000 (17:44 +0300)
The coming WiFi 7 chip is 8922AE which uses different hardware rate and
register naming rule. Adding a chip_info::chip_gen field can help to
do things by generations accordingly.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230728070252.66525-2-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.h
drivers/net/wireless/realtek/rtw89/rtw8851b.c
drivers/net/wireless/realtek/rtw89/rtw8852a.c
drivers/net/wireless/realtek/rtw89/rtw8852b.c
drivers/net/wireless/realtek/rtw89/rtw8852c.c

index d2c67db..d44f428 100644 (file)
@@ -109,6 +109,14 @@ enum rtw89_core_chip_id {
        RTL8852B,
        RTL8852C,
        RTL8851B,
+       RTL8922A,
+};
+
+enum rtw89_chip_gen {
+       RTW89_CHIP_AX,
+       RTW89_CHIP_BE,
+
+       RTW89_CHIP_GEN_NUM,
 };
 
 enum rtw89_cv {
@@ -3177,6 +3185,7 @@ struct rtw89_antdiv_info {
 
 struct rtw89_chip_info {
        enum rtw89_core_chip_id chip_id;
+       enum rtw89_chip_gen chip_gen;
        const struct rtw89_chip_ops *ops;
        const char *fw_basename;
        u8 fw_format_max;
index c3ffcb6..456b836 100644 (file)
@@ -2334,6 +2334,7 @@ static const struct wiphy_wowlan_support rtw_wowlan_stub_8851b = {
 
 const struct rtw89_chip_info rtw8851b_chip_info = {
        .chip_id                = RTL8851B,
+       .chip_gen               = RTW89_CHIP_AX,
        .ops                    = &rtw8851b_chip_ops,
        .fw_basename            = RTW8851B_FW_BASENAME,
        .fw_format_max          = RTW8851B_FW_FORMAT_MAX,
index 6257414..0fc5eb7 100644 (file)
@@ -2071,6 +2071,7 @@ static const struct rtw89_chip_ops rtw8852a_chip_ops = {
 
 const struct rtw89_chip_info rtw8852a_chip_info = {
        .chip_id                = RTL8852A,
+       .chip_gen               = RTW89_CHIP_AX,
        .ops                    = &rtw8852a_chip_ops,
        .fw_basename            = RTW8852A_FW_BASENAME,
        .fw_format_max          = RTW8852A_FW_FORMAT_MAX,
index 718f993..d76d74c 100644 (file)
@@ -2503,6 +2503,7 @@ static const struct wiphy_wowlan_support rtw_wowlan_stub_8852b = {
 
 const struct rtw89_chip_info rtw8852b_chip_info = {
        .chip_id                = RTL8852B,
+       .chip_gen               = RTW89_CHIP_AX,
        .ops                    = &rtw8852b_chip_ops,
        .fw_basename            = RTW8852B_FW_BASENAME,
        .fw_format_max          = RTW8852B_FW_FORMAT_MAX,
index 9c7c981..f269832 100644 (file)
@@ -2802,6 +2802,7 @@ static const struct rtw89_chip_ops rtw8852c_chip_ops = {
 
 const struct rtw89_chip_info rtw8852c_chip_info = {
        .chip_id                = RTL8852C,
+       .chip_gen               = RTW89_CHIP_AX,
        .ops                    = &rtw8852c_chip_ops,
        .fw_basename            = RTW8852C_FW_BASENAME,
        .fw_format_max          = RTW8852C_FW_FORMAT_MAX,