]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtw89: coex: RTL8922A add Wi-Fi firmware support for v0.35.63.0
authorChing-Te Ku <ku920601@realtek.com>
Wed, 11 Jun 2025 03:55:15 +0000 (11:55 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Mon, 16 Jun 2025 05:49:58 +0000 (13:49 +0800)
There were some driver API offloaded to firmware, and to recognize the
feature add a version tag for it.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250611035523.36432-3-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/coex.c
drivers/net/wireless/realtek/rtw89/core.h

index 5ccf0cbaed2fa4d332dc7faf26ce67628f41a4fd..2b23febc6f2643d657b13aaa6fbcb215c2b02b5d 100644 (file)
@@ -138,7 +138,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 7,  .fcxbtscan = 7,  .fcxbtafh = 7, .fcxbtdevinfo = 7,
         .fwlrole = 7,   .frptmap = 3,    .fcxctrl = 7,  .fcxinit = 7,
         .fwevntrptl = 1, .fwc2hfunc = 2, .drvinfo_type = 1, .info_buf = 1800,
-        .max_role_num = 6,
+        .max_role_num = 6, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852BT, RTW89_FW_VER_CODE(0, 29, 90, 0),
         .fcxbtcrpt = 7, .fcxtdma = 7,    .fcxslots = 7, .fcxcysta = 7,
@@ -146,7 +146,15 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 7,  .fcxbtscan = 7,  .fcxbtafh = 7, .fcxbtdevinfo = 7,
         .fwlrole = 7,   .frptmap = 3,    .fcxctrl = 7,  .fcxinit = 7,
         .fwevntrptl = 1, .fwc2hfunc = 2, .drvinfo_type = 1, .info_buf = 1800,
-        .max_role_num = 6,
+        .max_role_num = 6, .fcxosi = 0,  .fcxmlo = 0,
+       },
+       {RTL8922A, RTW89_FW_VER_CODE(0, 35, 63, 0),
+        .fcxbtcrpt = 8, .fcxtdma = 7,    .fcxslots = 7, .fcxcysta = 7,
+        .fcxstep = 7,   .fcxnullsta = 7, .fcxmreg = 7,  .fcxgpiodbg = 7,
+        .fcxbtver = 7,  .fcxbtscan = 7,  .fcxbtafh = 7, .fcxbtdevinfo = 7,
+        .fwlrole = 8,   .frptmap = 3,    .fcxctrl = 7,  .fcxinit = 7,
+        .fwevntrptl = 1, .fwc2hfunc = 2, .drvinfo_type = 1, .info_buf = 1800,
+        .max_role_num = 6, .fcxosi = 1,  .fcxmlo = 1,
        },
        {RTL8922A, RTW89_FW_VER_CODE(0, 35, 8, 0),
         .fcxbtcrpt = 8, .fcxtdma = 7,    .fcxslots = 7, .fcxcysta = 7,
@@ -154,7 +162,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 7,  .fcxbtscan = 7,  .fcxbtafh = 7, .fcxbtdevinfo = 7,
         .fwlrole = 8,   .frptmap = 3,    .fcxctrl = 7,  .fcxinit = 7,
         .fwevntrptl = 1, .fwc2hfunc = 1, .drvinfo_type = 1, .info_buf = 1800,
-        .max_role_num = 6,
+        .max_role_num = 6, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8851B, RTW89_FW_VER_CODE(0, 29, 29, 0),
         .fcxbtcrpt = 105, .fcxtdma = 3,    .fcxslots = 1, .fcxcysta = 5,
@@ -162,7 +170,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 2,  .fcxbtafh = 2, .fcxbtdevinfo = 1,
         .fwlrole = 2,   .frptmap = 3,    .fcxctrl = 1,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 1, .drvinfo_type = 0, .info_buf = 1800,
-        .max_role_num = 6,
+        .max_role_num = 6, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852C, RTW89_FW_VER_CODE(0, 27, 57, 0),
         .fcxbtcrpt = 4, .fcxtdma = 3,    .fcxslots = 1, .fcxcysta = 3,
@@ -170,7 +178,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 1,  .fcxbtafh = 2, .fcxbtdevinfo = 1,
         .fwlrole = 1,   .frptmap = 3,    .fcxctrl = 1,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 1, .drvinfo_type = 0, .info_buf = 1280,
-        .max_role_num = 5,
+        .max_role_num = 5, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852C, RTW89_FW_VER_CODE(0, 27, 42, 0),
         .fcxbtcrpt = 4, .fcxtdma = 3,    .fcxslots = 1, .fcxcysta = 3,
@@ -178,7 +186,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 1,  .fcxbtafh = 2, .fcxbtdevinfo = 1,
         .fwlrole = 1,   .frptmap = 2,    .fcxctrl = 1,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 1, .drvinfo_type = 0, .info_buf = 1280,
-        .max_role_num = 5,
+        .max_role_num = 5, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852C, RTW89_FW_VER_CODE(0, 27, 0, 0),
         .fcxbtcrpt = 4, .fcxtdma = 3,    .fcxslots = 1, .fcxcysta = 3,
@@ -186,7 +194,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 1,  .fcxbtafh = 1, .fcxbtdevinfo = 1,
         .fwlrole = 1,   .frptmap = 2,    .fcxctrl = 1,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 1, .drvinfo_type = 0, .info_buf = 1280,
-        .max_role_num = 5,
+        .max_role_num = 5, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852B, RTW89_FW_VER_CODE(0, 29, 29, 0),
         .fcxbtcrpt = 105, .fcxtdma = 3,  .fcxslots = 1, .fcxcysta = 5,
@@ -194,7 +202,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 2,  .fcxbtafh = 2, .fcxbtdevinfo = 1,
         .fwlrole = 2,   .frptmap = 3,    .fcxctrl = 1,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 1, .drvinfo_type = 0, .info_buf = 1800,
-        .max_role_num = 6,
+        .max_role_num = 6, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852B, RTW89_FW_VER_CODE(0, 29, 14, 0),
         .fcxbtcrpt = 5, .fcxtdma = 3,    .fcxslots = 1, .fcxcysta = 4,
@@ -202,7 +210,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 1,  .fcxbtafh = 2, .fcxbtdevinfo = 1,
         .fwlrole = 1,   .frptmap = 3,    .fcxctrl = 1,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 1, .drvinfo_type = 0, .info_buf = 1800,
-        .max_role_num = 6,
+        .max_role_num = 6, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852B, RTW89_FW_VER_CODE(0, 27, 0, 0),
         .fcxbtcrpt = 4, .fcxtdma = 3,    .fcxslots = 1, .fcxcysta = 3,
@@ -210,7 +218,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 1,  .fcxbtafh = 1, .fcxbtdevinfo = 1,
         .fwlrole = 1,   .frptmap = 1,    .fcxctrl = 1,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 1, .drvinfo_type = 0, .info_buf = 1280,
-        .max_role_num = 5,
+        .max_role_num = 5, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852A, RTW89_FW_VER_CODE(0, 13, 37, 0),
         .fcxbtcrpt = 4, .fcxtdma = 3,    .fcxslots = 1, .fcxcysta = 3,
@@ -218,7 +226,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 1,  .fcxbtafh = 2, .fcxbtdevinfo = 1,
         .fwlrole = 1,   .frptmap = 3,    .fcxctrl = 1,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 0, .drvinfo_type = 0, .info_buf = 1280,
-        .max_role_num = 5,
+        .max_role_num = 5, .fcxosi = 0,  .fcxmlo = 0,
        },
        {RTL8852A, RTW89_FW_VER_CODE(0, 13, 0, 0),
         .fcxbtcrpt = 1, .fcxtdma = 1,    .fcxslots = 1, .fcxcysta = 2,
@@ -226,7 +234,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 1,  .fcxbtafh = 1, .fcxbtdevinfo = 1,
         .fwlrole = 0,   .frptmap = 0,    .fcxctrl = 0,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 0, .drvinfo_type = 0, .info_buf = 1024,
-        .max_role_num = 5,
+        .max_role_num = 5, .fcxosi = 0,  .fcxmlo = 0,
        },
 
        /* keep it to be the last as default entry */
@@ -236,7 +244,7 @@ static const struct rtw89_btc_ver rtw89_btc_ver_defs[] = {
         .fcxbtver = 1,  .fcxbtscan = 1,  .fcxbtafh = 1, .fcxbtdevinfo = 1,
         .fwlrole = 0,   .frptmap = 0,    .fcxctrl = 0,  .fcxinit = 0,
         .fwevntrptl = 0, .fwc2hfunc = 1, .drvinfo_type = 0, .info_buf = 1024,
-        .max_role_num = 5,
+        .max_role_num = 5, .fcxosi = 0,  .fcxmlo = 0,
        },
 };
 
index 342f6b379f86a53bb42ec200e939df89b79eddb0..87c60ce84aad5dab5114ac7e340381cfd09186a3 100644 (file)
@@ -3167,6 +3167,8 @@ struct rtw89_btc_ver {
        u8 drvinfo_type;
        u16 info_buf;
        u8 max_role_num;
+       u8 fcxosi;
+       u8 fcxmlo;
 };
 
 #define RTW89_BTC_POLICY_MAXLEN 512