1 From 8f392a72419c4b10e84e635e51bee24670975364 Mon Sep 17 00:00:00 2001
2 From: Ping-Ke Shih <pkshih@realtek.com>
3 Date: Fri, 19 Feb 2021 13:26:07 +0800
4 Subject: [PATCH] rtlwifi: 8821ae: upgrade PHY and RF parameters
6 New parameters with new format and its parser are updated by the
7 commit 84d26fda52e2 ("rtlwifi: Update 8821ae new phy parameters and its parser."),
8 but some parameters are missing. Use this commit to update to the novel
9 parameters that use new format.
11 Fixes: 84d26fda52e2 ("rtlwifi: Update 8821ae new phy parameters and its parser")
12 Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
13 Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
15 .../realtek/rtlwifi/rtl8821ae/table.c | 500 +++++++++++++-----
16 1 file changed, 370 insertions(+), 130 deletions(-)
18 --- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c
19 +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c
20 @@ -249,7 +249,7 @@ u32 RTL8821AE_PHY_REG_ARRAY[] = {
29 @@ -324,10 +324,10 @@ u32 RTL8821AE_PHY_REG_ARRAY[] = {
42 @@ -1320,7 +1320,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
46 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
48 + 0xA0000000, 0x00000000,
50 + 0xB0000000, 0x00000000,
54 @@ -1409,36 +1413,32 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
59 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
63 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
70 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
74 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
77 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
81 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
84 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
87 + 0xA0000000, 0x00000000,
101 - 0xFF0F0204, 0xCDEF,
102 + 0xB0000000, 0x00000000,
103 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
107 @@ -1448,7 +1448,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
111 - 0xFF0F0404, 0xCDEF,
112 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
116 @@ -1458,7 +1458,17 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
120 - 0xFF0F02C0, 0xCDEF,
121 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
131 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
135 @@ -1468,7 +1478,17 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
139 - 0xCDCDCDCD, 0xCDCD,
140 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
150 + 0xA0000000, 0x00000000,
154 @@ -1478,38 +1498,36 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
158 - 0xFF0F0104, 0xDEAD,
159 - 0xFF0F0200, 0xABCD,
160 + 0xB0000000, 0x00000000,
161 + 0x80000210, 0x00000000, 0x40000000, 0x00000000,
163 - 0xFF0F02C0, 0xCDEF,
164 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
166 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
168 - 0xCDCDCDCD, 0xCDCD,
169 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
171 + 0xA0000000, 0x00000000,
173 - 0xFF0F0200, 0xDEAD,
174 - 0xFF0F0104, 0xABCD,
176 - 0xFF0F0204, 0xCDEF,
177 + 0xB0000000, 0x00000000,
178 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
180 - 0xFF0F0404, 0xCDEF,
181 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
183 - 0xFF0F0200, 0xCDEF,
184 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
186 - 0xFF0F02C0, 0xCDEF,
187 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
189 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
191 - 0xCDCDCDCD, 0xCDCD,
192 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
194 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
196 + 0xA0000000, 0x00000000,
198 - 0xFF0F0104, 0xDEAD,
199 - 0xFF0F0104, 0xABCD,
209 - 0xFF0F0204, 0xCDEF,
210 + 0xB0000000, 0x00000000,
211 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
215 @@ -1519,7 +1537,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
219 - 0xFF0F0404, 0xCDEF,
220 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
224 @@ -1529,7 +1547,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
228 - 0xFF0F02C0, 0xCDEF,
229 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
233 @@ -1539,7 +1557,27 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
237 - 0xCDCDCDCD, 0xCDCD,
238 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
248 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
258 + 0xA0000000, 0x00000000,
262 @@ -1549,27 +1587,24 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
266 - 0xFF0F0104, 0xDEAD,
267 - 0xFF0F02C0, 0xABCD,
268 + 0xB0000000, 0x00000000,
269 + 0x8000020c, 0x00000000, 0x40000000, 0x00000000,
274 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
279 - 0xCDCDCDCD, 0xCDCD,
280 + 0xA0000000, 0x00000000,
285 - 0xFF0F02C0, 0xDEAD,
286 - 0xFF0F0104, 0xABCD,
294 - 0xFF0F0204, 0xCDEF,
295 + 0xB0000000, 0x00000000,
296 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
300 @@ -1577,7 +1612,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
304 - 0xFF0F0404, 0xCDEF,
305 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
309 @@ -1585,7 +1620,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
313 - 0xFF0F02C0, 0xCDEF,
314 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
318 @@ -1593,7 +1628,23 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
322 - 0xCDCDCDCD, 0xCDCD,
323 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
331 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
339 + 0xA0000000, 0x00000000,
343 @@ -1601,11 +1652,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
347 - 0xFF0F0104, 0xDEAD,
348 + 0xB0000000, 0x00000000,
352 - 0xFF0F0104, 0xABCD,
353 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
357 @@ -1615,7 +1666,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
361 - 0xFF0F0204, 0xCDEF,
362 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
366 @@ -1625,7 +1676,37 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
370 - 0xFF0F0404, 0xCDEF,
371 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
381 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
391 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
401 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
405 @@ -1635,7 +1716,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
409 - 0xCDCDCDCD, 0xCDCD,
410 + 0xA0000000, 0x00000000,
414 @@ -1645,11 +1726,11 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
418 - 0xFF0F0104, 0xDEAD,
419 + 0xB0000000, 0x00000000,
423 - 0xFF0F0104, 0xABCD,
424 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
428 @@ -1662,7 +1743,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
432 - 0xFF0F0204, 0xCDEF,
433 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
437 @@ -1675,7 +1756,46 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
441 - 0xFF0F0404, 0xCDEF,
442 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
455 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
468 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
481 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
485 @@ -1688,7 +1808,7 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
489 - 0xCDCDCDCD, 0xCDCD,
490 + 0xA0000000, 0x00000000,
494 @@ -1701,103 +1821,162 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
498 - 0xFF0F0104, 0xDEAD,
499 + 0xB0000000, 0x00000000,
502 - 0xFF0F0104, 0xABCD,
503 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
506 - 0xFF0F0204, 0xCDEF,
507 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
510 - 0xFF0F0404, 0xCDEF,
511 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
514 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
517 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
520 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
523 - 0xCDCDCDCD, 0xCDCD,
524 + 0xA0000000, 0x00000000,
527 - 0xFF0F0104, 0xDEAD,
528 - 0xFF0F0104, 0xABCD,
529 + 0xB0000000, 0x00000000,
530 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
532 - 0xFF0F0204, 0xCDEF,
533 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
535 - 0xFF0F0404, 0xCDEF,
536 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
538 - 0xFF0F02C0, 0xCDEF,
539 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
541 - 0xCDCDCDCD, 0xCDCD,
542 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
544 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
546 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
548 + 0xA0000000, 0x00000000,
550 - 0xFF0F0104, 0xDEAD,
551 + 0xB0000000, 0x00000000,
555 - 0xFF0F0104, 0xABCD,
556 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
558 - 0xFF0F0204, 0xCDEF,
559 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
561 - 0xFF0F0404, 0xCDEF,
562 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
564 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
566 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
568 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
570 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
572 - 0xCDCDCDCD, 0xCDCD,
573 + 0xA0000000, 0x00000000,
575 - 0xFF0F0104, 0xDEAD,
576 + 0xB0000000, 0x00000000,
580 - 0xFF0F0104, 0xABCD,
582 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
585 - 0xFF0F0204, 0xCDEF,
586 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
589 - 0xFF0F0404, 0xCDEF,
590 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
593 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
596 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
599 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
602 - 0xCDCDCDCD, 0xCDCD,
603 + 0xA0000000, 0x00000000,
606 - 0xFF0F0104, 0xDEAD,
607 - 0xFF0F0104, 0xABCD,
608 + 0xB0000000, 0x00000000,
609 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
612 - 0xFF0F0204, 0xCDEF,
613 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
616 - 0xFF0F0404, 0xCDEF,
617 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
620 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
623 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
626 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
629 - 0xCDCDCDCD, 0xCDCD,
630 + 0xA0000000, 0x00000000,
633 - 0xFF0F0104, 0xDEAD,
634 - 0xFF0F0104, 0xABCD,
635 + 0xB0000000, 0x00000000,
636 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
638 - 0xFF0F0204, 0xCDEF,
639 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
641 - 0xFF0F0404, 0xCDEF,
642 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
644 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
646 - 0xFF0F0200, 0xCDEF,
648 - 0xFF0F02C0, 0xCDEF,
649 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
651 - 0xCDCDCDCD, 0xCDCD,
652 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
654 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
656 + 0xA0000000, 0x00000000,
658 - 0xFF0F0104, 0xDEAD,
659 - 0xFF0F0104, 0xABCD,
660 + 0xB0000000, 0x00000000,
661 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
663 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
665 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
667 - 0xFF0F0204, 0xCDEF,
668 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
670 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
672 - 0xFF0F0404, 0xCDEF,
673 + 0x90000410, 0x00000000, 0x40000000, 0x00000000,
675 - 0xCDCDCDCD, 0xCDCD,
676 + 0xA0000000, 0x00000000,
678 - 0xFF0F0104, 0xDEAD,
679 - 0xFF0F0200, 0xABCD,
680 + 0xB0000000, 0x00000000,
681 + 0x80000111, 0x00000000, 0x40000000, 0x00000000,
683 + 0x90000110, 0x00000000, 0x40000000, 0x00000000,
685 + 0x90000210, 0x00000000, 0x40000000, 0x00000000,
687 - 0xFF0F02C0, 0xCDEF,
688 + 0x9000020c, 0x00000000, 0x40000000, 0x00000000,
690 - 0xCDCDCDCD, 0xCDCD,
691 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
693 + 0x90000200, 0x00000000, 0x40000000, 0x00000000,
695 + 0xA0000000, 0x00000000,
697 - 0xFF0F0200, 0xDEAD,
698 + 0xB0000000, 0x00000000,
702 @@ -1895,9 +2074,10 @@ u32 RTL8821AE_RADIOA_ARRAY[] = {
715 @@ -2017,6 +2197,7 @@ u32 RTL8812AE_MAC_REG_ARRAY[] = {
716 u32 RTL8812AE_MAC_1T_ARRAYLEN = ARRAY_SIZE(RTL8812AE_MAC_REG_ARRAY);
718 u32 RTL8821AE_MAC_REG_ARRAY[] = {
723 @@ -2485,7 +2666,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
732 @@ -2519,7 +2700,66 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
736 - 0xFF0F02C0, 0xABCD,
737 + 0x8000020c, 0x00000000, 0x40000000, 0x00000000,
796 + 0x9000040c, 0x00000000, 0x40000000, 0x00000000,
800 @@ -2578,7 +2818,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
804 - 0xCDCDCDCD, 0xCDCD,
805 + 0xA0000000, 0x00000000,
809 @@ -2637,7 +2877,7 @@ u32 RTL8821AE_AGC_TAB_ARRAY[] = {
813 - 0xFF0F02C0, 0xDEAD,
814 + 0xB0000000, 0x00000000,