mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
Sunxi 5.18 (#3908)
* sunxi-5.18: add new megous patches * switch to v5.18.5: exclude a previously applied patch * fix: tools/mk_format_patch: numbered=false by default * sunxi-5.18: rebasing and extraction using the mk_format_patch script
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
From 915d54d4cf209b0908edb71f084655818542d08c Mon Sep 17 00:00:00 2001
|
||||
From 1fc7e47abf56387841d2e569fe4721d742e328d1 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sat, 3 Apr 2021 20:53:26 -0500
|
||||
Subject: [PATCH 274/515] ARM: dts: sun8i: a83t: Add MBUS node
|
||||
Subject: [PATCH 273/534] ARM: dts: sun8i: a83t: Add MBUS node
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
---
|
||||
@@ -9,10 +9,10 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
index 82fdb04122ca..de80148eca4a 100644
|
||||
index e4eb2120e..f0711d68b 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
@@ -1041,6 +1041,21 @@ mdio: mdio {
|
||||
@@ -1070,6 +1070,21 @@ mdio: mdio {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 8ae70dbd44ce89c8f49340d4dc49e1dbe8d01ecd Mon Sep 17 00:00:00 2001
|
||||
From 740353f1594f41b815fdc9c4e6e50165c294068c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 9 Sep 2019 06:02:10 +0200
|
||||
Subject: [PATCH 024/515] ARM: dts: sun8i-a83t: Add cedrus video codec support
|
||||
Subject: [PATCH 029/534] ARM: dts: sun8i-a83t: Add cedrus video codec support
|
||||
to A83T [untested]
|
||||
|
||||
Not tested at all.
|
||||
@@ -12,10 +12,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
index 82fdb04122ca..79e8690d7e3f 100644
|
||||
index c437254a1..1f75e5f55 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
@@ -441,6 +441,16 @@ syscon: syscon@1c00000 {
|
||||
@@ -405,6 +405,16 @@ syscon: syscon@1c00000 {
|
||||
reg = <0x01c00000 0x1000>;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 2a698019ab857bdaf5fd5901034410cb1bf1894c Mon Sep 17 00:00:00 2001
|
||||
From e2eb9c70cb1f9b21d707eb9471ce2601f2c0d750 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sat, 1 Feb 2020 23:41:47 +0100
|
||||
Subject: [PATCH 142/515] ARM: dts: sun8i-a83t: Set fifo-size for uarts
|
||||
Subject: [PATCH 148/534] ARM: dts: sun8i-a83t: Set fifo-size for uarts
|
||||
|
||||
Boot time optimization.
|
||||
|
||||
@@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
index 82fdb04122ca..2035839513e0 100644
|
||||
index 999d8edd2..6f59546af 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
@@ -933,6 +933,7 @@ uart0: serial@1c28000 {
|
||||
@@ -912,6 +912,7 @@ uart0: serial@1c28000 {
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@@ -22,7 +22,7 @@ index 82fdb04122ca..2035839513e0 100644
|
||||
clocks = <&ccu CLK_BUS_UART0>;
|
||||
resets = <&ccu RST_BUS_UART0>;
|
||||
status = "disabled";
|
||||
@@ -944,6 +945,7 @@ uart1: serial@1c28400 {
|
||||
@@ -923,6 +924,7 @@ uart1: serial@1c28400 {
|
||||
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@@ -30,7 +30,7 @@ index 82fdb04122ca..2035839513e0 100644
|
||||
clocks = <&ccu CLK_BUS_UART1>;
|
||||
resets = <&ccu RST_BUS_UART1>;
|
||||
status = "disabled";
|
||||
@@ -955,6 +957,7 @@ uart2: serial@1c28800 {
|
||||
@@ -934,6 +936,7 @@ uart2: serial@1c28800 {
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@@ -38,7 +38,7 @@ index 82fdb04122ca..2035839513e0 100644
|
||||
clocks = <&ccu CLK_BUS_UART2>;
|
||||
resets = <&ccu RST_BUS_UART2>;
|
||||
status = "disabled";
|
||||
@@ -966,6 +969,7 @@ uart3: serial@1c28c00 {
|
||||
@@ -945,6 +948,7 @@ uart3: serial@1c28c00 {
|
||||
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
@@ -46,7 +46,7 @@ index 82fdb04122ca..2035839513e0 100644
|
||||
clocks = <&ccu CLK_BUS_UART3>;
|
||||
resets = <&ccu RST_BUS_UART3>;
|
||||
status = "disabled";
|
||||
@@ -977,6 +981,7 @@ uart4: serial@1c29000 {
|
||||
@@ -956,6 +960,7 @@ uart4: serial@1c29000 {
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 11ac10549bd91e4060c9f79b86077e563fc9bd06 Mon Sep 17 00:00:00 2001
|
||||
From ce22cfe84ef174794a957bed4d349a50873d26a2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Tue, 23 Jun 2020 19:19:46 +0200
|
||||
Subject: [PATCH 164/515] ARM: dts: sun8i-a83t-tbs-a711: Give Linux more
|
||||
Subject: [PATCH 168/534] ARM: dts: sun8i-a83t-tbs-a711: Give Linux more
|
||||
privileges over SCPI
|
||||
|
||||
This is needed since on A83T there's no PSCI/ATF implementation.
|
||||
@@ -12,10 +12,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
index 488dc41e5af0..533d8e60f5eb 100644
|
||||
index 7d0bd243b..682fe7005 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
@@ -308,7 +308,7 @@ opp-1200000000 {
|
||||
@@ -272,7 +272,7 @@ opp-1800000000 {
|
||||
|
||||
scpi_protocol: scpi {
|
||||
compatible = "arm,scpi";
|
||||
@@ -24,7 +24,7 @@ index 488dc41e5af0..533d8e60f5eb 100644
|
||||
mbox-names = "tx", "rx";
|
||||
shmem = <&scpi_sram>;
|
||||
};
|
||||
@@ -446,6 +446,9 @@ syscon: syscon@1c00000 {
|
||||
@@ -410,6 +410,9 @@ syscon: syscon@1c00000 {
|
||||
compatible = "allwinner,sun8i-a83t-system-controller",
|
||||
"syscon";
|
||||
reg = <0x01c00000 0x1000>;
|
||||
@@ -34,7 +34,7 @@ index 488dc41e5af0..533d8e60f5eb 100644
|
||||
|
||||
sram_a2: sram@40000 {
|
||||
compatible = "mmio-sram";
|
||||
@@ -456,7 +459,7 @@ sram_a2: sram@40000 {
|
||||
@@ -420,7 +423,7 @@ sram_a2: sram@40000 {
|
||||
|
||||
scpi_sram: scp-shmem@13c00 {
|
||||
compatible = "arm,scp-shmem";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 785098d037b7b03eba77518f7764f8282c7b5d43 Mon Sep 17 00:00:00 2001
|
||||
From 1484397adbb1e9842f5e94f3614090ef736c3e3d Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Sun, 9 May 2021 11:06:37 +0200
|
||||
Subject: [PATCH 237/515] ARM: dts: sun8i: h3: Enable hdmi sound card on boards
|
||||
Subject: [PATCH 237/534] ARM: dts: sun8i: h3: Enable hdmi sound card on boards
|
||||
with hdmi
|
||||
|
||||
Each board that has HDMI connector can also transmit audio through it.
|
||||
@@ -22,7 +22,7 @@ Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
10 files changed, 80 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts b/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
|
||||
index cd9f655e4f92..eae1187b8266 100644
|
||||
index cd9f655e4..eae1187b8 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
|
||||
@@ -159,6 +159,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -48,7 +48,7 @@ index cd9f655e4f92..eae1187b8266 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spdif_tx_pin>;
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-emlid-neutis-n5h3-devboard.dts b/arch/arm/boot/dts/sun8i-h3-emlid-neutis-n5h3-devboard.dts
|
||||
index 02fbe00cde97..61d6529dcc70 100644
|
||||
index 02fbe00cd..61d6529dc 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-emlid-neutis-n5h3-devboard.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-emlid-neutis-n5h3-devboard.dts
|
||||
@@ -70,3 +70,11 @@ hdmi_out_con: endpoint {
|
||||
@@ -64,7 +64,7 @@ index 02fbe00cde97..61d6529dcc70 100644
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
|
||||
index 4ba533b0340f..e94ffe3c1c69 100644
|
||||
index 4ba533b03..e94ffe3c1 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
|
||||
@@ -118,6 +118,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -90,7 +90,7 @@ index 4ba533b0340f..e94ffe3c1c69 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>;
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
|
||||
index 69243dcb30a6..9393779f33b6 100644
|
||||
index 69243dcb3..9393779f3 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
|
||||
@@ -91,6 +91,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -113,7 +113,7 @@ index 69243dcb30a6..9393779f33b6 100644
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
|
||||
index 9daffd90c12f..858ce46826e7 100644
|
||||
index 9daffd90c..858ce4682 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
|
||||
@@ -145,6 +145,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -139,7 +139,7 @@ index 9daffd90c12f..858ce46826e7 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
|
||||
index 6f9c97add54e..420aa5afd304 100644
|
||||
index 6f9c97add..420aa5afd 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
|
||||
@@ -120,6 +120,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -165,7 +165,7 @@ index 6f9c97add54e..420aa5afd304 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
index 4759ba3f2986..097f784bce0e 100644
|
||||
index 4759ba3f2..097f784bc 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
@@ -146,6 +146,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -191,7 +191,7 @@ index 4759ba3f2986..097f784bce0e 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
|
||||
index 90f75fa85e68..78aa09736a61 100644
|
||||
index ff38d37ca..65231259a 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
|
||||
@@ -147,6 +147,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -205,7 +205,7 @@ index 90f75fa85e68..78aa09736a61 100644
|
||||
&ir {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&r_ir_rx_pin>;
|
||||
@@ -205,6 +209,10 @@ ®_usb0_vbus {
|
||||
@@ -206,6 +210,10 @@ ®_usb0_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -217,7 +217,7 @@ index 90f75fa85e68..78aa09736a61 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-zero-plus2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-zero-plus2.dts
|
||||
index 561ea1d2f861..70202baa54b9 100644
|
||||
index 561ea1d2f..70202baa5 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-zero-plus2.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-zero-plus2.dts
|
||||
@@ -117,6 +117,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -243,7 +243,7 @@ index 561ea1d2f861..70202baa54b9 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-rervision-dvk.dts b/arch/arm/boot/dts/sun8i-h3-rervision-dvk.dts
|
||||
index 4738f3a9efe4..ee645912ee39 100644
|
||||
index 4738f3a9e..ee645912e 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-rervision-dvk.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-rervision-dvk.dts
|
||||
@@ -69,6 +69,10 @@ hdmi_out_con: endpoint {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From fd2ed44e4f7b0b874ceb59005ee360ee2810b4a5 Mon Sep 17 00:00:00 2001
|
||||
From dbbb21cf1475319e244355fa52ce978b002691fa Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 2 Apr 2022 02:24:26 +0200
|
||||
Subject: [PATCH 273/515] ARM: dts: sun8i-h3-orange-pi-one: Enable all gpio
|
||||
Subject: [PATCH 272/534] ARM: dts: sun8i-h3-orange-pi-one: Enable all gpio
|
||||
header UARTs
|
||||
|
||||
---
|
||||
@@ -9,7 +9,7 @@ Subject: [PATCH 273/515] ARM: dts: sun8i-h3-orange-pi-one: Enable all gpio
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
index 147b574d9887..50f643c91aba 100644
|
||||
index 96d2d5498..50479e716 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
@@ -54,6 +54,9 @@ / {
|
||||
@@ -22,7 +22,7 @@ index 147b574d9887..50f643c91aba 100644
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -175,19 +178,19 @@ &uart0 {
|
||||
@@ -183,19 +186,19 @@ &uart0 {
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From ad4f9e13c0f19b0d4a9e748000d7061b092c123d Mon Sep 17 00:00:00 2001
|
||||
From 3f3519821d15e806ca029bdf2c090a2f014ba56b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sun, 12 Nov 2017 19:03:39 +0100
|
||||
Subject: [PATCH 026/515] ARM: dts: suni-a83t: Add i2s0 pins
|
||||
Subject: [PATCH 031/534] ARM: dts: suni-a83t: Add i2s0 pins
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
@@ -9,10 +9,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
index 79e8690d7e3f..6f8a0e47f210 100644
|
||||
index 1f75e5f55..999d8edd2 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
@@ -829,6 +829,11 @@ spdif_tx_pin: spdif-tx-pin {
|
||||
@@ -793,6 +793,11 @@ spdif_tx_pin: spdif-tx-pin {
|
||||
function = "spdif";
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 9f4023fefffee06a2d775a84dec42d69ec44f276 Mon Sep 17 00:00:00 2001
|
||||
From b672cc47779f926c8ab1c1f873c53c7083414378 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Wed, 1 Jan 2020 16:03:34 -0600
|
||||
Subject: [PATCH 148/515] ARM: dts: sunxi: a83t: Protect SCP clocks
|
||||
Subject: [PATCH 152/534] ARM: dts: sunxi: a83t: Protect SCP clocks
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
---
|
||||
@@ -9,10 +9,10 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
index 82fdb04122ca..63d117f0e962 100644
|
||||
index 6f59546af..4cc090eb8 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
|
||||
@@ -702,6 +702,7 @@ ccu: clock@1c20000 {
|
||||
@@ -676,6 +676,7 @@ ccu: clock@1c20000 {
|
||||
reg = <0x01c20000 0x400>;
|
||||
clocks = <&osc24M>, <&osc16Md512>;
|
||||
clock-names = "hosc", "losc";
|
||||
@@ -20,7 +20,7 @@ index 82fdb04122ca..63d117f0e962 100644
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
@@ -1123,6 +1124,7 @@ r_ccu: clock@1f01400 {
|
||||
@@ -1107,6 +1108,7 @@ r_ccu: clock@1f01400 {
|
||||
clocks = <&osc24M>, <&osc16Md512>, <&osc16M>,
|
||||
<&ccu CLK_PLL_PERIPH>;
|
||||
clock-names = "hosc", "losc", "iosc", "pll-periph";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 9bbd195d54b10ae7729c03d03d8d82b5b3f75448 Mon Sep 17 00:00:00 2001
|
||||
From 309ac980c5126efa453630a0c9dc3e4876a1482a Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Wed, 1 Jan 2020 16:12:36 -0600
|
||||
Subject: [PATCH 161/515] ARM: dts: sunxi: h3/h5: Add SCPI protocol
|
||||
Subject: [PATCH 165/534] ARM: dts: sunxi: h3/h5: Add SCPI protocol
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
---
|
||||
@@ -11,10 +11,10 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
3 files changed, 33 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
index eac2349a2380..b641026d0407 100644
|
||||
index da1991c99..e601317d5 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
@@ -170,6 +170,19 @@ syscon: system-control@1c00000 {
|
||||
@@ -206,6 +206,19 @@ syscon: system-control@1c00000 {
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
@@ -35,7 +35,7 @@ index eac2349a2380..b641026d0407 100644
|
||||
compatible = "mmio-sram";
|
||||
reg = <0x01d00000 0x80000>;
|
||||
diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
index 5ffc4052b3d3..1374eaa02370 100644
|
||||
index 5ffc4052b..1374eaa02 100644
|
||||
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
@@ -105,6 +105,13 @@ de: display-engine {
|
||||
@@ -53,7 +53,7 @@ index 5ffc4052b3d3..1374eaa02370 100644
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
|
||||
index a56fae761a1f..212eb1757b8b 100644
|
||||
index a56fae761..212eb1757 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
|
||||
@@ -86,6 +86,19 @@ syscon: system-control@1c00000 {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 321b54544c2d1edc623c2fdd26a0d46ea3630256 Mon Sep 17 00:00:00 2001
|
||||
From 54c648f5e0bcdf441d72a6d7e519a67d33552d36 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sat, 29 Jan 2022 17:00:39 -0600
|
||||
Subject: [PATCH 376/515] Input: pinephone-keyboard - Add PinePhone keyboard
|
||||
Subject: [PATCH 380/534] Input: pinephone-keyboard - Add PinePhone keyboard
|
||||
driver
|
||||
|
||||
The official Pine64 PinePhone keyboard case contains a matrix keypad and
|
||||
@@ -17,10 +17,10 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
create mode 100644 drivers/input/keyboard/pinephone-keyboard.c
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index f468864fd268..425e7d56bf60 100644
|
||||
index d10bb7a31..e6d09d58a 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -15659,6 +15659,12 @@ S: Maintained
|
||||
@@ -15665,6 +15665,12 @@ S: Maintained
|
||||
F: Documentation/devicetree/bindings/iio/chemical/plantower,pms7003.yaml
|
||||
F: drivers/iio/chemical/pms7003.c
|
||||
|
||||
@@ -34,7 +34,7 @@ index f468864fd268..425e7d56bf60 100644
|
||||
M: Jacob Keller <jacob.e.keller@intel.com>
|
||||
S: Maintained
|
||||
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
|
||||
index 4ea79db8f134..8439b38c69f4 100644
|
||||
index 4ea79db8f..8439b38c6 100644
|
||||
--- a/drivers/input/keyboard/Kconfig
|
||||
+++ b/drivers/input/keyboard/Kconfig
|
||||
@@ -524,6 +524,16 @@ config KEYBOARD_OPENCORES
|
||||
@@ -55,7 +55,7 @@ index 4ea79db8f134..8439b38c69f4 100644
|
||||
tristate "PXA27x/PXA3xx keypad support"
|
||||
depends on PXA27x || PXA3xx || ARCH_MMP
|
||||
diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile
|
||||
index 721936e90290..5f67196bb2c1 100644
|
||||
index 721936e90..5f67196bb 100644
|
||||
--- a/drivers/input/keyboard/Makefile
|
||||
+++ b/drivers/input/keyboard/Makefile
|
||||
@@ -52,6 +52,7 @@ obj-$(CONFIG_KEYBOARD_NSPIRE) += nspire-keypad.o
|
||||
@@ -68,7 +68,7 @@ index 721936e90290..5f67196bb2c1 100644
|
||||
obj-$(CONFIG_KEYBOARD_PXA930_ROTARY) += pxa930_rotary.o
|
||||
diff --git a/drivers/input/keyboard/pinephone-keyboard.c b/drivers/input/keyboard/pinephone-keyboard.c
|
||||
new file mode 100644
|
||||
index 000000000000..9a071753fd91
|
||||
index 000000000..9a071753f
|
||||
--- /dev/null
|
||||
+++ b/drivers/input/keyboard/pinephone-keyboard.c
|
||||
@@ -0,0 +1,258 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 2a1f2f2590ff69588ee9467f7ff0f5e35f378129 Mon Sep 17 00:00:00 2001
|
||||
From fe2f2c2143068880aa372c90f7d6558814579026 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Fri, 18 Aug 2017 13:55:48 +0200
|
||||
Subject: [PATCH 266/515] Make microbuttons on Orange Pi PC and PC 2 work as
|
||||
Subject: [PATCH 265/534] Make microbuttons on Orange Pi PC and PC 2 work as
|
||||
power off buttons
|
||||
|
||||
---
|
||||
@@ -10,7 +10,7 @@ Subject: [PATCH 266/515] Make microbuttons on Orange Pi PC and PC 2 work as
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
index 4759ba3f2986..147b574d9887 100644
|
||||
index 097f784bc..96d2d5498 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
|
||||
@@ -91,7 +91,7 @@ r_gpio_keys {
|
||||
@@ -23,10 +23,10 @@ index 4759ba3f2986..147b574d9887 100644
|
||||
};
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
index 1010c1b22d2e..acc5c31d8786 100644
|
||||
index d955574b1..d7852fa4d 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
@@ -59,7 +59,7 @@ r-gpio-keys {
|
||||
@@ -60,7 +60,7 @@ r-gpio-keys {
|
||||
|
||||
sw4 {
|
||||
label = "sw4";
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
From f06a8e5f27ebee3d07253d715948fbc1f1837fec Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Wed, 15 Jun 2022 09:49:27 +0200
|
||||
Subject: [PATCH 537/538] Revert "rtw89: 8852c: add trigger frame counter"
|
||||
|
||||
This reverts commit 67f3e6eed945eaf2ce21e4d72c4fb8d6a677fa59.
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw89/core.c | 48 ----------------------
|
||||
drivers/net/wireless/realtek/rtw89/core.h | 14 -------
|
||||
drivers/net/wireless/realtek/rtw89/debug.c | 3 +-
|
||||
3 files changed, 1 insertion(+), 64 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index 77738d72e3bb..97731c7a3fd6 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -1343,47 +1343,6 @@ struct rtw89_vif_rx_stats_iter_data {
|
||||
const u8 *bssid;
|
||||
};
|
||||
|
||||
-static void rtw89_stats_trigger_frame(struct rtw89_dev *rtwdev,
|
||||
- struct ieee80211_vif *vif,
|
||||
- struct sk_buff *skb)
|
||||
-{
|
||||
- struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
|
||||
- struct ieee80211_trigger *tf = (struct ieee80211_trigger *)skb->data;
|
||||
- u8 *pos, *end, type;
|
||||
- u16 aid;
|
||||
-
|
||||
- if (!ether_addr_equal(vif->bss_conf.bssid, tf->ta) ||
|
||||
- rtwvif->wifi_role != RTW89_WIFI_ROLE_STATION ||
|
||||
- rtwvif->net_type == RTW89_NET_TYPE_NO_LINK)
|
||||
- return;
|
||||
-
|
||||
- type = le64_get_bits(tf->common_info, IEEE80211_TRIGGER_TYPE_MASK);
|
||||
- if (type != IEEE80211_TRIGGER_TYPE_BASIC)
|
||||
- return;
|
||||
-
|
||||
- end = (u8 *)tf + skb->len;
|
||||
- pos = tf->variable;
|
||||
-
|
||||
- while (end - pos >= RTW89_TF_BASIC_USER_INFO_SZ) {
|
||||
- aid = RTW89_GET_TF_USER_INFO_AID12(pos);
|
||||
- rtw89_debug(rtwdev, RTW89_DBG_TXRX,
|
||||
- "[TF] aid: %d, ul_mcs: %d, rua: %d\n",
|
||||
- aid, RTW89_GET_TF_USER_INFO_UL_MCS(pos),
|
||||
- RTW89_GET_TF_USER_INFO_RUA(pos));
|
||||
-
|
||||
- if (aid == RTW89_TF_PAD)
|
||||
- break;
|
||||
-
|
||||
- if (aid == vif->bss_conf.aid) {
|
||||
- rtwvif->stats.rx_tf_acc++;
|
||||
- rtwdev->stats.rx_tf_acc++;
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
- pos += RTW89_TF_BASIC_USER_INFO_SZ;
|
||||
- }
|
||||
-}
|
||||
-
|
||||
static void rtw89_vif_rx_stats_iter(void *data, u8 *mac,
|
||||
struct ieee80211_vif *vif)
|
||||
{
|
||||
@@ -1396,11 +1355,6 @@ static void rtw89_vif_rx_stats_iter(void *data, u8 *mac,
|
||||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
|
||||
const u8 *bssid = iter_data->bssid;
|
||||
|
||||
- if (ieee80211_is_trigger(hdr->frame_control)) {
|
||||
- rtw89_stats_trigger_frame(rtwdev, vif, skb);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
if (!ether_addr_equal(vif->bss_conf.bssid, bssid))
|
||||
return;
|
||||
|
||||
@@ -2069,8 +2023,6 @@ static bool rtw89_traffic_stats_calc(struct rtw89_dev *rtwdev,
|
||||
stats->rx_unicast = 0;
|
||||
stats->tx_cnt = 0;
|
||||
stats->rx_cnt = 0;
|
||||
- stats->rx_tf_periodic = stats->rx_tf_acc;
|
||||
- stats->rx_tf_acc = 0;
|
||||
|
||||
if (tx_tfc_lv != stats->tx_tfc_lv || rx_tfc_lv != stats->rx_tfc_lv)
|
||||
return true;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 48bfccb15c45..63ac7941d9b3 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -55,16 +55,6 @@ enum htc_om_channel_width {
|
||||
#define RTW89_HTC_MASK_HTC_OM_DL_MU_MIMO_RR BIT(16)
|
||||
#define RTW89_HTC_MASK_HTC_OM_UL_MU_DATA_DIS BIT(17)
|
||||
|
||||
-#define RTW89_TF_PAD GENMASK(11, 0)
|
||||
-#define RTW89_TF_BASIC_USER_INFO_SZ 6
|
||||
-
|
||||
-#define RTW89_GET_TF_USER_INFO_AID12(data) \
|
||||
- le32_get_bits(*((const __le32 *)(data)), GENMASK(11, 0))
|
||||
-#define RTW89_GET_TF_USER_INFO_RUA(data) \
|
||||
- le32_get_bits(*((const __le32 *)(data)), GENMASK(19, 12))
|
||||
-#define RTW89_GET_TF_USER_INFO_UL_MCS(data) \
|
||||
- le32_get_bits(*((const __le32 *)(data)), GENMASK(24, 21))
|
||||
-
|
||||
enum rtw89_subband {
|
||||
RTW89_CH_2G = 0,
|
||||
RTW89_CH_5G_BAND_1 = 1,
|
||||
@@ -953,10 +943,6 @@ struct rtw89_traffic_stats {
|
||||
u32 rx_throughput;
|
||||
u32 tx_throughput_raw;
|
||||
u32 rx_throughput_raw;
|
||||
-
|
||||
- u32 rx_tf_acc;
|
||||
- u32 rx_tf_periodic;
|
||||
-
|
||||
enum rtw89_tfc_lv tx_tfc_lv;
|
||||
enum rtw89_tfc_lv rx_tfc_lv;
|
||||
struct ewma_tp tx_ewma_tp;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/debug.c b/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
index f00f81916f2f..7820bc3ab3b4 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
@@ -2376,8 +2376,7 @@ static int rtw89_debug_priv_phy_info_get(struct seq_file *m, void *v)
|
||||
seq_printf(m, "TP TX: %u [%u] Mbps (lv: %d), RX: %u [%u] Mbps (lv: %d)\n",
|
||||
stats->tx_throughput, stats->tx_throughput_raw, stats->tx_tfc_lv,
|
||||
stats->rx_throughput, stats->rx_throughput_raw, stats->rx_tfc_lv);
|
||||
- seq_printf(m, "Beacon: %u, TF: %u\n", pkt_stat->beacon_nr,
|
||||
- stats->rx_tf_periodic);
|
||||
+ seq_printf(m, "Beacon: %u\n", pkt_stat->beacon_nr);
|
||||
seq_printf(m, "Avg packet length: TX=%u, RX=%u\n", stats->tx_avg_len,
|
||||
stats->rx_avg_len);
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
From 7b22a9f8a24f06a4fb21127c7ea7bc3ae6424ea3 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Wed, 15 Jun 2022 09:50:51 +0200
|
||||
Subject: [PATCH 538/538] Revert "rtw89: add new state to CFO state machine for
|
||||
UL-OFDMA"
|
||||
|
||||
This reverts commit 68c30b679d42ca34a233c925e88ff3c9415c3bda.
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw89/core.h | 7 -------
|
||||
drivers/net/wireless/realtek/rtw89/phy.c | 24 +++--------------------
|
||||
drivers/net/wireless/realtek/rtw89/phy.h | 1 -
|
||||
3 files changed, 3 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 63ac7941d9b3..71e66c7ac858 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2796,20 +2796,13 @@ enum rtw89_multi_cfo_mode {
|
||||
enum rtw89_phy_cfo_status {
|
||||
RTW89_PHY_DCFO_STATE_NORMAL = 0,
|
||||
RTW89_PHY_DCFO_STATE_ENHANCE = 1,
|
||||
- RTW89_PHY_DCFO_STATE_HOLD = 2,
|
||||
RTW89_PHY_DCFO_STATE_MAX
|
||||
};
|
||||
|
||||
-enum rtw89_phy_cfo_ul_ofdma_acc_mode {
|
||||
- RTW89_CFO_UL_OFDMA_ACC_DISABLE = 0,
|
||||
- RTW89_CFO_UL_OFDMA_ACC_ENABLE = 1
|
||||
-};
|
||||
-
|
||||
struct rtw89_cfo_tracking_info {
|
||||
u16 cfo_timer_ms;
|
||||
bool cfo_trig_by_timer_en;
|
||||
enum rtw89_phy_cfo_status phy_cfo_status;
|
||||
- enum rtw89_phy_cfo_ul_ofdma_acc_mode cfo_ul_ofdma_acc_mode;
|
||||
u8 phy_cfo_trk_cnt;
|
||||
bool is_adjust;
|
||||
enum rtw89_multi_cfo_mode rtw89_multi_cfo_mode;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index 4c03babcdb34..e219bed38ff4 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -2151,7 +2151,6 @@ static void rtw89_phy_cfo_init(struct rtw89_dev *rtwdev)
|
||||
cfo->cfo_trig_by_timer_en = false;
|
||||
cfo->phy_cfo_trk_cnt = 0;
|
||||
cfo->phy_cfo_status = RTW89_PHY_DCFO_STATE_NORMAL;
|
||||
- cfo->cfo_ul_ofdma_acc_mode = RTW89_CFO_UL_OFDMA_ACC_ENABLE;
|
||||
}
|
||||
|
||||
static void rtw89_phy_cfo_crystal_cap_adjust(struct rtw89_dev *rtwdev,
|
||||
@@ -2420,13 +2419,6 @@ void rtw89_phy_cfo_track(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
struct rtw89_cfo_tracking_info *cfo = &rtwdev->cfo_tracking;
|
||||
struct rtw89_traffic_stats *stats = &rtwdev->stats;
|
||||
- bool is_ul_ofdma = false, ofdma_acc_en = false;
|
||||
-
|
||||
- if (stats->rx_tf_periodic > CFO_TF_CNT_TH)
|
||||
- is_ul_ofdma = true;
|
||||
- if (cfo->cfo_ul_ofdma_acc_mode == RTW89_CFO_UL_OFDMA_ACC_ENABLE &&
|
||||
- is_ul_ofdma)
|
||||
- ofdma_acc_en = true;
|
||||
|
||||
switch (cfo->phy_cfo_status) {
|
||||
case RTW89_PHY_DCFO_STATE_NORMAL:
|
||||
@@ -2438,26 +2430,16 @@ void rtw89_phy_cfo_track(struct rtw89_dev *rtwdev)
|
||||
}
|
||||
break;
|
||||
case RTW89_PHY_DCFO_STATE_ENHANCE:
|
||||
- if (stats->tx_throughput <= CFO_TP_LOWER)
|
||||
- cfo->phy_cfo_status = RTW89_PHY_DCFO_STATE_NORMAL;
|
||||
- else if (ofdma_acc_en &&
|
||||
- cfo->phy_cfo_trk_cnt >= CFO_PERIOD_CNT)
|
||||
- cfo->phy_cfo_status = RTW89_PHY_DCFO_STATE_HOLD;
|
||||
- else
|
||||
- cfo->phy_cfo_trk_cnt++;
|
||||
-
|
||||
- if (cfo->phy_cfo_status == RTW89_PHY_DCFO_STATE_NORMAL) {
|
||||
+ if (cfo->phy_cfo_trk_cnt >= CFO_PERIOD_CNT) {
|
||||
cfo->phy_cfo_trk_cnt = 0;
|
||||
cfo->cfo_trig_by_timer_en = false;
|
||||
}
|
||||
- break;
|
||||
- case RTW89_PHY_DCFO_STATE_HOLD:
|
||||
+ if (cfo->cfo_trig_by_timer_en == 1)
|
||||
+ cfo->phy_cfo_trk_cnt++;
|
||||
if (stats->tx_throughput <= CFO_TP_LOWER) {
|
||||
cfo->phy_cfo_status = RTW89_PHY_DCFO_STATE_NORMAL;
|
||||
cfo->phy_cfo_trk_cnt = 0;
|
||||
cfo->cfo_trig_by_timer_en = false;
|
||||
- } else {
|
||||
- cfo->phy_cfo_trk_cnt++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.h b/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
index e20636f54b55..291660154d58 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
@@ -62,7 +62,6 @@
|
||||
#define CFO_COMP_PERIOD 250
|
||||
#define CFO_COMP_WEIGHT 8
|
||||
#define MAX_CFO_TOLERANCE 30
|
||||
-#define CFO_TF_CNT_TH 300
|
||||
|
||||
#define CCX_MAX_PERIOD 2097
|
||||
#define CCX_MAX_PERIOD_UNIT 32
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From be0a94d3a71032eb2a776f9924ba0707ffae816c Mon Sep 17 00:00:00 2001
|
||||
From 82f81f3850026999222ed611ebe31286e3af756a Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Sun, 9 May 2021 10:39:56 +0200
|
||||
Subject: [PATCH 246/515] arm64: dts: allwinner: a64: Add hdmi sound card
|
||||
Subject: [PATCH 246/534] arm64: dts: allwinner: a64: Add hdmi sound card
|
||||
|
||||
A64 supports HDMI audio. Add a sound card node for it.
|
||||
|
||||
@@ -11,10 +11,10 @@ Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index de77c87481fd..4c603821dd51 100644
|
||||
index e55525d46..5e3749850 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -175,6 +175,20 @@ link0_codec: codec {
|
||||
@@ -188,6 +188,20 @@ link0_codec: codec {
|
||||
};
|
||||
};
|
||||
|
||||
@@ -35,7 +35,7 @@ index de77c87481fd..4c603821dd51 100644
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
allwinner,erratum-unknown1;
|
||||
@@ -1220,6 +1234,7 @@ deinterlace: deinterlace@1e00000 {
|
||||
@@ -1251,6 +1265,7 @@ deinterlace: deinterlace@1e00000 {
|
||||
};
|
||||
|
||||
hdmi: hdmi@1ee0000 {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 02cfe7d13990501817454732e1a83840b060d3c0 Mon Sep 17 00:00:00 2001
|
||||
From 64e9bec8f84a0d0298f6696b982dfd1bfacb3a96 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Mon, 30 Dec 2019 15:10:32 -0600
|
||||
Subject: [PATCH 150/515] arm64: dts: allwinner: a64: Protect SCP clocks
|
||||
Subject: [PATCH 154/534] arm64: dts: allwinner: a64: Protect SCP clocks
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
---
|
||||
@@ -9,7 +9,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index de77c87481fd..818bc8f179be 100644
|
||||
index f0f460761..52f30ac7e 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -662,6 +662,7 @@ ccu: clock@1c20000 {
|
||||
@@ -20,7 +20,7 @@ index de77c87481fd..818bc8f179be 100644
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
@@ -1290,6 +1291,7 @@ r_ccu: clock@1f01400 {
|
||||
@@ -1295,6 +1296,7 @@ r_ccu: clock@1f01400 {
|
||||
clocks = <&osc24M>, <&rtc 0>, <&rtc 2>,
|
||||
<&ccu CLK_PLL_PERIPH0>;
|
||||
clock-names = "hosc", "losc", "iosc", "pll-periph";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From ada357abc27e8e20c621cfcc7e16083e07bd6780 Mon Sep 17 00:00:00 2001
|
||||
From 8bd7ca16899376370667e932d3850e484f683331 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Sun, 9 May 2021 12:40:31 +0200
|
||||
Subject: [PATCH 248/515] arm64: dts: allwinner: h5: Enable hdmi sound card on
|
||||
Subject: [PATCH 248/534] arm64: dts: allwinner: h5: Enable hdmi sound card on
|
||||
boards with hdmi
|
||||
|
||||
Each board that has HDMI connector can also transmit audio through it.
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
4 files changed, 32 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-emlid-neutis-n5-devboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-emlid-neutis-n5-devboard.dts
|
||||
index 076a0b983101..5882b62097a9 100644
|
||||
index 076a0b983..5882b6209 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-emlid-neutis-n5-devboard.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-emlid-neutis-n5-devboard.dts
|
||||
@@ -69,3 +69,11 @@ hdmi_out_con: endpoint {
|
||||
@@ -32,10 +32,10 @@ index 076a0b983101..5882b62097a9 100644
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
index 1010c1b22d2e..83abd0c6c4b3 100644
|
||||
index 5244278ff..d955574b1 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
@@ -144,6 +144,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -149,6 +149,10 @@ hdmi_out_con: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
@@ -46,7 +46,7 @@ index 1010c1b22d2e..83abd0c6c4b3 100644
|
||||
&ir {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&r_ir_rx_pin>;
|
||||
@@ -189,6 +193,10 @@ reg_vdd_cpux: regulator@65 {
|
||||
@@ -194,6 +198,10 @@ reg_vdd_cpux: regulator@65 {
|
||||
};
|
||||
};
|
||||
|
||||
@@ -58,7 +58,7 @@ index 1010c1b22d2e..83abd0c6c4b3 100644
|
||||
status = "okay";
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
index 74e0444af19b..19b8538e0e15 100644
|
||||
index 74e0444af..19b8538e0 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
@@ -145,6 +145,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -84,7 +84,7 @@ index 74e0444af19b..19b8538e0e15 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
index 22530ace12d5..3e69ebde50d3 100644
|
||||
index 22530ace1..3e69ebde5 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
@@ -77,6 +77,10 @@ hdmi_out_con: endpoint {
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
From e679d36fe59ed2e2838cb36682b511e776f1ecbd Mon Sep 17 00:00:00 2001
|
||||
From 680388e28ec91f867f1e89d075080ed576c4ef3d Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Tue, 10 Nov 2020 20:43:28 +0100
|
||||
Subject: [PATCH 244/515] arm64: dts: allwinner: h6: Add hdmi sound card
|
||||
Subject: [PATCH 244/534] arm64: dts: allwinner: h6: Add hdmi sound card
|
||||
|
||||
H6 supports HDMI audio. Add a sound card node for it.
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
index fbe94abbb1f9..60d7ee645c31 100644
|
||||
index e6e64b119..1206210e3 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
@@ -101,6 +101,20 @@ scpi_protocol: scpi {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 9c039c43aa3287c3b393bb6110e5bafae43cdcbd Mon Sep 17 00:00:00 2001
|
||||
From e422b980c7e120d68573ed064be1674c7b77c892 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Tue, 11 Jan 2022 13:08:47 +0100
|
||||
Subject: [PATCH 245/515] arm64: dts: allwinner: h6: Enable hdmi sound card on
|
||||
Subject: [PATCH 245/534] arm64: dts: allwinner: h6: Enable hdmi sound card on
|
||||
boards with hdmi
|
||||
|
||||
Each board that has HDMI connector can also transmit audio through it.
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
4 files changed, 32 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
|
||||
index 6249e9e02928..17c99ab66d1c 100644
|
||||
index 6249e9e02..17c99ab66 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
|
||||
@@ -118,6 +118,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -42,10 +42,10 @@ index 6249e9e02928..17c99ab66d1c 100644
|
||||
status = "okay";
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
index c45d7b7fb39a..6cac70c71ab5 100644
|
||||
index adf2134ec..58166e17f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
@@ -128,6 +128,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -167,6 +167,10 @@ ext_rgmii_phy: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
@@ -56,7 +56,7 @@ index c45d7b7fb39a..6cac70c71ab5 100644
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_cldo1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
@@ -299,6 +303,10 @@ &rtc {
|
||||
@@ -339,6 +343,10 @@ &rtc {
|
||||
clocks = <&ext_osc32k>;
|
||||
};
|
||||
|
||||
@@ -68,7 +68,7 @@ index c45d7b7fb39a..6cac70c71ab5 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
index 92745128fcfe..b019bbaae21d 100644
|
||||
index 92745128f..b019bbaae 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
@@ -91,6 +91,10 @@ hdmi_out_con: endpoint {
|
||||
@@ -94,7 +94,7 @@ index 92745128fcfe..b019bbaae21d 100644
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
index 1ffd68f43f87..341f42ae0f30 100644
|
||||
index 1ffd68f43..341f42ae0 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
@@ -123,6 +123,10 @@ hdmi_out_con: endpoint {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 58cbcef3c992bd4c20466ce8d3fe5781eafbd300 Mon Sep 17 00:00:00 2001
|
||||
From 0cebcabc4ef89a2dd3e7a0d83e5165d49561dc9c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 15 Feb 2021 17:45:13 +0100
|
||||
Subject: [PATCH 169/515] arm64: dts: pinephone: Add reboot mode driver
|
||||
Subject: [PATCH 173/534] arm64: dts: pinephone: Add reboot mode driver
|
||||
|
||||
With the latest p-boot (released 2021-02-15), you can reboot to
|
||||
a particular boot option or to the menu, to FEL, to eMMC bootloader,
|
||||
@@ -21,10 +21,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 37 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
index 87847116ab6d..df31223da5d8 100644
|
||||
index 9067f1739..2fd122bfc 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
|
||||
@@ -84,6 +84,34 @@ sgm3140_flash: led {
|
||||
@@ -416,6 +416,34 @@ sgm3140_flash: led {
|
||||
};
|
||||
};
|
||||
|
||||
@@ -59,7 +59,7 @@ index 87847116ab6d..df31223da5d8 100644
|
||||
speaker_amp: audio-amplifier {
|
||||
compatible = "simple-audio-amplifier";
|
||||
enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
|
||||
@@ -433,6 +461,15 @@ ®_rtc_ldo {
|
||||
@@ -921,6 +949,15 @@ ®_rtc_ldo {
|
||||
regulator-name = "vcc-rtc";
|
||||
};
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
From f87eeb4faa7318b779f858a674821a3cc13e6e35 Mon Sep 17 00:00:00 2001
|
||||
From be9b4e754d0281aae94ef8dae7c772f77f5d854c Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 27 May 2022 16:44:42 +0200
|
||||
Subject: [PATCH 519/533] arm64: dts: rk3399-pinephone-pro: Use 4-lane mode for
|
||||
Subject: [PATCH 515/534] arm64: dts: rk3399-pinephone-pro: Use 4-lane mode for
|
||||
selfie camera
|
||||
|
||||
It works, enable it.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
|
||||
index ebc6e98b79d3..182e042a15ba 100644
|
||||
index 707392304..b5484f4d6 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
|
||||
@@ -395,7 +395,7 @@ regulator-state-mem {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From c7fc4a53b0b6398dab45825c6d5beb63ae24004a Mon Sep 17 00:00:00 2001
|
||||
From 8d780c641e0248a225e960f8c2a9b88ef41a8d32 Mon Sep 17 00:00:00 2001
|
||||
From: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
Date: Fri, 22 Apr 2022 15:23:45 -0700
|
||||
Subject: [PATCH 313/515] device property: Add helper to match multiple
|
||||
Subject: [PATCH 318/534] device property: Add helper to match multiple
|
||||
connections
|
||||
|
||||
In some cases multiple connections with the same connection id
|
||||
@@ -22,10 +22,10 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
2 files changed, 114 insertions(+)
|
||||
|
||||
diff --git a/drivers/base/property.c b/drivers/base/property.c
|
||||
index c0e94cce9c29..08da5ca49e9c 100644
|
||||
index 2f6843c96..0a2d3cc7c 100644
|
||||
--- a/drivers/base/property.c
|
||||
+++ b/drivers/base/property.c
|
||||
@@ -1218,6 +1218,40 @@ fwnode_graph_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
||||
@@ -1231,6 +1231,40 @@ fwnode_graph_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ index c0e94cce9c29..08da5ca49e9c 100644
|
||||
static void *
|
||||
fwnode_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
||||
void *data, devcon_match_fn_t match)
|
||||
@@ -1240,6 +1274,37 @@ fwnode_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
||||
@@ -1253,6 +1287,37 @@ fwnode_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ index c0e94cce9c29..08da5ca49e9c 100644
|
||||
/**
|
||||
* fwnode_connection_find_match - Find connection from a device node
|
||||
* @fwnode: Device node with the connection
|
||||
@@ -1267,3 +1332,47 @@ void *fwnode_connection_find_match(struct fwnode_handle *fwnode,
|
||||
@@ -1280,3 +1345,47 @@ void *fwnode_connection_find_match(struct fwnode_handle *fwnode,
|
||||
return fwnode_devcon_match(fwnode, con_id, data, match);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fwnode_connection_find_match);
|
||||
@@ -153,7 +153,7 @@ index c0e94cce9c29..08da5ca49e9c 100644
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(fwnode_connection_find_matches);
|
||||
diff --git a/include/linux/property.h b/include/linux/property.h
|
||||
index 4cd4b326941f..de7ff336d2c8 100644
|
||||
index 4cd4b3269..de7ff336d 100644
|
||||
--- a/include/linux/property.h
|
||||
+++ b/include/linux/property.h
|
||||
@@ -447,6 +447,11 @@ static inline void *device_connection_find_match(struct device *dev,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 1f48ffd6b8ed7ea6701dc7c904550125bac2dc84 Mon Sep 17 00:00:00 2001
|
||||
From 2b2b0dd857f1b6a90df715c0eebbf7e9d4ea184c Mon Sep 17 00:00:00 2001
|
||||
From: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
Date: Fri, 22 Apr 2022 15:23:46 -0700
|
||||
Subject: [PATCH 317/515] device property: Use multi-connection matchers for
|
||||
Subject: [PATCH 319/534] device property: Use multi-connection matchers for
|
||||
single case
|
||||
|
||||
The newly introduced helpers for searching for matches in the case of
|
||||
@@ -15,10 +15,10 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
1 file changed, 5 insertions(+), 50 deletions(-)
|
||||
|
||||
diff --git a/drivers/base/property.c b/drivers/base/property.c
|
||||
index 08da5ca49e9c..47659764c8a1 100644
|
||||
index 0a2d3cc7c..92f827361 100644
|
||||
--- a/drivers/base/property.c
|
||||
+++ b/drivers/base/property.c
|
||||
@@ -1193,31 +1193,6 @@ const void *device_get_match_data(struct device *dev)
|
||||
@@ -1206,31 +1206,6 @@ const void *device_get_match_data(struct device *dev)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_get_match_data);
|
||||
|
||||
@@ -50,7 +50,7 @@ index 08da5ca49e9c..47659764c8a1 100644
|
||||
static unsigned int fwnode_graph_devcon_matches(struct fwnode_handle *fwnode,
|
||||
const char *con_id, void *data,
|
||||
devcon_match_fn_t match,
|
||||
@@ -1252,28 +1227,6 @@ static unsigned int fwnode_graph_devcon_matches(struct fwnode_handle *fwnode,
|
||||
@@ -1265,28 +1240,6 @@ static unsigned int fwnode_graph_devcon_matches(struct fwnode_handle *fwnode,
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ index 08da5ca49e9c..47659764c8a1 100644
|
||||
static unsigned int fwnode_devcon_matches(struct fwnode_handle *fwnode,
|
||||
const char *con_id, void *data,
|
||||
devcon_match_fn_t match,
|
||||
@@ -1320,16 +1273,18 @@ void *fwnode_connection_find_match(struct fwnode_handle *fwnode,
|
||||
@@ -1333,16 +1286,18 @@ void *fwnode_connection_find_match(struct fwnode_handle *fwnode,
|
||||
const char *con_id, void *data,
|
||||
devcon_match_fn_t match)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 93a7cadd14ebe09d04eb949e486cd968233e8d3c Mon Sep 17 00:00:00 2001
|
||||
From 1988779f605d34836e5812ba92fa0424e7cdcb17 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sat, 30 May 2020 03:15:04 +0200
|
||||
Subject: [PATCH 183/515] drm/sun4i: Fix wrong location of clk_prepare_enable
|
||||
Subject: [PATCH 187/534] drm/sun4i: Fix wrong location of clk_prepare_enable
|
||||
|
||||
It should be placed inside the has_channel_0 block.
|
||||
|
||||
@@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index 88db2d2a9336..8d31a230e3f5 100644
|
||||
index 0696fddc8..42609bae1 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -790,8 +790,8 @@ static int sun4i_tcon_init_clocks(struct device *dev,
|
||||
@@ -792,8 +792,8 @@ static int sun4i_tcon_init_clocks(struct device *dev,
|
||||
dev_err(dev, "Couldn't get the TCON channel 0 clock\n");
|
||||
return PTR_ERR(tcon->sclk0);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From ca4e047b20855eb25daf556d6b3a5996a2fd9bc3 Mon Sep 17 00:00:00 2001
|
||||
From d7b65406ac6af1883295f84ee584388e435fda73 Mon Sep 17 00:00:00 2001
|
||||
From: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
Date: Wed, 13 Mar 2019 19:50:17 -0700
|
||||
Subject: [PATCH 187/515] drm/sun4i: Implement gamma correction
|
||||
Subject: [PATCH 191/534] drm/sun4i: Implement gamma correction
|
||||
|
||||
Add support for gamma corretion to sun4i TCON driver. Its LUT has 256
|
||||
entries and can be updated only when gamma correction is disabled.
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
3 files changed, 58 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_crtc.c b/drivers/gpu/drm/sun4i/sun4i_crtc.c
|
||||
index 45d9eb552d86..59e1959e49ff 100644
|
||||
index 45d9eb552..59e1959e4 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_crtc.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_crtc.c
|
||||
@@ -103,6 +103,20 @@ static void sun4i_crtc_atomic_flush(struct drm_crtc *crtc,
|
||||
@@ -39,7 +39,7 @@ index 45d9eb552d86..59e1959e49ff 100644
|
||||
|
||||
static void sun4i_crtc_atomic_disable(struct drm_crtc *crtc,
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index 8d31a230e3f5..21696e237d0a 100644
|
||||
index 42609bae1..6e741fa05 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -239,6 +239,34 @@ void sun4i_tcon_enable_vblank(struct sun4i_tcon *tcon, bool enable)
|
||||
@@ -77,7 +77,7 @@ index 8d31a230e3f5..21696e237d0a 100644
|
||||
/*
|
||||
* This function is a helper for TCON output muxing. The TCON output
|
||||
* muxing control register in earlier SoCs (without the TCON TOP block)
|
||||
@@ -1287,6 +1315,11 @@ static int sun4i_tcon_bind(struct device *dev, struct device *master,
|
||||
@@ -1289,6 +1317,11 @@ static int sun4i_tcon_bind(struct device *dev, struct device *master,
|
||||
|
||||
list_add_tail(&tcon->list, &drv->tcon_list);
|
||||
|
||||
@@ -90,7 +90,7 @@ index 8d31a230e3f5..21696e237d0a 100644
|
||||
|
||||
err_free_dotclock:
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
index e624f6977eb8..c0565e471a64 100644
|
||||
index e624f6977..c0565e471 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 3cf37798492975c4d2cedfbf40cfaefe30aac920 Mon Sep 17 00:00:00 2001
|
||||
From 763636ec2fd448d4657508ba9b6541cdc9157d9a Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 28 Mar 2022 18:31:25 +0200
|
||||
Subject: [PATCH 196/515] drm: sun4i: Support taking over display pipeline
|
||||
Subject: [PATCH 197/534] drm: sun4i: Support taking over display pipeline
|
||||
state from p-boot
|
||||
|
||||
For perfect, flickerless and fast boot.
|
||||
@@ -22,7 +22,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
11 files changed, 169 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
index f03aaf4f3405..77f887108670 100644
|
||||
index f03aaf4f3..77f887108 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
@@ -965,7 +965,9 @@ static int sun50i_a64_ccu_probe(struct platform_device *pdev)
|
||||
@@ -37,7 +37,7 @@ index f03aaf4f3405..77f887108670 100644
|
||||
/* Force the parent of TCON0 to PLL-MIPI */
|
||||
val = readl(reg + SUN50I_A64_TCON0_REG);
|
||||
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
|
||||
index d265a73313c9..685a375c35c6 100644
|
||||
index d265a7331..685a375c3 100644
|
||||
--- a/drivers/gpu/drm/drm_fb_helper.c
|
||||
+++ b/drivers/gpu/drm/drm_fb_helper.c
|
||||
@@ -2362,6 +2362,7 @@ static int drm_fb_helper_generic_probe(struct drm_fb_helper *fb_helper,
|
||||
@@ -69,7 +69,7 @@ index d265a73313c9..685a375c35c6 100644
|
||||
|
||||
return 0;
|
||||
diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
index cd82f8cf55fa..1db40a9f3e93 100644
|
||||
index cd82f8cf5..1db40a9f3 100644
|
||||
--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
@@ -58,6 +58,7 @@ struct st7703 {
|
||||
@@ -137,7 +137,7 @@ index cd82f8cf55fa..1db40a9f3e93 100644
|
||||
if (IS_ERR(ctx->reset_gpio))
|
||||
return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio), "Failed to get reset gpio\n");
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index 970ac71f2f21..d456e6b7926f 100644
|
||||
index 3d9ead98a..a5a72565c 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -39,6 +39,8 @@
|
||||
@@ -149,7 +149,7 @@ index 970ac71f2f21..d456e6b7926f 100644
|
||||
static struct drm_connector *sun4i_tcon_get_connector(const struct drm_encoder *encoder)
|
||||
{
|
||||
struct drm_connector *connector;
|
||||
@@ -736,6 +738,13 @@ void sun4i_tcon_mode_set(struct sun4i_tcon *tcon,
|
||||
@@ -738,6 +740,13 @@ void sun4i_tcon_mode_set(struct sun4i_tcon *tcon,
|
||||
const struct drm_encoder *encoder,
|
||||
const struct drm_display_mode *mode)
|
||||
{
|
||||
@@ -163,7 +163,7 @@ index 970ac71f2f21..d456e6b7926f 100644
|
||||
switch (encoder->encoder_type) {
|
||||
case DRM_MODE_ENCODER_DSI:
|
||||
/* DSI is tied to special case of CPU interface */
|
||||
@@ -884,6 +893,7 @@ static int sun4i_tcon_init_regmap(struct device *dev,
|
||||
@@ -886,6 +895,7 @@ static int sun4i_tcon_init_regmap(struct device *dev,
|
||||
return PTR_ERR(tcon->regs);
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ index 970ac71f2f21..d456e6b7926f 100644
|
||||
/* Make sure the TCON is disabled and all IRQs are off */
|
||||
regmap_write(tcon->regs, SUN4I_TCON_GCTL_REG, 0);
|
||||
regmap_write(tcon->regs, SUN4I_TCON_GINT0_REG, 0);
|
||||
@@ -892,6 +902,7 @@ static int sun4i_tcon_init_regmap(struct device *dev,
|
||||
@@ -894,6 +904,7 @@ static int sun4i_tcon_init_regmap(struct device *dev,
|
||||
/* Disable IO lines and set them to tristate */
|
||||
regmap_write(tcon->regs, SUN4I_TCON0_IO_TRI_REG, ~0);
|
||||
regmap_write(tcon->regs, SUN4I_TCON1_IO_TRI_REG, ~0);
|
||||
@@ -179,7 +179,7 @@ index 970ac71f2f21..d456e6b7926f 100644
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1163,6 +1174,9 @@ static int sun4i_tcon_bind(struct device *dev, struct device *master,
|
||||
@@ -1165,6 +1176,9 @@ static int sun4i_tcon_bind(struct device *dev, struct device *master,
|
||||
tcon->dev = dev;
|
||||
tcon->id = engine->id;
|
||||
tcon->quirks = of_device_get_match_data(dev);
|
||||
@@ -189,7 +189,7 @@ index 970ac71f2f21..d456e6b7926f 100644
|
||||
|
||||
tcon->lcd_rst = devm_reset_control_get(dev, "lcd");
|
||||
if (IS_ERR(tcon->lcd_rst)) {
|
||||
@@ -1184,12 +1198,14 @@ static int sun4i_tcon_bind(struct device *dev, struct device *master,
|
||||
@@ -1186,12 +1200,14 @@ static int sun4i_tcon_bind(struct device *dev, struct device *master,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ index 970ac71f2f21..d456e6b7926f 100644
|
||||
|
||||
if (tcon->quirks->supports_lvds) {
|
||||
/*
|
||||
@@ -1356,8 +1372,15 @@ static int sun4i_tcon_probe(struct platform_device *pdev)
|
||||
@@ -1358,8 +1374,15 @@ static int sun4i_tcon_probe(struct platform_device *pdev)
|
||||
const struct sun4i_tcon_quirks *quirks;
|
||||
struct drm_bridge *bridge;
|
||||
struct drm_panel *panel;
|
||||
@@ -221,7 +221,7 @@ index 970ac71f2f21..d456e6b7926f 100644
|
||||
|
||||
/* panels and bridges are present only on TCONs with channel 0 */
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
index ea0e6b02337b..f532d87ea82f 100644
|
||||
index ea0e6b023..f532d87ea 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
@@ -293,6 +293,8 @@ struct sun4i_tcon {
|
||||
@@ -234,7 +234,7 @@ index ea0e6b02337b..f532d87ea82f 100644
|
||||
|
||||
struct drm_bridge *sun4i_tcon_find_bridge(struct device_node *node);
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
|
||||
index 6c5993d986f2..0e7fa64d53e9 100644
|
||||
index 6c5993d98..0e7fa64d5 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
|
||||
@@ -732,6 +732,7 @@ static void sun6i_dsi_encoder_enable(struct drm_encoder *encoder)
|
||||
@@ -291,7 +291,7 @@ index 6c5993d986f2..0e7fa64d53e9 100644
|
||||
"allwinner,sun6i-a31-mipi-dsi"))
|
||||
bus_clk_name = "bus";
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h
|
||||
index c863900ae3b4..7f80ff130e44 100644
|
||||
index c863900ae..7f80ff130 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h
|
||||
+++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h
|
||||
@@ -31,6 +31,8 @@ struct sun6i_dsi {
|
||||
@@ -304,7 +304,7 @@ index c863900ae3b4..7f80ff130e44 100644
|
||||
|
||||
static inline struct sun6i_dsi *host_to_sun6i_dsi(struct mipi_dsi_host *host)
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c
|
||||
index f5e8aeaa3cdf..7e57a129016f 100644
|
||||
index f5e8aeaa3..7e57a1290 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
|
||||
@@ -22,6 +22,7 @@
|
||||
@@ -437,7 +437,7 @@ index f5e8aeaa3cdf..7e57a129016f 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h b/drivers/gpu/drm/sun4i/sun8i_mixer.h
|
||||
index 5b3fbee18671..d78842d61402 100644
|
||||
index 5b3fbee18..d78842d61 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.h
|
||||
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h
|
||||
@@ -177,6 +177,9 @@ struct sun8i_mixer {
|
||||
@@ -451,7 +451,7 @@ index 5b3fbee18671..d78842d61402 100644
|
||||
|
||||
static inline struct sun8i_mixer *
|
||||
diff --git a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
index f0bc87d654d4..db53bbefd11e 100644
|
||||
index f0bc87d65..db53bbefd 100644
|
||||
--- a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
+++ b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
@@ -92,6 +92,8 @@ struct sun6i_dphy {
|
||||
@@ -496,7 +496,7 @@ index f0bc87d654d4..db53bbefd11e 100644
|
||||
if (IS_ERR(regs)) {
|
||||
dev_err(&pdev->dev, "Couldn't map the DPHY encoder registers\n");
|
||||
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
|
||||
index c0523a0269ee..a912d7652093 100644
|
||||
index c0523a026..a912d7652 100644
|
||||
--- a/drivers/video/backlight/pwm_bl.c
|
||||
+++ b/drivers/video/backlight/pwm_bl.c
|
||||
@@ -457,7 +457,7 @@ static int pwm_backlight_probe(struct platform_device *pdev)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 1bbd2c692f9b947917dd2ef503d686272a919b3b Mon Sep 17 00:00:00 2001
|
||||
From 70f423af5dcf3d36361255a7af12b397d094f985 Mon Sep 17 00:00:00 2001
|
||||
From: Roman Beranek <roman.beranek@prusa3d.com>
|
||||
Date: Wed, 25 Nov 2020 13:07:35 +0100
|
||||
Subject: [PATCH 205/515] drm: sun4i: decouple TCON_DCLK_DIV value from
|
||||
Subject: [PATCH 206/534] drm: sun4i: decouple TCON_DCLK_DIV value from
|
||||
pll_mipi/dotclock ratio
|
||||
|
||||
Observations showed that an actual refresh rate differs from the intended.
|
||||
@@ -21,7 +21,7 @@ that the sun4i_dotclock driver can remain untouched.
|
||||
1 file changed, 25 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index d456e6b7926f..fc7a0e6208d0 100644
|
||||
index a5a72565c..38878074b 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -322,18 +322,6 @@ static int sun4i_tcon_get_clk_delay(const struct drm_display_mode *mode,
|
||||
@@ -91,7 +91,7 @@ index d456e6b7926f..fc7a0e6208d0 100644
|
||||
|
||||
/* Set dithering if needed */
|
||||
sun4i_tcon0_mode_set_dithering(tcon, sun4i_tcon_get_connector(encoder));
|
||||
@@ -546,7 +545,14 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
|
||||
@@ -548,7 +547,14 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
|
||||
|
||||
tcon->dclk_min_div = tcon->quirks->dclk_min_div;
|
||||
tcon->dclk_max_div = 127;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 312a262273a05aac4d55b8d598e1a58242671f24 Mon Sep 17 00:00:00 2001
|
||||
From 1918f0b354d8973428eb425b19880333ba065095 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 17 Jun 2020 08:47:09 +0800
|
||||
Subject: [PATCH 195/515] drm/sun4i: tcon: hand over the duty to keep TCON0
|
||||
Subject: [PATCH 196/534] drm/sun4i: tcon: hand over the duty to keep TCON0
|
||||
clock to CCU on A64
|
||||
|
||||
As the A64 CCU driver has already the ability to keep TCON0 clock stable
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
2 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index 21696e237d0a..970ac71f2f21 100644
|
||||
index 6e741fa05..3d9ead98a 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -107,9 +107,11 @@ static void sun4i_tcon_channel_set_status(struct sun4i_tcon *tcon, int channel,
|
||||
@@ -33,7 +33,7 @@ index 21696e237d0a..970ac71f2f21 100644
|
||||
clk_disable_unprepare(clk);
|
||||
}
|
||||
}
|
||||
@@ -1542,6 +1544,14 @@ static const struct sun4i_tcon_quirks sun8i_a33_quirks = {
|
||||
@@ -1544,6 +1546,14 @@ static const struct sun4i_tcon_quirks sun8i_a33_quirks = {
|
||||
.supports_lvds = true,
|
||||
};
|
||||
|
||||
@@ -48,7 +48,7 @@ index 21696e237d0a..970ac71f2f21 100644
|
||||
static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = {
|
||||
.supports_lvds = true,
|
||||
.has_channel_0 = true,
|
||||
@@ -1592,6 +1602,7 @@ const struct of_device_id sun4i_tcon_of_table[] = {
|
||||
@@ -1594,6 +1604,7 @@ const struct of_device_id sun4i_tcon_of_table[] = {
|
||||
{ .compatible = "allwinner,sun8i-v3s-tcon", .data = &sun8i_v3s_quirks },
|
||||
{ .compatible = "allwinner,sun9i-a80-tcon-lcd", .data = &sun9i_a80_tcon_lcd_quirks },
|
||||
{ .compatible = "allwinner,sun9i-a80-tcon-tv", .data = &sun9i_a80_tcon_tv_quirks },
|
||||
@@ -57,7 +57,7 @@ index 21696e237d0a..970ac71f2f21 100644
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, sun4i_tcon_of_table);
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
index c0565e471a64..ea0e6b02337b 100644
|
||||
index c0565e471..ea0e6b023 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h
|
||||
@@ -249,6 +249,7 @@ struct sun4i_tcon_quirks {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 96eeb0d53e66ed1eb96f8ac4c965e906cbe66c63 Mon Sep 17 00:00:00 2001
|
||||
From 9b47468ac15d7a541ced840eb413e30eb2a6addc Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Tue, 5 Mar 2019 22:02:41 -0600
|
||||
Subject: [PATCH 158/515] firmware: arm_scpi: Support unidirectional mailbox
|
||||
Subject: [PATCH 162/534] firmware: arm_scpi: Support unidirectional mailbox
|
||||
channels
|
||||
|
||||
Some mailbox controllers have only unidirectional channels, so we need a
|
||||
@@ -19,10 +19,10 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
1 file changed, 46 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/firmware/arm_scpi.c b/drivers/firmware/arm_scpi.c
|
||||
index ddf0b9ff9e15..182e5f977dde 100644
|
||||
index 5b4c02786..94b872ef1 100644
|
||||
--- a/drivers/firmware/arm_scpi.c
|
||||
+++ b/drivers/firmware/arm_scpi.c
|
||||
@@ -231,7 +231,8 @@ struct scpi_xfer {
|
||||
@@ -234,7 +234,8 @@ struct scpi_xfer {
|
||||
|
||||
struct scpi_chan {
|
||||
struct mbox_client cl;
|
||||
@@ -32,7 +32,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
|
||||
void __iomem *tx_payload;
|
||||
void __iomem *rx_payload;
|
||||
struct list_head rx_pending;
|
||||
@@ -505,7 +506,7 @@ static int scpi_send_message(u8 idx, void *tx_buf, unsigned int tx_len,
|
||||
@@ -508,7 +509,7 @@ static int scpi_send_message(u8 idx, void *tx_buf, unsigned int tx_len,
|
||||
msg->rx_len = rx_len;
|
||||
reinit_completion(&msg->done);
|
||||
|
||||
@@ -41,7 +41,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
|
||||
if (ret < 0 || !rx_buf)
|
||||
goto out;
|
||||
|
||||
@@ -856,8 +857,13 @@ static void scpi_free_channels(void *data)
|
||||
@@ -867,8 +868,13 @@ static void scpi_free_channels(void *data)
|
||||
struct scpi_drvinfo *info = data;
|
||||
int i;
|
||||
|
||||
@@ -57,7 +57,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
|
||||
}
|
||||
|
||||
static int scpi_remove(struct platform_device *pdev)
|
||||
@@ -913,6 +919,7 @@ static int scpi_probe(struct platform_device *pdev)
|
||||
@@ -924,6 +930,7 @@ static int scpi_probe(struct platform_device *pdev)
|
||||
struct resource res;
|
||||
struct device *dev = &pdev->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
@@ -65,7 +65,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
|
||||
|
||||
scpi_info = devm_kzalloc(dev, sizeof(*scpi_info), GFP_KERNEL);
|
||||
if (!scpi_info)
|
||||
@@ -926,6 +933,14 @@ static int scpi_probe(struct platform_device *pdev)
|
||||
@@ -937,6 +944,14 @@ static int scpi_probe(struct platform_device *pdev)
|
||||
dev_err(dev, "no mboxes property in '%pOF'\n", np);
|
||||
return -ENODEV;
|
||||
}
|
||||
@@ -80,7 +80,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
|
||||
|
||||
scpi_info->channels = devm_kcalloc(dev, count, sizeof(struct scpi_chan),
|
||||
GFP_KERNEL);
|
||||
@@ -974,15 +989,34 @@ static int scpi_probe(struct platform_device *pdev)
|
||||
@@ -985,15 +1000,34 @@ static int scpi_probe(struct platform_device *pdev)
|
||||
mutex_init(&pchan->xfers_lock);
|
||||
|
||||
ret = scpi_alloc_xfer_list(dev, pchan);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 80ec9698c5a45a166a4478742004b4bc39a0f0e2 Mon Sep 17 00:00:00 2001
|
||||
From ef73f648535e1dbd2375e7dffd5956dce275870e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Thu, 11 Nov 2021 14:28:41 +0100
|
||||
Subject: [PATCH 335/515] input: touchscreen: goodix: Add support for GT1158
|
||||
Subject: [PATCH 334/534] input: touchscreen: goodix: Add support for GT1158
|
||||
|
||||
This controller is used by Pinephone Pro.
|
||||
|
||||
@@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
|
||||
index 0ee23d045498..465fd06566c8 100644
|
||||
index e90b903ab..f76db9841 100644
|
||||
--- a/drivers/input/touchscreen/goodix.c
|
||||
+++ b/drivers/input/touchscreen/goodix.c
|
||||
@@ -95,6 +95,7 @@ static const struct goodix_chip_data gt9x_chip_data = {
|
||||
@@ -96,6 +96,7 @@ static const struct goodix_chip_data gt9x_chip_data = {
|
||||
|
||||
static const struct goodix_chip_id goodix_chip_ids[] = {
|
||||
{ .id = "1151", .data = >1x_chip_data },
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From d82e7a3a782a077b3794320f9962473d3af3eb8b Mon Sep 17 00:00:00 2001
|
||||
From 3887b28494c8ace5f53eefdcbe1ae4daa6217201 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 18 Oct 2021 03:56:14 +0200
|
||||
Subject: [PATCH 334/515] input: touchscreen: goodix: Respect IRQ flags from DT
|
||||
Subject: [PATCH 333/534] input: touchscreen: goodix: Respect IRQ flags from DT
|
||||
when asked to
|
||||
|
||||
Sometimes the IRQ flags determined from toucschreen config don't
|
||||
@@ -14,10 +14,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
|
||||
index 3ad9870db108..0ee23d045498 100644
|
||||
index db84b189a..e90b903ab 100644
|
||||
--- a/drivers/input/touchscreen/goodix.c
|
||||
+++ b/drivers/input/touchscreen/goodix.c
|
||||
@@ -511,9 +511,13 @@ static void goodix_free_irq(struct goodix_ts_data *ts)
|
||||
@@ -512,9 +512,13 @@ static void goodix_free_irq(struct goodix_ts_data *ts)
|
||||
|
||||
static int goodix_request_irq(struct goodix_ts_data *ts)
|
||||
{
|
||||
@@ -32,7 +32,7 @@ index 3ad9870db108..0ee23d045498 100644
|
||||
}
|
||||
|
||||
static int goodix_check_cfg_8(struct goodix_ts_data *ts, const u8 *cfg, int len)
|
||||
@@ -1289,6 +1293,7 @@ static int goodix_ts_probe(struct i2c_client *client,
|
||||
@@ -1305,6 +1309,7 @@ static int goodix_ts_probe(struct i2c_client *client,
|
||||
if (!ts)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -41,7 +41,7 @@ index 3ad9870db108..0ee23d045498 100644
|
||||
i2c_set_clientdata(client, ts);
|
||||
init_completion(&ts->firmware_loading_complete);
|
||||
diff --git a/drivers/input/touchscreen/goodix.h b/drivers/input/touchscreen/goodix.h
|
||||
index 87797cc88b32..b683f571cd4d 100644
|
||||
index db9f03149..62999908c 100644
|
||||
--- a/drivers/input/touchscreen/goodix.h
|
||||
+++ b/drivers/input/touchscreen/goodix.h
|
||||
@@ -81,6 +81,7 @@ struct goodix_ts_data {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From b3f88f8519b919d6117860401dfb8a9b5a27dc4d Mon Sep 17 00:00:00 2001
|
||||
From 9cc2aa7c30ca75cc16e8d96f594ea29535ac3624 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sat, 2 Nov 2019 15:09:01 +0100
|
||||
Subject: [PATCH 022/515] mailbox: Allow to run mailbox while timekeeping is
|
||||
Subject: [PATCH 016/534] mailbox: Allow to run mailbox while timekeeping is
|
||||
suspended
|
||||
|
||||
This makes it possible to send messages from CPU suspend finisher.
|
||||
@@ -11,11 +11,11 @@ timekeeping is suspended, instead of using hrtimer.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/mailbox/mailbox.c | 26 +++++++++++++++++++++++---
|
||||
1 file changed, 23 insertions(+), 3 deletions(-)
|
||||
drivers/mailbox/mailbox.c | 23 ++++++++++++++++++++++-
|
||||
1 file changed, 22 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c
|
||||
index 3e7d4b20ab34..82ca7c317700 100644
|
||||
index 4229b9b5d..cd431ae6c 100644
|
||||
--- a/drivers/mailbox/mailbox.c
|
||||
+++ b/drivers/mailbox/mailbox.c
|
||||
@@ -85,7 +85,10 @@ static void msg_submit(struct mbox_chan *chan)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 81fd18e8a7972f2543a5e7bc3fbfc96a87225d7a Mon Sep 17 00:00:00 2001
|
||||
From 46352ab04b3195c9abe1a25850c3a33a606da9d1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Tue, 23 Jun 2020 19:51:18 +0200
|
||||
Subject: [PATCH 047/515] media: gc2145: Galaxycore camera module driver
|
||||
Subject: [PATCH 048/534] media: gc2145: Galaxycore camera module driver
|
||||
|
||||
WIP!
|
||||
|
||||
@@ -14,10 +14,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
create mode 100644 drivers/media/i2c/gc2145.c
|
||||
|
||||
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
|
||||
index 0f3bd9f6d34b..9b1e529fdcc5 100644
|
||||
index 8e78d0850..980fac553 100644
|
||||
--- a/drivers/media/i2c/Kconfig
|
||||
+++ b/drivers/media/i2c/Kconfig
|
||||
@@ -776,6 +776,15 @@ config VIDEO_HM5065
|
||||
@@ -777,6 +777,15 @@ config VIDEO_HM5065
|
||||
This is a V4L2 sensor-level driver for Himax HM5065
|
||||
5 Mpixel camera.
|
||||
|
||||
@@ -34,7 +34,7 @@ index 0f3bd9f6d34b..9b1e529fdcc5 100644
|
||||
|
||||
menu "Lens drivers"
|
||||
diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile
|
||||
index 0f391b588d59..4a0b4f050ef8 100644
|
||||
index 0f391b588..4a0b4f050 100644
|
||||
--- a/drivers/media/i2c/Makefile
|
||||
+++ b/drivers/media/i2c/Makefile
|
||||
@@ -142,3 +142,4 @@ obj-$(CONFIG_VIDEO_VS6624) += vs6624.o
|
||||
@@ -44,7 +44,7 @@ index 0f391b588d59..4a0b4f050ef8 100644
|
||||
+obj-$(CONFIG_VIDEO_GC2145) += gc2145.o
|
||||
diff --git a/drivers/media/i2c/gc2145.c b/drivers/media/i2c/gc2145.c
|
||||
new file mode 100644
|
||||
index 000000000000..b7953222eeeb
|
||||
index 000000000..b7953222e
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/i2c/gc2145.c
|
||||
@@ -0,0 +1,2247 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 6dc95810fcb2126d812a19af35e3b053013dba2c Mon Sep 17 00:00:00 2001
|
||||
From 0bb21248011d0a9a342450b87e83db8bfac8179c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sat, 30 Sep 2017 02:39:48 +0200
|
||||
Subject: [PATCH 045/515] media: hm5065: Add subdev driver for Himax HM5065
|
||||
Subject: [PATCH 046/534] media: hm5065: Add subdev driver for Himax HM5065
|
||||
camera sensor
|
||||
|
||||
HM5065 is 5MP CMOS sensor. This driver implements support for
|
||||
@@ -22,10 +22,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
create mode 100644 drivers/media/i2c/hm5065.c
|
||||
|
||||
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
|
||||
index fae2baabb773..0f3bd9f6d34b 100644
|
||||
index 2b20aa6c3..8e78d0850 100644
|
||||
--- a/drivers/media/i2c/Kconfig
|
||||
+++ b/drivers/media/i2c/Kconfig
|
||||
@@ -767,6 +767,15 @@ source "drivers/media/i2c/ccs/Kconfig"
|
||||
@@ -768,6 +768,15 @@ source "drivers/media/i2c/ccs/Kconfig"
|
||||
source "drivers/media/i2c/et8ek8/Kconfig"
|
||||
source "drivers/media/i2c/m5mols/Kconfig"
|
||||
|
||||
@@ -42,7 +42,7 @@ index fae2baabb773..0f3bd9f6d34b 100644
|
||||
|
||||
menu "Lens drivers"
|
||||
diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile
|
||||
index 3e1696963e7f..0f391b588d59 100644
|
||||
index 3e1696963..0f391b588 100644
|
||||
--- a/drivers/media/i2c/Makefile
|
||||
+++ b/drivers/media/i2c/Makefile
|
||||
@@ -141,3 +141,4 @@ obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o
|
||||
@@ -52,7 +52,7 @@ index 3e1696963e7f..0f391b588d59 100644
|
||||
+obj-$(CONFIG_VIDEO_HM5065) += hm5065.o
|
||||
diff --git a/drivers/media/i2c/hm5065.c b/drivers/media/i2c/hm5065.c
|
||||
new file mode 100644
|
||||
index 000000000000..89756f92cee0
|
||||
index 000000000..89756f92c
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/i2c/hm5065.c
|
||||
@@ -0,0 +1,2208 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From d8b8cb683bbdb9bc0972cbffd682dfac54578589 Mon Sep 17 00:00:00 2001
|
||||
From 0ce6850ac18e220b64c91e8adad0347b007eb057 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 22 May 2022 14:28:14 +0200
|
||||
Subject: [PATCH 368/515] media: i2c: ov8858: Add BSP driver for OV8858 from
|
||||
Subject: [PATCH 372/534] media: i2c: ov8858: Add BSP driver for OV8858 from
|
||||
Rockchip kernel tree
|
||||
|
||||
https://raw.githubusercontent.com/JeffyCN/rockchip_mirrors/kernel/drivers/media/i2c/ov8858.c
|
||||
@@ -17,10 +17,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
create mode 100644 drivers/media/i2c/rk-camera-module.h
|
||||
|
||||
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
|
||||
index fae2baabb773..28cfdc709974 100644
|
||||
index 980fac553..b3377a9d6 100644
|
||||
--- a/drivers/media/i2c/Kconfig
|
||||
+++ b/drivers/media/i2c/Kconfig
|
||||
@@ -603,6 +603,19 @@ config VIDEO_OV8856
|
||||
@@ -604,6 +604,19 @@ config VIDEO_OV8856
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called ov8856.
|
||||
|
||||
@@ -41,7 +41,7 @@ index fae2baabb773..28cfdc709974 100644
|
||||
tristate "OmniVision OV8865 sensor support"
|
||||
depends on I2C && PM && VIDEO_DEV
|
||||
diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile
|
||||
index 3e1696963e7f..72b5d26b13d1 100644
|
||||
index 4a0b4f050..70bf82737 100644
|
||||
--- a/drivers/media/i2c/Makefile
|
||||
+++ b/drivers/media/i2c/Makefile
|
||||
@@ -93,6 +93,7 @@ obj-$(CONFIG_VIDEO_OV7670) += ov7670.o
|
||||
@@ -54,7 +54,7 @@ index 3e1696963e7f..72b5d26b13d1 100644
|
||||
obj-$(CONFIG_VIDEO_OV9640) += ov9640.o
|
||||
diff --git a/drivers/media/i2c/ov8858.c b/drivers/media/i2c/ov8858.c
|
||||
new file mode 100644
|
||||
index 000000000000..11f01e30bc1d
|
||||
index 000000000..11f01e30b
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/i2c/ov8858.c
|
||||
@@ -0,0 +1,3018 @@
|
||||
@@ -3078,7 +3078,7 @@ index 000000000000..11f01e30bc1d
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
diff --git a/drivers/media/i2c/rk-camera-module.h b/drivers/media/i2c/rk-camera-module.h
|
||||
new file mode 100644
|
||||
index 000000000000..9883565799e7
|
||||
index 000000000..988356579
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/i2c/rk-camera-module.h
|
||||
@@ -0,0 +1,146 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 5dff2e5a1b1554537a5d67a45b44d8f850c5ff10 Mon Sep 17 00:00:00 2001
|
||||
From 955f0d562bb15ddf19be0e9665523305c13fde89 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Sat, 29 Feb 2020 01:01:58 -0600
|
||||
Subject: [PATCH 223/515] mfd: axp20x: Add battery IRQ resources
|
||||
Subject: [PATCH 223/534] mfd: axp20x: Add battery IRQ resources
|
||||
|
||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
---
|
||||
@@ -9,7 +9,7 @@ Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||||
1 file changed, 36 insertions(+)
|
||||
|
||||
diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c
|
||||
index 8161a5dc68e8..5b3cecac35ce 100644
|
||||
index d2e4978a5..ae424198a 100644
|
||||
--- a/drivers/mfd/axp20x.c
|
||||
+++ b/drivers/mfd/axp20x.c
|
||||
@@ -179,6 +179,15 @@ static const struct resource axp20x_ac_power_supply_resources[] = {
|
||||
@@ -28,7 +28,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
|
||||
static const struct resource axp20x_pek_resources[] = {
|
||||
DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_PEK_RIS_EDGE, "PEK_DBR"),
|
||||
DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_PEK_FAL_EDGE, "PEK_DBF"),
|
||||
@@ -221,6 +230,23 @@ static const struct resource axp288_fuel_gauge_resources[] = {
|
||||
@@ -223,6 +232,23 @@ static const struct resource axp288_fuel_gauge_resources[] = {
|
||||
DEFINE_RES_IRQ(AXP288_IRQ_WL1),
|
||||
};
|
||||
|
||||
@@ -52,7 +52,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
|
||||
static const struct resource axp803_pek_resources[] = {
|
||||
DEFINE_RES_IRQ_NAMED(AXP803_IRQ_PEK_RIS_EDGE, "PEK_DBR"),
|
||||
DEFINE_RES_IRQ_NAMED(AXP803_IRQ_PEK_FAL_EDGE, "PEK_DBF"),
|
||||
@@ -604,6 +630,8 @@ static const struct mfd_cell axp20x_cells[] = {
|
||||
@@ -606,6 +632,8 @@ static const struct mfd_cell axp20x_cells[] = {
|
||||
}, {
|
||||
.name = "axp20x-battery-power-supply",
|
||||
.of_compatible = "x-powers,axp209-battery-power-supply",
|
||||
@@ -61,7 +61,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
|
||||
}, {
|
||||
.name = "axp20x-ac-power-supply",
|
||||
.of_compatible = "x-powers,axp202-ac-power-supply",
|
||||
@@ -635,6 +663,8 @@ static const struct mfd_cell axp221_cells[] = {
|
||||
@@ -637,6 +665,8 @@ static const struct mfd_cell axp221_cells[] = {
|
||||
}, {
|
||||
.name = "axp20x-battery-power-supply",
|
||||
.of_compatible = "x-powers,axp221-battery-power-supply",
|
||||
@@ -70,7 +70,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
|
||||
}, {
|
||||
.name = "axp20x-usb-power-supply",
|
||||
.of_compatible = "x-powers,axp221-usb-power-supply",
|
||||
@@ -654,6 +684,8 @@ static const struct mfd_cell axp223_cells[] = {
|
||||
@@ -656,6 +686,8 @@ static const struct mfd_cell axp223_cells[] = {
|
||||
}, {
|
||||
.name = "axp20x-battery-power-supply",
|
||||
.of_compatible = "x-powers,axp221-battery-power-supply",
|
||||
@@ -79,7 +79,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
|
||||
}, {
|
||||
.name = "axp20x-regulator",
|
||||
}, {
|
||||
@@ -753,6 +785,8 @@ static const struct mfd_cell axp803_cells[] = {
|
||||
@@ -755,6 +787,8 @@ static const struct mfd_cell axp803_cells[] = {
|
||||
}, {
|
||||
.name = "axp20x-battery-power-supply",
|
||||
.of_compatible = "x-powers,axp813-battery-power-supply",
|
||||
@@ -88,7 +88,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
|
||||
}, {
|
||||
.name = "axp20x-ac-power-supply",
|
||||
.of_compatible = "x-powers,axp813-ac-power-supply",
|
||||
@@ -810,6 +844,8 @@ static const struct mfd_cell axp813_cells[] = {
|
||||
@@ -812,6 +846,8 @@ static const struct mfd_cell axp813_cells[] = {
|
||||
}, {
|
||||
.name = "axp20x-battery-power-supply",
|
||||
.of_compatible = "x-powers,axp813-battery-power-supply",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 6c452d4cf00175745eba047721ea19cb1963bdac Mon Sep 17 00:00:00 2001
|
||||
From dd830b54f43a656eedaaae81dcf13ca70ec53ec0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 30 Sep 2019 11:49:54 +0200
|
||||
Subject: [PATCH 068/515] mtd: spi-nor: Add regulator support
|
||||
Subject: [PATCH 067/534] mtd: spi-nor: Add regulator support
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
@@ -10,10 +10,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
2 files changed, 34 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
|
||||
index b4f141ad9c9c..d89432664a83 100644
|
||||
index c1630131c..db8a956f2 100644
|
||||
--- a/drivers/mtd/spi-nor/core.c
|
||||
+++ b/drivers/mtd/spi-nor/core.c
|
||||
@@ -3127,6 +3127,22 @@ static int spi_nor_probe(struct spi_mem *spimem)
|
||||
@@ -3136,6 +3136,22 @@ static int spi_nor_probe(struct spi_mem *spimem)
|
||||
if (!nor)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -36,7 +36,7 @@ index b4f141ad9c9c..d89432664a83 100644
|
||||
nor->spimem = spimem;
|
||||
nor->dev = &spi->dev;
|
||||
spi_nor_set_flash_node(nor, spi->dev.of_node);
|
||||
@@ -3154,7 +3170,7 @@ static int spi_nor_probe(struct spi_mem *spimem)
|
||||
@@ -3163,7 +3179,7 @@ static int spi_nor_probe(struct spi_mem *spimem)
|
||||
|
||||
ret = spi_nor_scan(nor, flash_name, &hwcaps);
|
||||
if (ret)
|
||||
@@ -45,7 +45,7 @@ index b4f141ad9c9c..d89432664a83 100644
|
||||
|
||||
/*
|
||||
* None of the existing parts have > 512B pages, but let's play safe
|
||||
@@ -3167,20 +3183,28 @@ static int spi_nor_probe(struct spi_mem *spimem)
|
||||
@@ -3176,20 +3192,28 @@ static int spi_nor_probe(struct spi_mem *spimem)
|
||||
nor->bouncebuf = devm_kmalloc(nor->dev,
|
||||
nor->bouncebuf_size,
|
||||
GFP_KERNEL);
|
||||
@@ -79,7 +79,7 @@ index b4f141ad9c9c..d89432664a83 100644
|
||||
}
|
||||
|
||||
static int spi_nor_remove(struct spi_mem *spimem)
|
||||
@@ -3188,6 +3212,7 @@ static int spi_nor_remove(struct spi_mem *spimem)
|
||||
@@ -3197,6 +3221,7 @@ static int spi_nor_remove(struct spi_mem *spimem)
|
||||
struct spi_nor *nor = spi_mem_get_drvdata(spimem);
|
||||
|
||||
spi_nor_restore(nor);
|
||||
@@ -88,7 +88,7 @@ index b4f141ad9c9c..d89432664a83 100644
|
||||
/* Clean up MTD stuff. */
|
||||
return mtd_device_unregister(&nor->mtd);
|
||||
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
|
||||
index 5e25a7b75ae2..305683c84787 100644
|
||||
index 5e25a7b75..305683c84 100644
|
||||
--- a/include/linux/mtd/spi-nor.h
|
||||
+++ b/include/linux/mtd/spi-nor.h
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 56b1ea28403dc6893f08c324beb8f379bbfb8287 Mon Sep 17 00:00:00 2001
|
||||
From 6b2f6022a280dc291645e44585b133eff4d00a45 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Thu, 16 Sep 2021 19:57:06 +0200
|
||||
Subject: [PATCH 284/515] phy: rockchip: inno-usb2: Don't print confusing
|
||||
Subject: [PATCH 283/534] phy: rockchip: inno-usb2: Don't print confusing
|
||||
deferered probe errors
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
@@ -10,10 +10,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index eca77e44a4c1..54d51a3814ea 100644
|
||||
index cba5c32cb..5d8e8775a 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -1222,7 +1222,7 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
|
||||
@@ -1228,7 +1228,7 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
|
||||
|
||||
phy = devm_phy_create(dev, child_np, &rockchip_usb2phy_ops);
|
||||
if (IS_ERR(phy)) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 92eb6744215c0face958ea9e3fda52688707f505 Mon Sep 17 00:00:00 2001
|
||||
From 417e809be4380361235ccbab14f45e6de8c511ff Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sun, 14 Mar 2021 15:49:34 +0100
|
||||
Subject: [PATCH 231/515] power: axp803: Add interrupts for low battery power
|
||||
Subject: [PATCH 231/534] power: axp803: Add interrupts for low battery power
|
||||
condition
|
||||
|
||||
These are necessary so that the device is woken up by interrupt
|
||||
@@ -14,10 +14,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c
|
||||
index 5b3cecac35ce..d08e6f31fcf6 100644
|
||||
index ae424198a..f5347d010 100644
|
||||
--- a/drivers/mfd/axp20x.c
|
||||
+++ b/drivers/mfd/axp20x.c
|
||||
@@ -245,6 +245,8 @@ static const struct resource axp803_battery_resources[] = {
|
||||
@@ -247,6 +247,8 @@ static const struct resource axp803_battery_resources[] = {
|
||||
DEFINE_RES_IRQ_NAMED(AXP803_IRQ_BATT_ACT_TEMP_HIGH_END, "BATT_ACT_TEMP_HIGH_END"),
|
||||
DEFINE_RES_IRQ_NAMED(AXP803_IRQ_BATT_ACT_TEMP_LOW, "BATT_ACT_TEMP_LOW"),
|
||||
DEFINE_RES_IRQ_NAMED(AXP803_IRQ_BATT_ACT_TEMP_LOW_END, "BATT_ACT_TEMP_LOW_END"),
|
||||
@@ -27,7 +27,7 @@ index 5b3cecac35ce..d08e6f31fcf6 100644
|
||||
|
||||
static const struct resource axp803_pek_resources[] = {
|
||||
diff --git a/drivers/power/supply/axp20x_battery.c b/drivers/power/supply/axp20x_battery.c
|
||||
index bdc7e578216c..e66a4e32ace8 100644
|
||||
index bdc7e5782..e66a4e32a 100644
|
||||
--- a/drivers/power/supply/axp20x_battery.c
|
||||
+++ b/drivers/power/supply/axp20x_battery.c
|
||||
@@ -616,6 +616,8 @@ static const struct axp_irq_data axp813_irqs[] = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 340d5c069f9e1fdc85dec6cf9be3e3e5cd10ef0a Mon Sep 17 00:00:00 2001
|
||||
From 4886be6b62ca9a9b95a9d19caa58320a658ecdf0 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Vasil <peter.vasil@gmail.com>
|
||||
Date: Sun, 26 Apr 2020 12:11:22 +0200
|
||||
Subject: [PATCH 152/515] pwm: sun4i: direct clock output support for Allwinner
|
||||
Subject: [PATCH 156/534] pwm: sun4i: direct clock output support for Allwinner
|
||||
A64
|
||||
|
||||
Allwinner A64 is capable of a direct clock output on PWM (see A64
|
||||
@@ -14,10 +14,10 @@ Signed-off-by: Peter Vasil <peter.vasil@gmail.com>
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 818bc8f179be..1a9195edc702 100644
|
||||
index 52f30ac7e..b9d2e1f57 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -1135,8 +1135,7 @@ gic: interrupt-controller@1c81000 {
|
||||
@@ -1140,8 +1140,7 @@ gic: interrupt-controller@1c81000 {
|
||||
};
|
||||
|
||||
pwm: pwm@1c21400 {
|
||||
@@ -27,7 +27,7 @@ index 818bc8f179be..1a9195edc702 100644
|
||||
reg = <0x01c21400 0x400>;
|
||||
clocks = <&osc24M>;
|
||||
pinctrl-names = "default";
|
||||
@@ -1328,8 +1327,7 @@ r_ir: ir@1f02000 {
|
||||
@@ -1333,8 +1332,7 @@ r_ir: ir@1f02000 {
|
||||
};
|
||||
|
||||
r_pwm: pwm@1f03800 {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 640a11016a595630e749d0183fc3bbd420b3cf8a Mon Sep 17 00:00:00 2001
|
||||
From 622ea8d6e51f9ab27c0157ebec480831b6eb5ec2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Tue, 18 Feb 2020 23:57:20 +0100
|
||||
Subject: [PATCH 217/515] regulator: axp20x: Enable over-temperature protection
|
||||
Subject: [PATCH 217/534] regulator: axp20x: Enable over-temperature protection
|
||||
and 16s reset function
|
||||
|
||||
Why not? Also why here, but whatever.
|
||||
@@ -12,7 +12,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
|
||||
index d260c442b788..0d224f0d0deb 100644
|
||||
index 21752e4bf..645edd9de 100644
|
||||
--- a/drivers/regulator/axp20x-regulator.c
|
||||
+++ b/drivers/regulator/axp20x-regulator.c
|
||||
@@ -93,6 +93,8 @@
|
||||
@@ -24,7 +24,7 @@ index d260c442b788..0d224f0d0deb 100644
|
||||
|
||||
#define AXP22X_DCDC1_V_OUT_MASK GENMASK(4, 0)
|
||||
#define AXP22X_DCDC2_V_OUT_MASK GENMASK(5, 0)
|
||||
@@ -1357,6 +1359,11 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
|
||||
@@ -1389,6 +1391,11 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
From 86e308958d8aa3f21863af9cec00abd9e370f14d Mon Sep 17 00:00:00 2001
|
||||
From: Po-Hao Huang <phhuang@realtek.com>
|
||||
Date: Thu, 7 Apr 2022 17:58:58 +0800
|
||||
Subject: [PATCH 388/515] rtw88: 8821c: fix debugfs rssi value
|
||||
|
||||
RSSI value per frame is reported to mac80211 but not maintained in
|
||||
our own statistics, add it back to help us debug.
|
||||
|
||||
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220407095858.46807-7-pkshih@realtek.com
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/rtw8821c.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.c b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
||||
index 99eee128ae94..ec38a7c84951 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
||||
@@ -512,6 +512,7 @@ static s8 get_cck_rx_pwr(struct rtw_dev *rtwdev, u8 lna_idx, u8 vga_idx)
|
||||
static void query_phy_status_page0(struct rtw_dev *rtwdev, u8 *phy_status,
|
||||
struct rtw_rx_pkt_stat *pkt_stat)
|
||||
{
|
||||
+ struct rtw_dm_info *dm_info = &rtwdev->dm_info;
|
||||
s8 rx_power;
|
||||
u8 lna_idx = 0;
|
||||
u8 vga_idx = 0;
|
||||
@@ -523,6 +524,7 @@ static void query_phy_status_page0(struct rtw_dev *rtwdev, u8 *phy_status,
|
||||
|
||||
pkt_stat->rx_power[RF_PATH_A] = rx_power;
|
||||
pkt_stat->rssi = rtw_phy_rf_power_2_rssi(pkt_stat->rx_power, 1);
|
||||
+ dm_info->rssi[RF_PATH_A] = pkt_stat->rssi;
|
||||
pkt_stat->bw = RTW_CHANNEL_WIDTH_20;
|
||||
pkt_stat->signal_power = rx_power;
|
||||
}
|
||||
@@ -530,6 +532,7 @@ static void query_phy_status_page0(struct rtw_dev *rtwdev, u8 *phy_status,
|
||||
static void query_phy_status_page1(struct rtw_dev *rtwdev, u8 *phy_status,
|
||||
struct rtw_rx_pkt_stat *pkt_stat)
|
||||
{
|
||||
+ struct rtw_dm_info *dm_info = &rtwdev->dm_info;
|
||||
u8 rxsc, bw;
|
||||
s8 min_rx_power = -120;
|
||||
|
||||
@@ -549,6 +552,7 @@ static void query_phy_status_page1(struct rtw_dev *rtwdev, u8 *phy_status,
|
||||
|
||||
pkt_stat->rx_power[RF_PATH_A] = GET_PHY_STAT_P1_PWDB_A(phy_status) - 110;
|
||||
pkt_stat->rssi = rtw_phy_rf_power_2_rssi(pkt_stat->rx_power, 1);
|
||||
+ dm_info->rssi[RF_PATH_A] = pkt_stat->rssi;
|
||||
pkt_stat->bw = bw;
|
||||
pkt_stat->signal_power = max(pkt_stat->rx_power[RF_PATH_A],
|
||||
min_rx_power);
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From 1876b35b1a2853c3779cf7aeef33a7ac69c86d45 Mon Sep 17 00:00:00 2001
|
||||
From: Po-Hao Huang <phhuang@realtek.com>
|
||||
Date: Thu, 7 Apr 2022 17:58:54 +0800
|
||||
Subject: [PATCH 384/515] rtw88: fix incorrect frequency reported
|
||||
|
||||
We should only fill in frequency reported by firmware during scan.
|
||||
Add this so frames won't be dropped by mac80211 due to frequency
|
||||
mismatch.
|
||||
|
||||
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220407095858.46807-3-pkshih@realtek.com
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/rx.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/rx.c b/drivers/net/wireless/realtek/rtw88/rx.c
|
||||
index d2d607e22198..84aedabdf285 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/rx.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/rx.c
|
||||
@@ -158,7 +158,8 @@ void rtw_rx_fill_rx_status(struct rtw_dev *rtwdev,
|
||||
memset(rx_status, 0, sizeof(*rx_status));
|
||||
rx_status->freq = hw->conf.chandef.chan->center_freq;
|
||||
rx_status->band = hw->conf.chandef.chan->band;
|
||||
- if (rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_SCAN_OFFLOAD))
|
||||
+ if (rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_SCAN_OFFLOAD) &&
|
||||
+ test_bit(RTW_FLAG_SCANNING, rtwdev->flags))
|
||||
rtw_set_rx_freq_by_pktstat(pkt_stat, rx_status);
|
||||
if (pkt_stat->crc_err)
|
||||
rx_status->flag |= RX_FLAG_FAILED_FCS_CRC;
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From cd68d547173287f05c593872b7d1f990f2e2261e Mon Sep 17 00:00:00 2001
|
||||
From b40c0194648afb6c3c9e1e369bacbe29eb35bd3a Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Thu, 14 Apr 2022 14:20:21 +0800
|
||||
Subject: [PATCH 460/515] rtw89: 8852c: add efuse gain offset parser
|
||||
Subject: [PATCH 459/534] rtw89: 8852c: add efuse gain offset parser
|
||||
|
||||
Define efuse struct to access gain offset, and store them for further use
|
||||
by setting channel.
|
||||
@@ -17,7 +17,7 @@ Link: https://lore.kernel.org/r/20220414062027.62638-8-pkshih@realtek.com
|
||||
4 files changed, 151 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 5617015a1fa5..22dbd3197382 100644
|
||||
index ea71d7f1a..f79775646 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -74,6 +74,16 @@ enum rtw89_subband {
|
||||
@@ -37,7 +37,7 @@ index 5617015a1fa5..22dbd3197382 100644
|
||||
enum rtw89_hci_type {
|
||||
RTW89_HCI_TYPE_PCIE,
|
||||
RTW89_HCI_TYPE_USB,
|
||||
@@ -3035,6 +3045,12 @@ struct rtw89_phy_bb_gain_info {
|
||||
@@ -3036,6 +3046,12 @@ struct rtw89_phy_bb_gain_info {
|
||||
[RTW89_BB_RXSC_NUM_160];
|
||||
};
|
||||
|
||||
@@ -50,7 +50,7 @@ index 5617015a1fa5..22dbd3197382 100644
|
||||
struct rtw89_dev {
|
||||
struct ieee80211_hw *hw;
|
||||
struct device *dev;
|
||||
@@ -3098,6 +3114,7 @@ struct rtw89_dev {
|
||||
@@ -3099,6 +3115,7 @@ struct rtw89_dev {
|
||||
struct rtw89_dig_info dig;
|
||||
struct rtw89_phy_ch_info ch_info;
|
||||
struct rtw89_phy_bb_gain_info bb_gain;
|
||||
@@ -59,7 +59,7 @@ index 5617015a1fa5..22dbd3197382 100644
|
||||
struct delayed_work track_work;
|
||||
struct delayed_work coex_act1_work;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
index a7daca1d462c..bd5526ffb8db 100644
|
||||
index a7daca1d4..bd5526ffb 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
@@ -3470,6 +3470,8 @@
|
||||
@@ -117,7 +117,7 @@ index a7daca1d462c..bd5526ffb8db 100644
|
||||
#define B_P1_TMETER GENMASK(15, 10)
|
||||
#define B_P1_TMETER_DIS BIT(16)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index dba279938347..bb935632ce40 100644
|
||||
index dba279938..bb935632c 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -317,6 +317,41 @@ static void rtw8852c_efuse_parsing_tssi(struct rtw89_dev *rtwdev,
|
||||
@@ -257,7 +257,7 @@ index dba279938347..bb935632ce40 100644
|
||||
|
||||
static
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.h b/drivers/net/wireless/realtek/rtw89/rtw8852c.h
|
||||
index d1c5b4367a9d..ac642808a81f 100644
|
||||
index d1c5b4367..ac642808a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.h
|
||||
@@ -59,13 +59,23 @@ struct rtw8852c_efuse {
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
From 67f3e6eed945eaf2ce21e4d72c4fb8d6a677fa59 Mon Sep 17 00:00:00 2001
|
||||
From: Po Hao Huang <phhuang@realtek.com>
|
||||
Date: Wed, 8 Jun 2022 19:32:23 +0800
|
||||
Subject: [PATCH 535/538] rtw89: 8852c: add trigger frame counter
|
||||
|
||||
Adding this allows us to maintain trigger frame statistics, which is
|
||||
required for our CFO tracking decisions.
|
||||
|
||||
Signed-off-by: Po Hao Huang <phhuang@realtek.com>
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220608113224.11193-3-pkshih@realtek.com
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw89/core.c | 48 ++++++++++++++++++++++
|
||||
drivers/net/wireless/realtek/rtw89/core.h | 14 +++++++
|
||||
drivers/net/wireless/realtek/rtw89/debug.c | 3 +-
|
||||
3 files changed, 64 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index 97731c7a3fd6..77738d72e3bb 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -1343,6 +1343,47 @@ struct rtw89_vif_rx_stats_iter_data {
|
||||
const u8 *bssid;
|
||||
};
|
||||
|
||||
+static void rtw89_stats_trigger_frame(struct rtw89_dev *rtwdev,
|
||||
+ struct ieee80211_vif *vif,
|
||||
+ struct sk_buff *skb)
|
||||
+{
|
||||
+ struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
|
||||
+ struct ieee80211_trigger *tf = (struct ieee80211_trigger *)skb->data;
|
||||
+ u8 *pos, *end, type;
|
||||
+ u16 aid;
|
||||
+
|
||||
+ if (!ether_addr_equal(vif->bss_conf.bssid, tf->ta) ||
|
||||
+ rtwvif->wifi_role != RTW89_WIFI_ROLE_STATION ||
|
||||
+ rtwvif->net_type == RTW89_NET_TYPE_NO_LINK)
|
||||
+ return;
|
||||
+
|
||||
+ type = le64_get_bits(tf->common_info, IEEE80211_TRIGGER_TYPE_MASK);
|
||||
+ if (type != IEEE80211_TRIGGER_TYPE_BASIC)
|
||||
+ return;
|
||||
+
|
||||
+ end = (u8 *)tf + skb->len;
|
||||
+ pos = tf->variable;
|
||||
+
|
||||
+ while (end - pos >= RTW89_TF_BASIC_USER_INFO_SZ) {
|
||||
+ aid = RTW89_GET_TF_USER_INFO_AID12(pos);
|
||||
+ rtw89_debug(rtwdev, RTW89_DBG_TXRX,
|
||||
+ "[TF] aid: %d, ul_mcs: %d, rua: %d\n",
|
||||
+ aid, RTW89_GET_TF_USER_INFO_UL_MCS(pos),
|
||||
+ RTW89_GET_TF_USER_INFO_RUA(pos));
|
||||
+
|
||||
+ if (aid == RTW89_TF_PAD)
|
||||
+ break;
|
||||
+
|
||||
+ if (aid == vif->bss_conf.aid) {
|
||||
+ rtwvif->stats.rx_tf_acc++;
|
||||
+ rtwdev->stats.rx_tf_acc++;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ pos += RTW89_TF_BASIC_USER_INFO_SZ;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static void rtw89_vif_rx_stats_iter(void *data, u8 *mac,
|
||||
struct ieee80211_vif *vif)
|
||||
{
|
||||
@@ -1355,6 +1396,11 @@ static void rtw89_vif_rx_stats_iter(void *data, u8 *mac,
|
||||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
|
||||
const u8 *bssid = iter_data->bssid;
|
||||
|
||||
+ if (ieee80211_is_trigger(hdr->frame_control)) {
|
||||
+ rtw89_stats_trigger_frame(rtwdev, vif, skb);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (!ether_addr_equal(vif->bss_conf.bssid, bssid))
|
||||
return;
|
||||
|
||||
@@ -2023,6 +2069,8 @@ static bool rtw89_traffic_stats_calc(struct rtw89_dev *rtwdev,
|
||||
stats->rx_unicast = 0;
|
||||
stats->tx_cnt = 0;
|
||||
stats->rx_cnt = 0;
|
||||
+ stats->rx_tf_periodic = stats->rx_tf_acc;
|
||||
+ stats->rx_tf_acc = 0;
|
||||
|
||||
if (tx_tfc_lv != stats->tx_tfc_lv || rx_tfc_lv != stats->rx_tfc_lv)
|
||||
return true;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 71e66c7ac858..7660b10d5377 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -55,6 +55,16 @@ enum htc_om_channel_width {
|
||||
#define RTW89_HTC_MASK_HTC_OM_DL_MU_MIMO_RR BIT(16)
|
||||
#define RTW89_HTC_MASK_HTC_OM_UL_MU_DATA_DIS BIT(17)
|
||||
|
||||
+#define RTW89_TF_PAD GENMASK(11, 0)
|
||||
+#define RTW89_TF_BASIC_USER_INFO_SZ 6
|
||||
+
|
||||
+#define RTW89_GET_TF_USER_INFO_AID12(data) \
|
||||
+ le32_get_bits(*((const __le32 *)(data)), GENMASK(11, 0))
|
||||
+#define RTW89_GET_TF_USER_INFO_RUA(data) \
|
||||
+ le32_get_bits(*((const __le32 *)(data)), GENMASK(19, 12))
|
||||
+#define RTW89_GET_TF_USER_INFO_UL_MCS(data) \
|
||||
+ le32_get_bits(*((const __le32 *)(data)), GENMASK(24, 21))
|
||||
+
|
||||
enum rtw89_subband {
|
||||
RTW89_CH_2G = 0,
|
||||
RTW89_CH_5G_BAND_1 = 1,
|
||||
@@ -943,6 +953,10 @@ struct rtw89_traffic_stats {
|
||||
u32 rx_throughput;
|
||||
u32 tx_throughput_raw;
|
||||
u32 rx_throughput_raw;
|
||||
+
|
||||
+ u32 rx_tf_acc;
|
||||
+ u32 rx_tf_periodic;
|
||||
+
|
||||
enum rtw89_tfc_lv tx_tfc_lv;
|
||||
enum rtw89_tfc_lv rx_tfc_lv;
|
||||
struct ewma_tp tx_ewma_tp;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/debug.c b/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
index 7820bc3ab3b4..f00f81916f2f 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
@@ -2376,7 +2376,8 @@ static int rtw89_debug_priv_phy_info_get(struct seq_file *m, void *v)
|
||||
seq_printf(m, "TP TX: %u [%u] Mbps (lv: %d), RX: %u [%u] Mbps (lv: %d)\n",
|
||||
stats->tx_throughput, stats->tx_throughput_raw, stats->tx_tfc_lv,
|
||||
stats->rx_throughput, stats->rx_throughput_raw, stats->rx_tfc_lv);
|
||||
- seq_printf(m, "Beacon: %u\n", pkt_stat->beacon_nr);
|
||||
+ seq_printf(m, "Beacon: %u, TF: %u\n", pkt_stat->beacon_nr,
|
||||
+ stats->rx_tf_periodic);
|
||||
seq_printf(m, "Avg packet length: TX=%u, RX=%u\n", stats->tx_avg_len,
|
||||
stats->rx_avg_len);
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From b18bd7956717c8767524790885e61fae09711b55 Mon Sep 17 00:00:00 2001
|
||||
From 4fab7045f80ff0b2822a9eaaa20adbe782cc5b13 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Thu, 21 Apr 2022 20:08:59 +0800
|
||||
Subject: [PATCH 475/515] rtw89: 8852c: configure default BB TX/RX path
|
||||
Subject: [PATCH 474/534] rtw89: 8852c: configure default BB TX/RX path
|
||||
|
||||
8852c propose new API to configure BB TX/RX path. Without fix patch, it
|
||||
can't transmit any packet.
|
||||
@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20220421120903.73715-11-pkshih@realtek.com
|
||||
5 files changed, 279 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 1e79660f288b..c307364069c0 100644
|
||||
index c7261f224..6b291d595 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2104,6 +2104,7 @@ struct rtw89_chip_ops {
|
||||
@@ -29,7 +29,7 @@ index 1e79660f288b..c307364069c0 100644
|
||||
void (*set_txpwr_ul_tb_offset)(struct rtw89_dev *rtwdev,
|
||||
s8 pw_ofst, enum rtw89_mac_idx mac_idx);
|
||||
int (*pwr_on_func)(struct rtw89_dev *rtwdev);
|
||||
@@ -3633,6 +3634,14 @@ static inline void rtw89_chip_bb_ctrl_btc_preagc(struct rtw89_dev *rtwdev,
|
||||
@@ -3634,6 +3635,14 @@ static inline void rtw89_chip_bb_ctrl_btc_preagc(struct rtw89_dev *rtwdev,
|
||||
chip->ops->bb_ctrl_btc_preagc(rtwdev, bt_en);
|
||||
}
|
||||
|
||||
@@ -45,10 +45,10 @@ index 1e79660f288b..c307364069c0 100644
|
||||
void rtw89_chip_cfg_txpwr_ul_tb_offset(struct rtw89_dev *rtwdev,
|
||||
struct ieee80211_vif *vif)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index cc0d0c0194bb..5f1807785e60 100644
|
||||
index 46f764c05..425fae837 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -3592,6 +3592,7 @@ void rtw89_phy_dm_init(struct rtw89_dev *rtwdev)
|
||||
@@ -3597,6 +3597,7 @@ void rtw89_phy_dm_init(struct rtw89_dev *rtwdev)
|
||||
rtw89_load_txpwr_table(rtwdev, chip->byr_table);
|
||||
rtw89_chip_set_txpwr_ctrl(rtwdev);
|
||||
rtw89_chip_power_trim(rtwdev);
|
||||
@@ -57,7 +57,7 @@ index cc0d0c0194bb..5f1807785e60 100644
|
||||
|
||||
void rtw89_phy_set_bss_color(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
index 0f08b2581797..6dc11e8e2a83 100644
|
||||
index 0f08b2581..6dc11e8e2 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
@@ -2962,6 +2962,45 @@
|
||||
@@ -205,7 +205,7 @@ index 0f08b2581797..6dc11e8e2a83 100644
|
||||
#define B_PATH1_5MDET_EN BIT(12)
|
||||
#define B_PATH1_5MDET_SB2 BIT(8)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
index 5af618709ded..81bd0c4fe21b 100644
|
||||
index 5af618709..81bd0c4fe 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
@@ -2066,6 +2066,7 @@ static const struct rtw89_chip_ops rtw8852a_chip_ops = {
|
||||
@@ -217,7 +217,7 @@ index 5af618709ded..81bd0c4fe21b 100644
|
||||
.pwr_on_func = NULL,
|
||||
.pwr_off_func = NULL,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 3ee57df0a639..290c453d8c23 100644
|
||||
index 3ee57df0a..290c453d8 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -1813,6 +1813,199 @@ void rtw8852c_set_txpwr_ul_tb_offset(struct rtw89_dev *rtwdev,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 73232babd430262d298cae030975c4de6ad2dbb5 Mon Sep 17 00:00:00 2001
|
||||
From 9dc6686e8b84a46ed766d030254aaeb37482f337 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Thu, 14 Apr 2022 14:20:18 +0800
|
||||
Subject: [PATCH 457/515] rtw89: 8852c: phy: configure TSSI bandedge
|
||||
Subject: [PATCH 456/534] rtw89: 8852c: phy: configure TSSI bandedge
|
||||
|
||||
TSSI is used to manage TX power with thermal value as a factor. This patch
|
||||
is to configure bandedge to TX proper waveform.
|
||||
@@ -21,7 +21,7 @@ Link: https://lore.kernel.org/r/20220414062027.62638-5-pkshih@realtek.com
|
||||
8 files changed, 158 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 4029bbf9c615..72271929f8e6 100644
|
||||
index 967e760a0..ef87e67b9 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2380,6 +2380,7 @@ struct rtw89_chip_info {
|
||||
@@ -33,10 +33,10 @@ index 4029bbf9c615..72271929f8e6 100644
|
||||
[RTW89_RS_LMT_NUM][RTW89_BF_NUM]
|
||||
[RTW89_REGD_NUM][RTW89_2G_CH_NUM];
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index be9c0cf9e469..6db0ac085f04 100644
|
||||
index 23cc4a566..0ff85aaae 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -3420,3 +3420,109 @@ rtw89_rfk_parser(struct rtw89_dev *rtwdev, const struct rtw89_rfk_tbl *tbl)
|
||||
@@ -3425,3 +3425,109 @@ rtw89_rfk_parser(struct rtw89_dev *rtwdev, const struct rtw89_rfk_tbl *tbl)
|
||||
_rfk_handler[p->flag](rtwdev, p);
|
||||
}
|
||||
EXPORT_SYMBOL(rtw89_rfk_parser);
|
||||
@@ -147,7 +147,7 @@ index be9c0cf9e469..6db0ac085f04 100644
|
||||
+}
|
||||
+EXPORT_SYMBOL(rtw89_phy_tssi_ctrl_set_bandedge_cfg);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.h b/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
index 9c97e77d9707..b8531bb7e606 100644
|
||||
index 9c97e77d9..b8531bb7e 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
@@ -221,6 +221,35 @@ enum rtw89_dig_gain_tia_idx {
|
||||
@@ -207,7 +207,7 @@ index 9c97e77d9707..b8531bb7e606 100644
|
||||
|
||||
#endif
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
index 98465d746989..cd7916085e00 100644
|
||||
index 98465d746..cd7916085 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
@@ -2958,6 +2958,11 @@
|
||||
@@ -223,7 +223,7 @@ index 98465d746989..cd7916085e00 100644
|
||||
#define R_AX_TXPWR_IMR_C1 0xF9E0
|
||||
#define R_AX_TXPWR_ISR 0xD9E4
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
index 2c5bd381ebf5..cb93287d4722 100644
|
||||
index 2c5bd381e..cb93287d4 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
@@ -2113,6 +2113,7 @@ const struct rtw89_chip_info rtw8852a_chip_info = {
|
||||
@@ -235,7 +235,7 @@ index 2c5bd381ebf5..cb93287d4722 100644
|
||||
BIT(NL80211_BAND_5GHZ),
|
||||
.support_bw160 = false,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 3f727dd42064..1b5f8da2e9e8 100644
|
||||
index 3f727dd42..1b5f8da2e 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -674,6 +674,7 @@ const struct rtw89_chip_info rtw8852c_chip_info = {
|
||||
@@ -247,7 +247,7 @@ index 3f727dd42064..1b5f8da2e9e8 100644
|
||||
.sec_ctrl_efuse_size = 4,
|
||||
.physical_efuse_size = 1216,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_table.c b/drivers/net/wireless/realtek/rtw89/rtw8852c_table.c
|
||||
index e7852d286137..477c46041c94 100644
|
||||
index e7852d286..477c46041 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c_table.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_table.c
|
||||
@@ -19461,3 +19461,10 @@ const struct rtw89_txpwr_track_cfg rtw89_8852c_trk_cfg = {
|
||||
@@ -262,7 +262,7 @@ index e7852d286137..477c46041c94 100644
|
||||
+ .data[RTW89_TSSI_BANDEDGE_HIGH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
||||
+};
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_table.h b/drivers/net/wireless/realtek/rtw89/rtw8852c_table.h
|
||||
index 616282c9bb98..7d71a92e2d27 100644
|
||||
index 616282c9b..7d71a92e2 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c_table.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_table.h
|
||||
@@ -13,6 +13,7 @@ extern const struct rtw89_phy_table rtw89_8852c_phy_radioa_table;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From a412f8d77dc3f9111de6d5710132da36502383cf Mon Sep 17 00:00:00 2001
|
||||
From 990ccfae26262475aca0d50b0659d432fdc5da89 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Tue, 3 May 2022 07:54:08 +0800
|
||||
Subject: [PATCH 488/515] rtw89: 8852c: rfk: add DPK
|
||||
Subject: [PATCH 487/534] rtw89: 8852c: rfk: add DPK
|
||||
|
||||
DPK is short for digital pre-distortion calibration. It can adjusts digital
|
||||
waveform according to PA linear characteristics dynamically to enhance
|
||||
@@ -27,10 +27,10 @@ Link: https://lore.kernel.org/r/20220502235408.15052-9-pkshih@realtek.com
|
||||
6 files changed, 1178 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index e81cf835fe70..f9bd14dd166a 100644
|
||||
index 17d74ca17..7eb1b5494 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2690,6 +2690,7 @@ struct rtw89_dpk_bkup_para {
|
||||
@@ -2691,6 +2691,7 @@ struct rtw89_dpk_bkup_para {
|
||||
enum rtw89_bandwidth bw;
|
||||
u8 ch;
|
||||
bool path_ok;
|
||||
@@ -38,7 +38,7 @@ index e81cf835fe70..f9bd14dd166a 100644
|
||||
u8 txagc_dpk;
|
||||
u8 ther_dpk;
|
||||
u8 gs;
|
||||
@@ -2699,11 +2700,12 @@ struct rtw89_dpk_bkup_para {
|
||||
@@ -2700,11 +2701,12 @@ struct rtw89_dpk_bkup_para {
|
||||
struct rtw89_dpk_info {
|
||||
bool is_dpk_enable;
|
||||
bool is_dpk_reload_en;
|
||||
@@ -55,7 +55,7 @@ index e81cf835fe70..f9bd14dd166a 100644
|
||||
struct rtw89_dpk_bkup_para bp[RTW89_DPK_RF_PATH][RTW89_DPK_BKUP_NUM];
|
||||
};
|
||||
|
||||
@@ -2712,6 +2714,7 @@ struct rtw89_fem_info {
|
||||
@@ -2713,6 +2715,7 @@ struct rtw89_fem_info {
|
||||
bool elna_5g;
|
||||
bool epa_2g;
|
||||
bool epa_5g;
|
||||
@@ -64,7 +64,7 @@ index e81cf835fe70..f9bd14dd166a 100644
|
||||
|
||||
struct rtw89_phy_ch_info {
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
index 120fc13520fc..6f5d1012c90c 100644
|
||||
index 120fc1352..6f5d1012c 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
@@ -3191,6 +3191,7 @@
|
||||
@@ -221,7 +221,7 @@ index 120fc13520fc..6f5d1012c90c 100644
|
||||
#define R_RXCFIR_P0C1 0x8D84
|
||||
#define R_RXCFIR_P0C2 0x8DC8
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c b/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
|
||||
index aa782534e76b..e3c2fce32651 100644
|
||||
index aa782534e..e3c2fce32 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
|
||||
@@ -2189,8 +2189,8 @@ static bool _dpk_sync_check(struct rtw89_dev *rtwdev,
|
||||
@@ -247,7 +247,7 @@ index aa782534e76b..e3c2fce32651 100644
|
||||
if (dc_i > DPK_SYNC_TH_DC_I || dc_q > DPK_SYNC_TH_DC_Q ||
|
||||
corr_val < DPK_SYNC_TH_CORR)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 0b722675aad4..4fb3de71d032 100644
|
||||
index 0b722675a..4fb3de71d 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -1789,6 +1789,7 @@ static void rtw8852c_rfk_channel(struct rtw89_dev *rtwdev)
|
||||
@@ -267,7 +267,7 @@ index 0b722675aad4..4fb3de71d032 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
index 3108fa9cd5b2..ffc71ad24927 100644
|
||||
index 3108fa9cd..ffc71ad24 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
@@ -55,6 +55,11 @@ static const u32 _txk_g_track_range[TXK_GROUP_NR] = {0x5, 0x6, 0x6};
|
||||
@@ -1406,7 +1406,7 @@ index 3108fa9cd5b2..ffc71ad24927 100644
|
||||
{
|
||||
u32 i, path = RF_PATH_A, path_max = RF_PATH_NUM_8852C;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
index 5c0623f6af20..e42fb1a4965e 100644
|
||||
index 5c0623f6a..e42fb1a49 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
@@ -11,6 +11,8 @@ void rtw8852c_rck(struct rtw89_dev *rtwdev);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 5a5207074e8ae0af79852637c91ca78f9d3a79e3 Mon Sep 17 00:00:00 2001
|
||||
From 21678ce27805552dd9618246029376ebc672c007 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Tue, 3 May 2022 07:54:07 +0800
|
||||
Subject: [PATCH 487/515] rtw89: 8852c: rfk: add IQK
|
||||
Subject: [PATCH 486/534] rtw89: 8852c: rfk: add IQK
|
||||
|
||||
IQ signal calibration is a very important calibration to yield good RF
|
||||
performance. We do this calibration only if we are going to run on AP
|
||||
@@ -20,10 +20,10 @@ Link: https://lore.kernel.org/r/20220502235408.15052-8-pkshih@realtek.com
|
||||
5 files changed, 1099 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index a735e5aa6c75..e81cf835fe70 100644
|
||||
index 312d61edd..17d74ca17 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2649,6 +2649,7 @@ struct rtw89_lck_info {
|
||||
@@ -2650,6 +2650,7 @@ struct rtw89_lck_info {
|
||||
struct rtw89_iqk_info {
|
||||
bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
bool lok_fin_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
@@ -31,7 +31,7 @@ index a735e5aa6c75..e81cf835fe70 100644
|
||||
bool iqk_tx_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
bool iqk_rx_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
u32 iqk_fail_cnt;
|
||||
@@ -2677,6 +2678,8 @@ struct rtw89_iqk_info {
|
||||
@@ -2678,6 +2679,8 @@ struct rtw89_iqk_info {
|
||||
u32 syn1to2;
|
||||
u8 iqk_mcc_ch[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
u8 iqk_table_idx[RTW89_IQK_PATH_NR];
|
||||
@@ -41,7 +41,7 @@ index a735e5aa6c75..e81cf835fe70 100644
|
||||
|
||||
#define RTW89_DPK_RF_PATH 2
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
index c65598a7af26..120fc13520fc 100644
|
||||
index c65598a7a..120fc1352 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
@@ -3202,6 +3202,7 @@
|
||||
@@ -208,7 +208,7 @@ index c65598a7af26..120fc13520fc 100644
|
||||
#define R_DPD_V1 0x81a0
|
||||
#define R_DPD_CH0 0x81AC
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index cbf69670eafe..0b722675aad4 100644
|
||||
index cbf69670e..0b722675a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -1787,6 +1787,7 @@ static void rtw8852c_rfk_channel(struct rtw89_dev *rtwdev)
|
||||
@@ -220,7 +220,7 @@ index cbf69670eafe..0b722675aad4 100644
|
||||
rtw89_fw_h2c_rf_ntfy_mcc(rtwdev);
|
||||
}
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
index 197d177494da..3108fa9cd5b2 100644
|
||||
index 197d17749..3108fa9cd 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
@@ -21,6 +21,40 @@ static const u32 _tssi_de_mcs_80m_80m[RF_PATH_NUM_8852C] = {0x5850, 0x7850};
|
||||
@@ -1302,7 +1302,7 @@ index 197d177494da..3108fa9cd5b2 100644
|
||||
|
||||
void rtw8852c_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, bool is_afe)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
index fd07028a4964..5c0623f6af20 100644
|
||||
index fd07028a4..5c0623f6a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 3cfa7c575a23cf1e34ec4a457853e982595b8c5f Mon Sep 17 00:00:00 2001
|
||||
From b0dab983f3e5fcf13a6a95e266b3da4689fa9b21 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Tue, 3 May 2022 07:54:03 +0800
|
||||
Subject: [PATCH 483/515] rtw89: 8852c: rfk: add LCK
|
||||
Subject: [PATCH 482/534] rtw89: 8852c: rfk: add LCK
|
||||
|
||||
LCK is short fro LC Tank calibration. Do this calibration once driver
|
||||
loads RF parameters table. Since the characteristic can be changed by
|
||||
@@ -20,10 +20,10 @@ Link: https://lore.kernel.org/r/20220502235408.15052-4-pkshih@realtek.com
|
||||
5 files changed, 79 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index c307364069c0..a735e5aa6c75 100644
|
||||
index 6b291d595..312d61edd 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2642,6 +2642,10 @@ struct rtw89_mcc_info {
|
||||
@@ -2643,6 +2643,10 @@ struct rtw89_mcc_info {
|
||||
u8 table_idx;
|
||||
};
|
||||
|
||||
@@ -34,7 +34,7 @@ index c307364069c0..a735e5aa6c75 100644
|
||||
struct rtw89_iqk_info {
|
||||
bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
bool lok_fin_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
@@ -3114,6 +3118,7 @@ struct rtw89_dev {
|
||||
@@ -3115,6 +3119,7 @@ struct rtw89_dev {
|
||||
struct rtw89_iqk_info iqk;
|
||||
struct rtw89_dpk_info dpk;
|
||||
struct rtw89_mcc_info mcc;
|
||||
@@ -43,7 +43,7 @@ index c307364069c0..a735e5aa6c75 100644
|
||||
bool is_bt_iqk_timeout;
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
index ce472d3b1a66..028c88130823 100644
|
||||
index ce472d3b1..028c88130 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/reg.h
|
||||
@@ -3327,6 +3327,8 @@
|
||||
@@ -56,7 +56,7 @@ index ce472d3b1a66..028c88130823 100644
|
||||
#define RR_RCKD_POW GENMASK(19, 13)
|
||||
#define RR_RCKD_BW BIT(2)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 502627d8141d..14302ebed3d5 100644
|
||||
index 502627d81..14302ebed 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -1771,6 +1771,7 @@ static void rtw8852c_rfk_init(struct rtw89_dev *rtwdev)
|
||||
@@ -88,7 +88,7 @@ index 502627d8141d..14302ebed3d5 100644
|
||||
.set_txpwr = rtw8852c_set_txpwr,
|
||||
.set_txpwr_ctrl = rtw8852c_set_txpwr_ctrl,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
index 4245a2c5f9d6..ce08b2dcf545 100644
|
||||
index 4245a2c5f..ce08b2dcf 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
|
||||
@@ -632,6 +632,69 @@ static void _rxbb_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
|
||||
@@ -162,7 +162,7 @@ index 4245a2c5f9d6..ce08b2dcf545 100644
|
||||
void rtw8852c_ctrl_bw_ch(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
|
||||
u8 central_ch, enum rtw89_band band,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
index 7323183e74d4..4ce76ef4c5e6 100644
|
||||
index 7323183e7..4ce76ef4c 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
|
||||
@@ -11,5 +11,7 @@ void rtw8852c_dack(struct rtw89_dev *rtwdev);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 46d33ccbabac173c8e98357fe5b545b463b6412d Mon Sep 17 00:00:00 2001
|
||||
From 7731ccecb6c9150882ac1da6c82c8d766134eac6 Mon Sep 17 00:00:00 2001
|
||||
From: Zong-Zhe Yang <kevin_yang@realtek.com>
|
||||
Date: Thu, 14 Apr 2022 14:20:20 +0800
|
||||
Subject: [PATCH 459/515] rtw89: 8852c: support bb gain info
|
||||
Subject: [PATCH 458/534] rtw89: 8852c: support bb gain info
|
||||
|
||||
Add parser for bb gain table and configure bb gain table for 8852c.
|
||||
While ctrl_ch, obtain bb gain error settings and write them to phy.
|
||||
@@ -18,10 +18,10 @@ Link: https://lore.kernel.org/r/20220414062027.62638-7-pkshih@realtek.com
|
||||
4 files changed, 459 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 72271929f8e6..5617015a1fa5 100644
|
||||
index ef87e67b9..ea71d7f1a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -3000,6 +3000,41 @@ struct rtw89_hw_scan_info {
|
||||
@@ -3001,6 +3001,41 @@ struct rtw89_hw_scan_info {
|
||||
u8 op_band;
|
||||
};
|
||||
|
||||
@@ -63,7 +63,7 @@ index 72271929f8e6..5617015a1fa5 100644
|
||||
struct rtw89_dev {
|
||||
struct ieee80211_hw *hw;
|
||||
struct device *dev;
|
||||
@@ -3062,6 +3097,8 @@ struct rtw89_dev {
|
||||
@@ -3063,6 +3098,8 @@ struct rtw89_dev {
|
||||
struct rtw89_env_monitor_info env_monitor;
|
||||
struct rtw89_dig_info dig;
|
||||
struct rtw89_phy_ch_info ch_info;
|
||||
@@ -73,7 +73,7 @@ index 72271929f8e6..5617015a1fa5 100644
|
||||
struct delayed_work coex_act1_work;
|
||||
struct delayed_work coex_bt_devinfo_work;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index 6db0ac085f04..cc0d0c0194bb 100644
|
||||
index 0ff85aaae..46f764c05 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -790,6 +790,245 @@ static void rtw89_phy_config_bb_reg(struct rtw89_dev *rtwdev,
|
||||
@@ -337,7 +337,7 @@ index 6db0ac085f04..cc0d0c0194bb 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 9c6bef665c76..dba279938347 100644
|
||||
index 9c6bef665..dba279938 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -495,6 +495,184 @@ static void rtw8852c_power_trim(struct rtw89_dev *rtwdev)
|
||||
@@ -526,7 +526,7 @@ index 9c6bef665c76..dba279938347 100644
|
||||
enum rtw89_phy_idx phy_idx)
|
||||
{
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.h b/drivers/net/wireless/realtek/rtw89/rtw8852c.h
|
||||
index d0594716040b..d1c5b4367a9d 100644
|
||||
index d05947160..d1c5b4367 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.h
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 02a32277c46edabbe2cf0b2a73cb88dbb74e171e Mon Sep 17 00:00:00 2001
|
||||
From c46e12638c86c1076cc9d4614816f0df30665625 Mon Sep 17 00:00:00 2001
|
||||
From: Johnson Lin <johnson.lin@realtek.com>
|
||||
Date: Fri, 8 Apr 2022 08:13:48 +0800
|
||||
Subject: [PATCH 447/515] rtw89: Skip useless dig gain and igi related settings
|
||||
Subject: [PATCH 446/534] rtw89: Skip useless dig gain and igi related settings
|
||||
for 8852C
|
||||
|
||||
Separated DIG RX gain, IGI configurations from not supportted HW using
|
||||
@@ -17,10 +17,10 @@ Link: https://lore.kernel.org/r/20220408001353.17188-9-pkshih@realtek.com
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index 193afb1f53f5..be9c0cf9e469 100644
|
||||
index c3d3fe29e..23cc4a566 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -2930,6 +2930,9 @@ static void rtw89_phy_dig_update_gain_para(struct rtw89_dev *rtwdev)
|
||||
@@ -2935,6 +2935,9 @@ static void rtw89_phy_dig_update_gain_para(struct rtw89_dev *rtwdev)
|
||||
u32 tmp;
|
||||
u8 i;
|
||||
|
||||
@@ -30,7 +30,7 @@ index 193afb1f53f5..be9c0cf9e469 100644
|
||||
tmp = rtw89_phy_read32_mask(rtwdev, R_PATH0_IB_PKPW,
|
||||
B_PATH0_IB_PKPW_MSK);
|
||||
dig->ib_pkpwr = sign_extend32(tmp >> DIG_GAIN_SHIFT, U8_MAX_BIT);
|
||||
@@ -3184,6 +3187,9 @@ static void rtw89_phy_dig_config_igi(struct rtw89_dev *rtwdev)
|
||||
@@ -3189,6 +3192,9 @@ static void rtw89_phy_dig_config_igi(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
struct rtw89_dig_info *dig = &rtwdev->dig;
|
||||
|
||||
@@ -40,7 +40,7 @@ index 193afb1f53f5..be9c0cf9e469 100644
|
||||
if (dig->force_gaincode_idx_en) {
|
||||
rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode);
|
||||
rtw89_debug(rtwdev, RTW89_DBG_DIG,
|
||||
@@ -3309,8 +3315,7 @@ void rtw89_phy_dig(struct rtw89_dev *rtwdev)
|
||||
@@ -3314,8 +3320,7 @@ void rtw89_phy_dig(struct rtw89_dev *rtwdev)
|
||||
dig->igi_rssi, dig->dyn_igi_max, dig->dyn_igi_min,
|
||||
dig->igi_fa_rssi);
|
||||
|
||||
@@ -51,7 +51,7 @@ index 193afb1f53f5..be9c0cf9e469 100644
|
||||
rtw89_phy_dig_dyn_pd_th(rtwdev, dig->igi_fa_rssi, dig->dyn_pd_th_en);
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 9689fc5a6372..ca254339ea7a 100644
|
||||
index 9689fc5a6..ca254339e 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -598,6 +598,7 @@ const struct rtw89_chip_info rtw8852c_chip_info = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 19814d5a61834fc661aaa96fd9c630a158cb5e03 Mon Sep 17 00:00:00 2001
|
||||
From 278028a23696bc8e1e4f7347661282ace187320c Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Thu, 21 Apr 2022 20:08:58 +0800
|
||||
Subject: [PATCH 474/515] rtw89: add RF H2C to notify firmware
|
||||
Subject: [PATCH 473/534] rtw89: add RF H2C to notify firmware
|
||||
|
||||
IQK results in hardware has two copies that are used by firmware to switch
|
||||
these two to support MCC.
|
||||
@@ -20,10 +20,10 @@ Link: https://lore.kernel.org/r/20220421120903.73715-10-pkshih@realtek.com
|
||||
4 files changed, 73 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 90231b20e7ee..1e79660f288b 100644
|
||||
index bc54463e9..c7261f224 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2634,6 +2634,13 @@ struct rtw89_dack_info {
|
||||
@@ -2635,6 +2635,13 @@ struct rtw89_dack_info {
|
||||
|
||||
#define RTW89_IQK_CHS_NR 2
|
||||
#define RTW89_IQK_PATH_NR 4
|
||||
@@ -37,7 +37,7 @@ index 90231b20e7ee..1e79660f288b 100644
|
||||
struct rtw89_iqk_info {
|
||||
bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
bool lok_fin_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
|
||||
@@ -3105,6 +3112,7 @@ struct rtw89_dev {
|
||||
@@ -3106,6 +3113,7 @@ struct rtw89_dev {
|
||||
struct rtw89_dack_info dack;
|
||||
struct rtw89_iqk_info iqk;
|
||||
struct rtw89_dpk_info dpk;
|
||||
@@ -46,10 +46,10 @@ index 90231b20e7ee..1e79660f288b 100644
|
||||
bool is_bt_iqk_timeout;
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
index 5d411f8ee2ed..4e393cb7db16 100644
|
||||
index fc33824a2..f693b2eaf 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
@@ -1784,6 +1784,45 @@ int rtw89_fw_h2c_rf_reg(struct rtw89_dev *rtwdev,
|
||||
@@ -1789,6 +1789,45 @@ int rtw89_fw_h2c_rf_reg(struct rtw89_dev *rtwdev,
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ index 5d411f8ee2ed..4e393cb7db16 100644
|
||||
u8 h2c_class, u8 h2c_func, u8 *buf, u16 len,
|
||||
bool rack, bool dack)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.h b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
index aaabfc0dfd71..95a55c4213db 100644
|
||||
index aaabfc0df..95a55c421 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
@@ -2538,6 +2538,17 @@ struct rtw89_fw_h2c_rf_reg_info {
|
||||
@@ -126,7 +126,7 @@ index aaabfc0dfd71..95a55c4213db 100644
|
||||
u8 h2c_class, u8 h2c_func, u8 *buf, u16 len,
|
||||
bool rack, bool dack);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 1302d4324473..3ee57df0a639 100644
|
||||
index 1302d4324..3ee57df0a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -1766,6 +1766,18 @@ static void rtw8852c_set_channel_help(struct rtw89_dev *rtwdev, bool enter,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From cb72b7876d813cd0d7818c5c99dc75ac302e4a5c Mon Sep 17 00:00:00 2001
|
||||
From ebc33c055d70175bd044f983a8acf2fd98df9e7c Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Fri, 18 Mar 2022 10:32:10 +0800
|
||||
Subject: [PATCH 414/515] rtw89: add chip_info::h2c_desc_size/fill_txdesc_fwcmd
|
||||
Subject: [PATCH 414/534] rtw89: add chip_info::h2c_desc_size/fill_txdesc_fwcmd
|
||||
to support new chips
|
||||
|
||||
8852A and 8852C use different H2C header and size, so add h2c_desc_size
|
||||
@@ -23,7 +23,7 @@ Link: https://lore.kernel.org/r/20220318023214.32411-8-pkshih@realtek.com
|
||||
9 files changed, 176 insertions(+), 43 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
index 26bef9fdd205..34df3c07c55c 100644
|
||||
index 26bef9fdd..34df3c07c 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
@@ -18,7 +18,7 @@ rtw89_cam_get_sec_key_cmd(struct rtw89_dev *rtwdev,
|
||||
@@ -36,7 +36,7 @@ index 26bef9fdd205..34df3c07c55c 100644
|
||||
return NULL;
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index bce4834f18ec..a5c13fd7d8a0 100644
|
||||
index bce4834f1..a5c13fd7d 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -977,6 +977,26 @@ void rtw89_core_fill_txdesc(struct rtw89_dev *rtwdev,
|
||||
@@ -67,7 +67,7 @@ index bce4834f18ec..a5c13fd7d8a0 100644
|
||||
struct sk_buff *skb,
|
||||
struct rtw89_rx_phy_ppdu *phy_ppdu)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 725484be2b62..c17756ff5476 100644
|
||||
index 14a97908e..6fa6d7a68 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -117,6 +117,8 @@ enum rtw89_core_rx_type {
|
||||
@@ -97,7 +97,7 @@ index 725484be2b62..c17756ff5476 100644
|
||||
u32 h2c_ctrl_reg;
|
||||
const u32 *h2c_regs;
|
||||
u32 c2h_ctrl_reg;
|
||||
@@ -3507,6 +3513,16 @@ static inline void rtw89_ctrl_btg(struct rtw89_dev *rtwdev, bool btg)
|
||||
@@ -3508,6 +3514,16 @@ static inline void rtw89_ctrl_btg(struct rtw89_dev *rtwdev, bool btg)
|
||||
chip->ops->ctrl_btg(rtwdev, btg);
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ index 725484be2b62..c17756ff5476 100644
|
||||
static inline
|
||||
void rtw89_chip_mac_cfg_gnt(struct rtw89_dev *rtwdev,
|
||||
const struct rtw89_mac_ax_coex_gnt *gnt_cfg)
|
||||
@@ -3580,6 +3596,9 @@ void rtw89_core_tx_kick_off(struct rtw89_dev *rtwdev, u8 qsel);
|
||||
@@ -3581,6 +3597,9 @@ void rtw89_core_tx_kick_off(struct rtw89_dev *rtwdev, u8 qsel);
|
||||
void rtw89_core_fill_txdesc(struct rtw89_dev *rtwdev,
|
||||
struct rtw89_tx_desc_info *desc_info,
|
||||
void *txdesc);
|
||||
@@ -125,7 +125,7 @@ index 725484be2b62..c17756ff5476 100644
|
||||
struct rtw89_rx_desc_info *desc_info,
|
||||
struct sk_buff *skb);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
index 2c9470616a1b..5985b40950bc 100644
|
||||
index c13dcf3de..d89193289 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
@@ -10,31 +10,33 @@
|
||||
@@ -187,7 +187,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
|
||||
return -ENOMEM;
|
||||
@@ -570,7 +572,7 @@ int rtw89_fw_h2c_cam(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
||||
@@ -575,7 +577,7 @@ int rtw89_fw_h2c_cam(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -196,7 +196,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
|
||||
return -ENOMEM;
|
||||
@@ -619,7 +621,7 @@ int rtw89_fw_h2c_ba_cam(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta,
|
||||
@@ -624,7 +626,7 @@ int rtw89_fw_h2c_ba_cam(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta,
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -205,7 +205,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c ba cam\n");
|
||||
return -ENOMEM;
|
||||
@@ -665,7 +667,7 @@ int rtw89_fw_h2c_fw_log(struct rtw89_dev *rtwdev, bool enable)
|
||||
@@ -670,7 +672,7 @@ int rtw89_fw_h2c_fw_log(struct rtw89_dev *rtwdev, bool enable)
|
||||
u32 comp = enable ? BIT(RTW89_FW_LOG_COMP_INIT) | BIT(RTW89_FW_LOG_COMP_TASK) |
|
||||
BIT(RTW89_FW_LOG_COMP_PS) | BIT(RTW89_FW_LOG_COMP_ERROR) : 0;
|
||||
|
||||
@@ -214,7 +214,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw log cfg\n");
|
||||
return -ENOMEM;
|
||||
@@ -701,7 +703,7 @@ int rtw89_fw_h2c_general_pkt(struct rtw89_dev *rtwdev, u8 macid)
|
||||
@@ -706,7 +708,7 @@ int rtw89_fw_h2c_general_pkt(struct rtw89_dev *rtwdev, u8 macid)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -223,7 +223,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
|
||||
return -ENOMEM;
|
||||
@@ -738,7 +740,7 @@ int rtw89_fw_h2c_lps_parm(struct rtw89_dev *rtwdev,
|
||||
@@ -743,7 +745,7 @@ int rtw89_fw_h2c_lps_parm(struct rtw89_dev *rtwdev,
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -232,7 +232,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
|
||||
return -ENOMEM;
|
||||
@@ -784,7 +786,7 @@ int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -789,7 +791,7 @@ int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
u8 map_b = hal->antenna_tx == RF_AB ? 1 : 0;
|
||||
u8 macid = rtwvif->mac_id;
|
||||
|
||||
@@ -241,7 +241,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
|
||||
return -ENOMEM;
|
||||
@@ -894,7 +896,7 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -899,7 +901,7 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
if (sta)
|
||||
__get_sta_he_pkt_padding(rtwdev, sta, pads);
|
||||
|
||||
@@ -250,7 +250,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
|
||||
return -ENOMEM;
|
||||
@@ -945,7 +947,7 @@ int rtw89_fw_h2c_txtime_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -950,7 +952,7 @@ int rtw89_fw_h2c_txtime_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -259,7 +259,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
|
||||
return -ENOMEM;
|
||||
@@ -997,7 +999,7 @@ int rtw89_fw_h2c_update_beacon(struct rtw89_dev *rtwdev,
|
||||
@@ -1002,7 +1004,7 @@ int rtw89_fw_h2c_update_beacon(struct rtw89_dev *rtwdev,
|
||||
}
|
||||
|
||||
bcn_total_len = H2C_BCN_BASE_LEN + skb_beacon->len;
|
||||
@@ -268,7 +268,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
|
||||
dev_kfree_skb_any(skb_beacon);
|
||||
@@ -1051,7 +1053,7 @@ int rtw89_fw_h2c_role_maintain(struct rtw89_dev *rtwdev,
|
||||
@@ -1056,7 +1058,7 @@ int rtw89_fw_h2c_role_maintain(struct rtw89_dev *rtwdev,
|
||||
self_role = rtwvif->self_role;
|
||||
}
|
||||
|
||||
@@ -277,7 +277,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c join\n");
|
||||
return -ENOMEM;
|
||||
@@ -1093,7 +1095,7 @@ int rtw89_fw_h2c_join_info(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
||||
@@ -1098,7 +1100,7 @@ int rtw89_fw_h2c_join_info(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
||||
net_type = dis_conn ? RTW89_NET_TYPE_NO_LINK : net_type;
|
||||
}
|
||||
|
||||
@@ -286,7 +286,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c join\n");
|
||||
return -ENOMEM;
|
||||
@@ -1137,7 +1139,7 @@ int rtw89_fw_h2c_macid_pause(struct rtw89_dev *rtwdev, u8 sh, u8 grp,
|
||||
@@ -1142,7 +1144,7 @@ int rtw89_fw_h2c_macid_pause(struct rtw89_dev *rtwdev, u8 sh, u8 grp,
|
||||
u8 len = sizeof(struct rtw89_fw_macid_pause_grp);
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -295,7 +295,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c join\n");
|
||||
return -ENOMEM;
|
||||
@@ -1170,7 +1172,7 @@ int rtw89_fw_h2c_set_edca(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
||||
@@ -1175,7 +1177,7 @@ int rtw89_fw_h2c_set_edca(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -304,7 +304,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c edca\n");
|
||||
return -ENOMEM;
|
||||
@@ -1205,7 +1207,7 @@ int rtw89_fw_h2c_set_ofld_cfg(struct rtw89_dev *rtwdev)
|
||||
@@ -1210,7 +1212,7 @@ int rtw89_fw_h2c_set_ofld_cfg(struct rtw89_dev *rtwdev)
|
||||
static const u8 cfg[] = {0x09, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00};
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -313,7 +313,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c ofld\n");
|
||||
return -ENOMEM;
|
||||
@@ -1235,7 +1237,7 @@ int rtw89_fw_h2c_ra(struct rtw89_dev *rtwdev, struct rtw89_ra_info *ra, bool csi
|
||||
@@ -1240,7 +1242,7 @@ int rtw89_fw_h2c_ra(struct rtw89_dev *rtwdev, struct rtw89_ra_info *ra, bool csi
|
||||
struct sk_buff *skb;
|
||||
u8 *cmd;
|
||||
|
||||
@@ -322,7 +322,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c join\n");
|
||||
return -ENOMEM;
|
||||
@@ -1306,7 +1308,7 @@ int rtw89_fw_h2c_cxdrv_init(struct rtw89_dev *rtwdev)
|
||||
@@ -1311,7 +1313,7 @@ int rtw89_fw_h2c_cxdrv_init(struct rtw89_dev *rtwdev)
|
||||
struct sk_buff *skb;
|
||||
u8 *cmd;
|
||||
|
||||
@@ -331,7 +331,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_init\n");
|
||||
return -ENOMEM;
|
||||
@@ -1365,7 +1367,7 @@ int rtw89_fw_h2c_cxdrv_role(struct rtw89_dev *rtwdev)
|
||||
@@ -1370,7 +1372,7 @@ int rtw89_fw_h2c_cxdrv_role(struct rtw89_dev *rtwdev)
|
||||
u8 *cmd;
|
||||
int i;
|
||||
|
||||
@@ -340,7 +340,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_role\n");
|
||||
return -ENOMEM;
|
||||
@@ -1433,7 +1435,7 @@ int rtw89_fw_h2c_cxdrv_ctrl(struct rtw89_dev *rtwdev)
|
||||
@@ -1438,7 +1440,7 @@ int rtw89_fw_h2c_cxdrv_ctrl(struct rtw89_dev *rtwdev)
|
||||
struct sk_buff *skb;
|
||||
u8 *cmd;
|
||||
|
||||
@@ -349,7 +349,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_ctrl\n");
|
||||
return -ENOMEM;
|
||||
@@ -1475,7 +1477,7 @@ int rtw89_fw_h2c_cxdrv_rfk(struct rtw89_dev *rtwdev)
|
||||
@@ -1480,7 +1482,7 @@ int rtw89_fw_h2c_cxdrv_rfk(struct rtw89_dev *rtwdev)
|
||||
struct sk_buff *skb;
|
||||
u8 *cmd;
|
||||
|
||||
@@ -358,7 +358,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_ctrl\n");
|
||||
return -ENOMEM;
|
||||
@@ -1515,7 +1517,7 @@ int rtw89_fw_h2c_del_pkt_offload(struct rtw89_dev *rtwdev, u8 id)
|
||||
@@ -1520,7 +1522,7 @@ int rtw89_fw_h2c_del_pkt_offload(struct rtw89_dev *rtwdev, u8 id)
|
||||
struct sk_buff *skb;
|
||||
u8 *cmd;
|
||||
|
||||
@@ -367,7 +367,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c pkt offload\n");
|
||||
return -ENOMEM;
|
||||
@@ -1557,7 +1559,7 @@ int rtw89_fw_h2c_add_pkt_offload(struct rtw89_dev *rtwdev, u8 *id,
|
||||
@@ -1562,7 +1564,7 @@ int rtw89_fw_h2c_add_pkt_offload(struct rtw89_dev *rtwdev, u8 *id,
|
||||
|
||||
*id = alloc_id;
|
||||
|
||||
@@ -376,7 +376,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c pkt offload\n");
|
||||
return -ENOMEM;
|
||||
@@ -1596,7 +1598,7 @@ int rtw89_fw_h2c_scan_list_offload(struct rtw89_dev *rtwdev, int len,
|
||||
@@ -1601,7 +1603,7 @@ int rtw89_fw_h2c_scan_list_offload(struct rtw89_dev *rtwdev, int len,
|
||||
int skb_len = H2C_LEN_SCAN_LIST_OFFLOAD + len * RTW89_MAC_CHINFO_SIZE;
|
||||
u8 *cmd;
|
||||
|
||||
@@ -385,7 +385,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c scan list\n");
|
||||
return -ENOMEM;
|
||||
@@ -1660,7 +1662,7 @@ int rtw89_fw_h2c_scan_offload(struct rtw89_dev *rtwdev,
|
||||
@@ -1665,7 +1667,7 @@ int rtw89_fw_h2c_scan_offload(struct rtw89_dev *rtwdev,
|
||||
struct sk_buff *skb;
|
||||
u8 *cmd;
|
||||
|
||||
@@ -394,7 +394,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c scan offload\n");
|
||||
return -ENOMEM;
|
||||
@@ -1709,7 +1711,7 @@ int rtw89_fw_h2c_rf_reg(struct rtw89_dev *rtwdev,
|
||||
@@ -1714,7 +1716,7 @@ int rtw89_fw_h2c_rf_reg(struct rtw89_dev *rtwdev,
|
||||
u8 class = info->rf_path == RF_PATH_A ?
|
||||
H2C_CL_OUTSRC_RF_REG_A : H2C_CL_OUTSRC_RF_REG_B;
|
||||
|
||||
@@ -403,7 +403,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c rf reg\n");
|
||||
return -ENOMEM;
|
||||
@@ -1738,7 +1740,7 @@ int rtw89_fw_h2c_raw_with_hdr(struct rtw89_dev *rtwdev,
|
||||
@@ -1743,7 +1745,7 @@ int rtw89_fw_h2c_raw_with_hdr(struct rtw89_dev *rtwdev,
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -412,7 +412,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for raw with hdr\n");
|
||||
return -ENOMEM;
|
||||
@@ -1765,7 +1767,7 @@ int rtw89_fw_h2c_raw(struct rtw89_dev *rtwdev, const u8 *buf, u16 len)
|
||||
@@ -1770,7 +1772,7 @@ int rtw89_fw_h2c_raw(struct rtw89_dev *rtwdev, const u8 *buf, u16 len)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -421,7 +421,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
if (!skb) {
|
||||
rtw89_err(rtwdev, "failed to alloc skb for h2c raw\n");
|
||||
return -ENOMEM;
|
||||
@@ -2295,7 +2297,7 @@ int rtw89_fw_h2c_trigger_cpu_exception(struct rtw89_dev *rtwdev)
|
||||
@@ -2300,7 +2302,7 @@ int rtw89_fw_h2c_trigger_cpu_exception(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -431,7 +431,7 @@ index 2c9470616a1b..5985b40950bc 100644
|
||||
rtw89_err(rtwdev,
|
||||
"failed to alloc skb for fw cpu exception\n");
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.h b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
index 24ab249a8ece..2a010154a8e8 100644
|
||||
index 24ab249a8..2a010154a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
@@ -2277,8 +2277,8 @@ int rtw89_fw_h2c_ba_cam(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta,
|
||||
@@ -446,7 +446,7 @@ index 24ab249a8ece..2a010154a8e8 100644
|
||||
struct rtw89_mac_h2c_info *h2c_info,
|
||||
struct rtw89_mac_c2h_info *c2h_info);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
index 32e8283e22f3..9335fba28fc1 100644
|
||||
index 32e8283e2..9335fba28 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
@@ -1043,16 +1043,18 @@ static int rtw89_pci_fwcmd_submit(struct rtw89_dev *rtwdev,
|
||||
@@ -473,7 +473,7 @@ index 32e8283e22f3..9335fba28fc1 100644
|
||||
dma = dma_map_single(&pdev->dev, skb->data, skb->len, DMA_TO_DEVICE);
|
||||
if (dma_mapping_error(&pdev->dev, dma)) {
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
index 67aaa05cb751..6aa3d19a7464 100644
|
||||
index 67aaa05cb..6aa3d19a7 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
@@ -2021,6 +2021,7 @@ static const struct rtw89_chip_ops rtw8852a_chip_ops = {
|
||||
@@ -493,7 +493,7 @@ index 67aaa05cb751..6aa3d19a7464 100644
|
||||
.h2c_regs = rtw8852a_h2c_regs,
|
||||
.c2h_ctrl_reg = R_AX_C2HREG_CTRL,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 123cc3c4318d..08a9c01a359e 100644
|
||||
index 123cc3c43..08a9c01a3 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -492,6 +492,7 @@ static const struct rtw89_chip_ops rtw8852c_chip_ops = {
|
||||
@@ -513,7 +513,7 @@ index 123cc3c4318d..08a9c01a359e 100644
|
||||
.h2c_regs = rtw8852c_h2c_regs,
|
||||
.c2h_ctrl_reg = R_AX_C2HREG_CTRL_V1,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/txrx.h b/drivers/net/wireless/realtek/rtw89/txrx.h
|
||||
index 86e3d8b400d6..4e81d6df9368 100644
|
||||
index 86e3d8b40..4e81d6df9 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/txrx.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/txrx.h
|
||||
@@ -79,6 +79,92 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From f8485df33063540c3e6a8df513c38c369452885f Mon Sep 17 00:00:00 2001
|
||||
From 770685ca64e60c5ea62f66e7b41152513f7c5c0a Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Wed, 13 Apr 2022 09:08:02 +0800
|
||||
Subject: [PATCH 451/515] rtw89: add new H2C to configure security CAM via DCTL
|
||||
Subject: [PATCH 450/534] rtw89: add new H2C to configure security CAM via DCTL
|
||||
for V1 chip
|
||||
|
||||
DCTL is short for D-MAC control that V1 chip uses this H2C to configure
|
||||
@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20220413010804.8941-3-pkshih@realtek.com
|
||||
4 files changed, 373 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
index 34827f174ba1..08b9779163bb 100644
|
||||
index 34827f174..08b977916 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
@@ -710,3 +710,31 @@ void rtw89_cam_fill_addr_cam_info(struct rtw89_dev *rtwdev,
|
||||
@@ -54,7 +54,7 @@ index 34827f174ba1..08b9779163bb 100644
|
||||
+ SET_DCTL_SEC_ENT6_V1(cmd, addr_cam->sec_ent[6]);
|
||||
+}
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/cam.h b/drivers/net/wireless/realtek/rtw89/cam.h
|
||||
index 3a6a786530d1..a3931d3e40d2 100644
|
||||
index 3a6a78653..a3931d3e4 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/cam.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/cam.h
|
||||
@@ -355,6 +355,10 @@ void rtw89_cam_fill_addr_cam_info(struct rtw89_dev *rtwdev,
|
||||
@@ -69,10 +69,10 @@ index 3a6a786530d1..a3931d3e40d2 100644
|
||||
struct rtw89_vif *vif, u8 *cmd);
|
||||
int rtw89_cam_sec_key_add(struct rtw89_dev *rtwdev,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
index beedc650e33a..5d411f8ee2ed 100644
|
||||
index d22552cf1..fc33824a2 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
@@ -599,6 +599,41 @@ int rtw89_fw_h2c_cam(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
||||
@@ -604,6 +604,41 @@ int rtw89_fw_h2c_cam(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ index beedc650e33a..5d411f8ee2ed 100644
|
||||
int rtw89_fw_h2c_ba_cam(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta,
|
||||
bool valid, struct ieee80211_ampdu_params *params)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.h b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
index 9cba8990b836..aaabfc0dfd71 100644
|
||||
index 9cba8990b..aaabfc0df 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
@@ -1151,6 +1151,308 @@ static inline void SET_CMC_TBL_CSI_BW(void *table, u32 val)
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
From 68c30b679d42ca34a233c925e88ff3c9415c3bda Mon Sep 17 00:00:00 2001
|
||||
From: Eric Huang <echuang@realtek.com>
|
||||
Date: Wed, 8 Jun 2022 19:32:24 +0800
|
||||
Subject: [PATCH 536/538] rtw89: add new state to CFO state machine for
|
||||
UL-OFDMA
|
||||
|
||||
Add an new state, RTW89_PHY_DCFO_STATE_HOLD, to keep CFO acceleration
|
||||
after CFO_PERIOD_CNT if the traffic is UL-OFDMA, which is calculated
|
||||
based on RX trigger frame counter.
|
||||
|
||||
Signed-off-by: Eric Huang <echuang@realtek.com>
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220608113224.11193-4-pkshih@realtek.com
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw89/core.h | 7 +++++++
|
||||
drivers/net/wireless/realtek/rtw89/phy.c | 24 ++++++++++++++++++++---
|
||||
drivers/net/wireless/realtek/rtw89/phy.h | 1 +
|
||||
3 files changed, 29 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 7660b10d5377..48bfccb15c45 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2810,13 +2810,20 @@ enum rtw89_multi_cfo_mode {
|
||||
enum rtw89_phy_cfo_status {
|
||||
RTW89_PHY_DCFO_STATE_NORMAL = 0,
|
||||
RTW89_PHY_DCFO_STATE_ENHANCE = 1,
|
||||
+ RTW89_PHY_DCFO_STATE_HOLD = 2,
|
||||
RTW89_PHY_DCFO_STATE_MAX
|
||||
};
|
||||
|
||||
+enum rtw89_phy_cfo_ul_ofdma_acc_mode {
|
||||
+ RTW89_CFO_UL_OFDMA_ACC_DISABLE = 0,
|
||||
+ RTW89_CFO_UL_OFDMA_ACC_ENABLE = 1
|
||||
+};
|
||||
+
|
||||
struct rtw89_cfo_tracking_info {
|
||||
u16 cfo_timer_ms;
|
||||
bool cfo_trig_by_timer_en;
|
||||
enum rtw89_phy_cfo_status phy_cfo_status;
|
||||
+ enum rtw89_phy_cfo_ul_ofdma_acc_mode cfo_ul_ofdma_acc_mode;
|
||||
u8 phy_cfo_trk_cnt;
|
||||
bool is_adjust;
|
||||
enum rtw89_multi_cfo_mode rtw89_multi_cfo_mode;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index e219bed38ff4..4c03babcdb34 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -2151,6 +2151,7 @@ static void rtw89_phy_cfo_init(struct rtw89_dev *rtwdev)
|
||||
cfo->cfo_trig_by_timer_en = false;
|
||||
cfo->phy_cfo_trk_cnt = 0;
|
||||
cfo->phy_cfo_status = RTW89_PHY_DCFO_STATE_NORMAL;
|
||||
+ cfo->cfo_ul_ofdma_acc_mode = RTW89_CFO_UL_OFDMA_ACC_ENABLE;
|
||||
}
|
||||
|
||||
static void rtw89_phy_cfo_crystal_cap_adjust(struct rtw89_dev *rtwdev,
|
||||
@@ -2419,6 +2420,13 @@ void rtw89_phy_cfo_track(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
struct rtw89_cfo_tracking_info *cfo = &rtwdev->cfo_tracking;
|
||||
struct rtw89_traffic_stats *stats = &rtwdev->stats;
|
||||
+ bool is_ul_ofdma = false, ofdma_acc_en = false;
|
||||
+
|
||||
+ if (stats->rx_tf_periodic > CFO_TF_CNT_TH)
|
||||
+ is_ul_ofdma = true;
|
||||
+ if (cfo->cfo_ul_ofdma_acc_mode == RTW89_CFO_UL_OFDMA_ACC_ENABLE &&
|
||||
+ is_ul_ofdma)
|
||||
+ ofdma_acc_en = true;
|
||||
|
||||
switch (cfo->phy_cfo_status) {
|
||||
case RTW89_PHY_DCFO_STATE_NORMAL:
|
||||
@@ -2430,16 +2438,26 @@ void rtw89_phy_cfo_track(struct rtw89_dev *rtwdev)
|
||||
}
|
||||
break;
|
||||
case RTW89_PHY_DCFO_STATE_ENHANCE:
|
||||
- if (cfo->phy_cfo_trk_cnt >= CFO_PERIOD_CNT) {
|
||||
+ if (stats->tx_throughput <= CFO_TP_LOWER)
|
||||
+ cfo->phy_cfo_status = RTW89_PHY_DCFO_STATE_NORMAL;
|
||||
+ else if (ofdma_acc_en &&
|
||||
+ cfo->phy_cfo_trk_cnt >= CFO_PERIOD_CNT)
|
||||
+ cfo->phy_cfo_status = RTW89_PHY_DCFO_STATE_HOLD;
|
||||
+ else
|
||||
+ cfo->phy_cfo_trk_cnt++;
|
||||
+
|
||||
+ if (cfo->phy_cfo_status == RTW89_PHY_DCFO_STATE_NORMAL) {
|
||||
cfo->phy_cfo_trk_cnt = 0;
|
||||
cfo->cfo_trig_by_timer_en = false;
|
||||
}
|
||||
- if (cfo->cfo_trig_by_timer_en == 1)
|
||||
- cfo->phy_cfo_trk_cnt++;
|
||||
+ break;
|
||||
+ case RTW89_PHY_DCFO_STATE_HOLD:
|
||||
if (stats->tx_throughput <= CFO_TP_LOWER) {
|
||||
cfo->phy_cfo_status = RTW89_PHY_DCFO_STATE_NORMAL;
|
||||
cfo->phy_cfo_trk_cnt = 0;
|
||||
cfo->cfo_trig_by_timer_en = false;
|
||||
+ } else {
|
||||
+ cfo->phy_cfo_trk_cnt++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.h b/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
index 291660154d58..e20636f54b55 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.h
|
||||
@@ -62,6 +62,7 @@
|
||||
#define CFO_COMP_PERIOD 250
|
||||
#define CFO_COMP_WEIGHT 8
|
||||
#define MAX_CFO_TOLERANCE 30
|
||||
+#define CFO_TF_CNT_TH 300
|
||||
|
||||
#define CCX_MAX_PERIOD 2097
|
||||
#define CCX_MAX_PERIOD_UNIT 32
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
From ee38a53cc9b2510eea460e7fcaa19edb3c58d4b7 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Mon, 16 May 2022 08:52:12 +0800
|
||||
Subject: [PATCH 504/515] rtw89: cfo: check mac_id to avoid out-of-bounds
|
||||
|
||||
Somehow, hardware reports incorrect mac_id and pollute memory. Check index
|
||||
before we access the array.
|
||||
|
||||
UBSAN: array-index-out-of-bounds in rtw89/phy.c:2517:23
|
||||
index 188 is out of range for type 's32 [64]'
|
||||
CPU: 1 PID: 51550 Comm: irq/35-rtw89_pc Tainted: G OE
|
||||
Call Trace:
|
||||
<IRQ>
|
||||
show_stack+0x52/0x58
|
||||
dump_stack_lvl+0x4c/0x63
|
||||
dump_stack+0x10/0x12
|
||||
ubsan_epilogue+0x9/0x45
|
||||
__ubsan_handle_out_of_bounds.cold+0x44/0x49
|
||||
? __alloc_skb+0x92/0x1d0
|
||||
rtw89_phy_cfo_parse+0x44/0x7f [rtw89_core]
|
||||
rtw89_core_rx+0x261/0x871 [rtw89_core]
|
||||
? __alloc_skb+0xee/0x1d0
|
||||
rtw89_pci_napi_poll+0x3fa/0x4ea [rtw89_pci]
|
||||
__napi_poll+0x33/0x1a0
|
||||
net_rx_action+0x126/0x260
|
||||
? __queue_work+0x217/0x4c0
|
||||
__do_softirq+0xd9/0x315
|
||||
? disable_irq_nosync+0x10/0x10
|
||||
do_softirq.part.0+0x6d/0x90
|
||||
</IRQ>
|
||||
<TASK>
|
||||
__local_bh_enable_ip+0x62/0x70
|
||||
rtw89_pci_interrupt_threadfn+0x182/0x1a6 [rtw89_pci]
|
||||
irq_thread_fn+0x28/0x60
|
||||
irq_thread+0xc8/0x190
|
||||
? irq_thread_fn+0x60/0x60
|
||||
kthread+0x16b/0x190
|
||||
? irq_thread_check_affinity+0xe0/0xe0
|
||||
? set_kthread_struct+0x50/0x50
|
||||
ret_from_fork+0x22/0x30
|
||||
</TASK>
|
||||
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220516005215.5878-4-pkshih@realtek.com
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw89/phy.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index bd5acf959268..0aa0ced458b3 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -2462,6 +2462,11 @@ void rtw89_phy_cfo_parse(struct rtw89_dev *rtwdev, s16 cfo_val,
|
||||
struct rtw89_cfo_tracking_info *cfo = &rtwdev->cfo_tracking;
|
||||
u8 macid = phy_ppdu->mac_id;
|
||||
|
||||
+ if (macid >= CFO_TRACK_MAX_USER) {
|
||||
+ rtw89_warn(rtwdev, "mac_id %d is out of range\n", macid);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
cfo->cfo_tail[macid] += cfo_val;
|
||||
cfo->cfo_cnt[macid]++;
|
||||
cfo->packet_count++;
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From d3d96ebde534f5311d395cffec83c0720d84c660 Mon Sep 17 00:00:00 2001
|
||||
From 8a26187cee30959b2f1a66963adca21d6f5803d6 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Wed, 13 Apr 2022 09:08:03 +0800
|
||||
Subject: [PATCH 452/515] rtw89: configure security CAM for V1 chip
|
||||
Subject: [PATCH 451/534] rtw89: configure security CAM for V1 chip
|
||||
|
||||
Add to configure security CAM while mac80211 calls set_key and del_key.
|
||||
|
||||
@@ -16,7 +16,7 @@ Link: https://lore.kernel.org/r/20220413010804.8941-4-pkshih@realtek.com
|
||||
4 files changed, 26 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
index 08b9779163bb..8a26adeb23fb 100644
|
||||
index 08b977916..8a26adeb2 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
@@ -244,6 +244,12 @@ static int rtw89_cam_attach_sec_cam(struct rtw89_dev *rtwdev,
|
||||
@@ -43,7 +43,7 @@ index 08b9779163bb..8a26adeb23fb 100644
|
||||
if (ret)
|
||||
rtw89_err(rtwdev, "failed to update cam del key: %d\n", ret);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 9fc7c1c70365..9ca570d143ac 100644
|
||||
index fa9bd2449..0e25f974e 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2106,6 +2106,9 @@ struct rtw89_chip_ops {
|
||||
@@ -56,7 +56,7 @@ index 9fc7c1c70365..9ca570d143ac 100644
|
||||
|
||||
void (*btc_set_rfe)(struct rtw89_dev *rtwdev);
|
||||
void (*btc_init_cfg)(struct rtw89_dev *rtwdev);
|
||||
@@ -3634,6 +3637,18 @@ int rtw89_chip_resume_sch_tx(struct rtw89_dev *rtwdev, u8 mac_idx, u32 tx_en)
|
||||
@@ -3635,6 +3638,18 @@ int rtw89_chip_resume_sch_tx(struct rtw89_dev *rtwdev, u8 mac_idx, u32 tx_en)
|
||||
return chip->ops->resume_sch_tx(rtwdev, mac_idx, tx_en);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ index 9fc7c1c70365..9ca570d143ac 100644
|
||||
{
|
||||
__le16 fc = hdr->frame_control;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
index 6371bbf7a2fd..975c50495304 100644
|
||||
index 6371bbf7a..975c50495 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
@@ -2075,6 +2075,7 @@ static const struct rtw89_chip_ops rtw8852a_chip_ops = {
|
||||
@@ -88,7 +88,7 @@ index 6371bbf7a2fd..975c50495304 100644
|
||||
.btc_set_rfe = rtw8852a_btc_set_rfe,
|
||||
.btc_init_cfg = rtw8852a_btc_init_cfg,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index d900129c1a7c..d56d65661ce0 100644
|
||||
index d900129c1..d56d65661 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -645,6 +645,7 @@ static const struct rtw89_chip_ops rtw8852c_chip_ops = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 052372f75fa34cda8d3109133a1cf2d802cffab1 Mon Sep 17 00:00:00 2001
|
||||
From 43654c25711966ec173bc59b2f5bb7113402efe3 Mon Sep 17 00:00:00 2001
|
||||
From: Zong-Zhe Yang <kevin_yang@realtek.com>
|
||||
Date: Mon, 16 May 2022 08:52:14 +0800
|
||||
Subject: [PATCH 506/515] rtw89: convert rtw89_band to nl80211_band precisely
|
||||
Subject: [PATCH 504/534] rtw89: convert rtw89_band to nl80211_band precisely
|
||||
|
||||
Before 6 GHz band was supported, i.e. only 2 GHz and 5 GHz, they were the
|
||||
same from the numerical point of view. However, after 6 GHz band support,
|
||||
@@ -19,7 +19,7 @@ Link: https://lore.kernel.org/r/20220516005215.5878-6-pkshih@realtek.com
|
||||
4 files changed, 29 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index 440413e001e0..c23ecf4675f3 100644
|
||||
index 440413e00..c23ecf467 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -1608,10 +1608,13 @@ static void rtw89_core_update_rx_status(struct rtw89_dev *rtwdev,
|
||||
@@ -41,10 +41,10 @@ index 440413e001e0..c23ecf4675f3 100644
|
||||
|
||||
if (desc_info->icv_err || desc_info->crc32_err)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index f9bd14dd166a..ea3945482f74 100644
|
||||
index 7eb1b5494..46e806650 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -3480,6 +3480,20 @@ static inline u8 rtw89_hw_to_rate_info_bw(enum rtw89_bandwidth hw_bw)
|
||||
@@ -3481,6 +3481,20 @@ static inline u8 rtw89_hw_to_rate_info_bw(enum rtw89_bandwidth hw_bw)
|
||||
return RATE_INFO_BW_20;
|
||||
}
|
||||
|
||||
@@ -66,10 +66,10 @@ index f9bd14dd166a..ea3945482f74 100644
|
||||
enum rtw89_bandwidth nl_to_rtw89_bandwidth(enum nl80211_chan_width width)
|
||||
{
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
index 4e393cb7db16..2c743b74ad7e 100644
|
||||
index f693b2eaf..168d853e2 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
@@ -2067,7 +2067,7 @@ static void rtw89_release_pkt_list(struct rtw89_dev *rtwdev)
|
||||
@@ -2072,7 +2072,7 @@ static void rtw89_release_pkt_list(struct rtw89_dev *rtwdev)
|
||||
struct rtw89_pktofld_info *info, *tmp;
|
||||
u8 idx;
|
||||
|
||||
@@ -79,7 +79,7 @@ index 4e393cb7db16..2c743b74ad7e 100644
|
||||
continue;
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index 0aa0ced458b3..e219bed38ff4 100644
|
||||
index 0aa0ced45..e219bed38 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -429,27 +429,28 @@ void rtw89_phy_rate_pattern_vif(struct rtw89_dev *rtwdev,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 5a08ed57e69792f35f2f9fda9cf28a890534e799 Mon Sep 17 00:00:00 2001
|
||||
From 661b3ac1efd3852fab63ac6955ffa441f1e69c97 Mon Sep 17 00:00:00 2001
|
||||
From: Johnson Lin <johnson.lin@realtek.com>
|
||||
Date: Fri, 18 Mar 2022 10:32:09 +0800
|
||||
Subject: [PATCH 413/515] rtw89: disabled IGI configuration for unsupported
|
||||
Subject: [PATCH 413/534] rtw89: disabled IGI configuration for unsupported
|
||||
hardware
|
||||
|
||||
Bypass IGI, known as Rx gain, adjustment flow for incompatible hardware
|
||||
@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20220318023214.32411-7-pkshih@realtek.com
|
||||
3 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index c61061358980..bce4834f18ec 100644
|
||||
index c61061358..bce4834f1 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -2752,6 +2752,8 @@ static void rtw89_core_setup_phycap(struct rtw89_dev *rtwdev)
|
||||
@@ -31,10 +31,10 @@ index c61061358980..bce4834f18ec 100644
|
||||
|
||||
static int rtw89_chip_efuse_info_setup(struct rtw89_dev *rtwdev)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 5900cbc0efd9..725484be2b62 100644
|
||||
index 05aaea1ff..14a97908e 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2489,6 +2489,7 @@ struct rtw89_hal {
|
||||
@@ -2490,6 +2490,7 @@ struct rtw89_hal {
|
||||
u8 tx_nss;
|
||||
u8 rx_nss;
|
||||
bool support_cckpd;
|
||||
@@ -43,10 +43,10 @@ index 5900cbc0efd9..725484be2b62 100644
|
||||
|
||||
#define RTW89_MAX_MAC_ID_NUM 128
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index c27148acfa04..193afb1f53f5 100644
|
||||
index 68cacac67..c3d3fe29e 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -3309,7 +3309,8 @@ void rtw89_phy_dig(struct rtw89_dev *rtwdev)
|
||||
@@ -3314,7 +3314,8 @@ void rtw89_phy_dig(struct rtw89_dev *rtwdev)
|
||||
dig->igi_rssi, dig->dyn_igi_max, dig->dyn_igi_min,
|
||||
dig->igi_fa_rssi);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From f86bd165d9192af2954a5abd40cc8ec1d050e539 Mon Sep 17 00:00:00 2001
|
||||
From aefea50eb72f44ab41be7fcbbef57b38455a1686 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Thu, 21 Apr 2022 20:08:57 +0800
|
||||
Subject: [PATCH 473/515] rtw89: don't flush hci queues and send h2c if power
|
||||
Subject: [PATCH 472/534] rtw89: don't flush hci queues and send h2c if power
|
||||
is off
|
||||
|
||||
When disconnecting, it warns somethings after power is off, and we can't
|
||||
@@ -19,7 +19,7 @@ Link: https://lore.kernel.org/r/20220421120903.73715-9-pkshih@realtek.com
|
||||
2 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index e2f8551ed1df..440413e001e0 100644
|
||||
index e2f8551ed..440413e00 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -856,6 +856,13 @@ int rtw89_h2c_tx(struct rtw89_dev *rtwdev,
|
||||
@@ -37,10 +37,10 @@ index e2f8551ed1df..440413e001e0 100644
|
||||
tx_req.tx_type = RTW89_CORE_TX_TYPE_FWCMD;
|
||||
if (fwdl)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 7a6ad7e67100..90231b20e7ee 100644
|
||||
index 75c458fba..bc54463e9 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -3199,6 +3199,9 @@ static inline void rtw89_hci_tx_kick_off(struct rtw89_dev *rtwdev, u8 txch)
|
||||
@@ -3200,6 +3200,9 @@ static inline void rtw89_hci_tx_kick_off(struct rtw89_dev *rtwdev, u8 txch)
|
||||
static inline void rtw89_hci_flush_queues(struct rtw89_dev *rtwdev, u32 queues,
|
||||
bool drop)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 7f2384b464604471cec86859969c2bdcb0103aa5 Mon Sep 17 00:00:00 2001
|
||||
From a27b719be2871cb47b8908dca7483dcd6e113c46 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Wed, 13 Apr 2022 09:08:01 +0800
|
||||
Subject: [PATCH 450/515] rtw89: extend H2C of CMAC control info
|
||||
Subject: [PATCH 449/534] rtw89: extend H2C of CMAC control info
|
||||
|
||||
In order to support new chip that has capability of 160M, we need new
|
||||
format to fill new information, so add a new V1 ID for newer use. Since
|
||||
@@ -19,7 +19,7 @@ Link: https://lore.kernel.org/r/20220413010804.8941-2-pkshih@realtek.com
|
||||
5 files changed, 72 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 0caaf8e9530e..9fc7c1c70365 100644
|
||||
index 8ae509087..fa9bd2449 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -578,7 +578,7 @@ enum rtw89_ps_mode {
|
||||
@@ -40,10 +40,10 @@ index 0caaf8e9530e..9fc7c1c70365 100644
|
||||
u32 h2c_desc_size;
|
||||
u32 txwd_body_size;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
index fc77d9bfd626..beedc650e33a 100644
|
||||
index d89193289..d22552cf1 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
@@ -780,6 +780,7 @@ int rtw89_fw_h2c_lps_parm(struct rtw89_dev *rtwdev,
|
||||
@@ -785,6 +785,7 @@ int rtw89_fw_h2c_lps_parm(struct rtw89_dev *rtwdev,
|
||||
int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
struct rtw89_vif *rtwvif)
|
||||
{
|
||||
@@ -51,7 +51,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
struct rtw89_hal *hal = &rtwdev->hal;
|
||||
struct sk_buff *skb;
|
||||
u8 ntx_path = hal->antenna_tx ? hal->antenna_tx : RF_B;
|
||||
@@ -794,16 +795,18 @@ int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -799,16 +800,18 @@ int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
skb_put(skb, H2C_CMC_TBL_LEN);
|
||||
SET_CTRL_INFO_MACID(skb->data, macid);
|
||||
SET_CTRL_INFO_OPERATION(skb->data, 1);
|
||||
@@ -80,7 +80,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
SET_CMC_TBL_DOPPLER_CTRL(skb->data, 0);
|
||||
SET_CMC_TBL_TXPWR_TOLERENCE(skb->data, 0);
|
||||
if (rtwvif->net_type == RTW89_NET_TYPE_AP_MODE)
|
||||
@@ -811,7 +814,7 @@ int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -816,7 +819,7 @@ int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
|
||||
rtw89_h2c_pkt_set_hdr(rtwdev, skb, FWCMD_TYPE_H2C,
|
||||
H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG,
|
||||
@@ -89,7 +89,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
H2C_CMC_TBL_LEN);
|
||||
|
||||
if (rtw89_h2c_tx(rtwdev, skb, false)) {
|
||||
@@ -851,6 +854,8 @@ static void __get_sta_he_pkt_padding(struct rtw89_dev *rtwdev,
|
||||
@@ -856,6 +859,8 @@ static void __get_sta_he_pkt_padding(struct rtw89_dev *rtwdev,
|
||||
|
||||
for (i = 0; i < RTW89_PPE_BW_NUM; i++)
|
||||
pads[i] = pad;
|
||||
@@ -98,7 +98,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
}
|
||||
|
||||
ru_bitmap = FIELD_GET(IEEE80211_PPE_THRES_RU_INDEX_BITMASK_MASK, ppe_thres_hdr);
|
||||
@@ -885,6 +890,7 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -890,6 +895,7 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta)
|
||||
{
|
||||
@@ -106,7 +106,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
struct rtw89_hal *hal = &rtwdev->hal;
|
||||
struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta);
|
||||
struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
|
||||
@@ -917,9 +923,17 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -922,9 +928,17 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
else
|
||||
SET_CMC_TBL_ULDL(skb->data, 0);
|
||||
SET_CMC_TBL_MULTI_PORT_ID(skb->data, rtwvif->port);
|
||||
@@ -127,7 +127,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
if (sta)
|
||||
SET_CMC_TBL_BSR_QUEUE_SIZE_FORMAT(skb->data, sta->he_cap.has_he);
|
||||
if (rtwvif->net_type == RTW89_NET_TYPE_AP_MODE)
|
||||
@@ -927,7 +941,7 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -932,7 +946,7 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
|
||||
rtw89_h2c_pkt_set_hdr(rtwdev, skb, FWCMD_TYPE_H2C,
|
||||
H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG,
|
||||
@@ -136,7 +136,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
H2C_CMC_TBL_LEN);
|
||||
|
||||
if (rtw89_h2c_tx(rtwdev, skb, false)) {
|
||||
@@ -945,6 +959,7 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -950,6 +964,7 @@ int rtw89_fw_h2c_assoc_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
int rtw89_fw_h2c_txtime_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
struct rtw89_sta *rtwsta)
|
||||
{
|
||||
@@ -144,7 +144,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
struct sk_buff *skb;
|
||||
|
||||
skb = rtw89_fw_h2c_alloc_skb_with_hdr(rtwdev, H2C_CMC_TBL_LEN);
|
||||
@@ -966,7 +981,7 @@ int rtw89_fw_h2c_txtime_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
@@ -971,7 +986,7 @@ int rtw89_fw_h2c_txtime_cmac_tbl(struct rtw89_dev *rtwdev,
|
||||
|
||||
rtw89_h2c_pkt_set_hdr(rtwdev, skb, FWCMD_TYPE_H2C,
|
||||
H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG,
|
||||
@@ -154,7 +154,7 @@ index fc77d9bfd626..beedc650e33a 100644
|
||||
|
||||
if (rtw89_h2c_tx(rtwdev, skb, false)) {
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.h b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
index 2a010154a8e8..9cba8990b836 100644
|
||||
index 2a010154a..9cba8990b 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
@@ -973,6 +973,36 @@ static inline void SET_CMC_TBL_ANTSEL_D(void *table, u32 val)
|
||||
@@ -231,7 +231,7 @@ index 2a010154a8e8..9cba8990b836 100644
|
||||
/* CLASS 6 - Address CAM */
|
||||
#define H2C_CL_MAC_ADDR_CAM_UPDATE 0x6
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
index 9871ed78e44c..6371bbf7a2fd 100644
|
||||
index 9871ed78e..6371bbf7a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
@@ -2147,6 +2147,7 @@ const struct rtw89_chip_info rtw8852a_chip_info = {
|
||||
@@ -243,7 +243,7 @@ index 9871ed78e44c..6371bbf7a2fd 100644
|
||||
.h2c_desc_size = sizeof(struct rtw89_txwd_body),
|
||||
.txwd_body_size = sizeof(struct rtw89_txwd_body),
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 38b138330716..d900129c1a7c 100644
|
||||
index 38b138330..d900129c1 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -667,6 +667,7 @@ const struct rtw89_chip_info rtw8852c_chip_info = {
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
From d6378550de2b826fda376273f055c45d790ce0ab Mon Sep 17 00:00:00 2001
|
||||
From: Po Hao Huang <phhuang@realtek.com>
|
||||
Date: Fri, 1 Apr 2022 13:50:43 +0800
|
||||
Subject: [PATCH 439/515] rtw89: fix misconfiguration on hw_scan channel time
|
||||
|
||||
Without this patch, hw scan won't stay long enough on DFS/passive
|
||||
channels. Found previous logic error and fix it.
|
||||
|
||||
Signed-off-by: Po Hao Huang <phhuang@realtek.com>
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220401055043.12512-5-pkshih@realtek.com
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw89/fw.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
index 5985b40950bc..fc77d9bfd626 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
@@ -2101,7 +2101,7 @@ static void rtw89_hw_scan_add_chan(struct rtw89_dev *rtwdev, int chan_type,
|
||||
ch_info->num_pkt = 0;
|
||||
break;
|
||||
case RTW89_CHAN_DFS:
|
||||
- ch_info->period = min_t(u8, ch_info->period,
|
||||
+ ch_info->period = max_t(u8, ch_info->period,
|
||||
RTW89_DFS_CHAN_TIME);
|
||||
ch_info->dwell_time = RTW89_DWELL_TIME;
|
||||
break;
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 4fe1740c1100b333abb4091eb550877ba0477ba2 Mon Sep 17 00:00:00 2001
|
||||
From 699d777f604f42c4f243d2b0baaa0da4affe6b60 Mon Sep 17 00:00:00 2001
|
||||
From: Johnson Lin <johnson.lin@realtek.com>
|
||||
Date: Fri, 18 Mar 2022 10:32:08 +0800
|
||||
Subject: [PATCH 412/515] rtw89: packed IGI configuration flow into function
|
||||
Subject: [PATCH 412/534] rtw89: packed IGI configuration flow into function
|
||||
for DIG feature
|
||||
|
||||
Refinement of DIG flow, a mechanism to adjust Rx gain for better Rx
|
||||
@@ -17,10 +17,10 @@ Link: https://lore.kernel.org/r/20220318023214.32411-6-pkshih@realtek.com
|
||||
1 file changed, 16 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index c9a04ca0b1f2..c27148acfa04 100644
|
||||
index ed0f4de67..68cacac67 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -3180,6 +3180,21 @@ static void rtw89_phy_dig_sdagc_follow_pagc_config(struct rtw89_dev *rtwdev,
|
||||
@@ -3185,6 +3185,21 @@ static void rtw89_phy_dig_sdagc_follow_pagc_config(struct rtw89_dev *rtwdev,
|
||||
rtw89_debug(rtwdev, RTW89_DBG_DIG, "sdagc_follow_pagc=%d\n", enable);
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ index c9a04ca0b1f2..c27148acfa04 100644
|
||||
static void rtw89_phy_dig_dyn_pd_th(struct rtw89_dev *rtwdev, u8 rssi,
|
||||
bool enable)
|
||||
{
|
||||
@@ -3294,15 +3309,7 @@ void rtw89_phy_dig(struct rtw89_dev *rtwdev)
|
||||
@@ -3299,15 +3314,7 @@ void rtw89_phy_dig(struct rtw89_dev *rtwdev)
|
||||
dig->igi_rssi, dig->dyn_igi_max, dig->dyn_igi_min,
|
||||
dig->igi_fa_rssi);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 75c2d1e3c77b022a50877d1907086072dc25463a Mon Sep 17 00:00:00 2001
|
||||
From 1ad211a8040d528f79dbd152519f433306769c61 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Thu, 21 Apr 2022 20:08:55 +0800
|
||||
Subject: [PATCH 471/515] rtw89: ps: access TX/RX rings via another registers
|
||||
Subject: [PATCH 470/534] rtw89: ps: access TX/RX rings via another registers
|
||||
in low power mode
|
||||
|
||||
In low power mode, we need to pause PCI to configure IMR and PCI ring
|
||||
@@ -31,7 +31,7 @@ Link: https://lore.kernel.org/r/20220421120903.73715-7-pkshih@realtek.com
|
||||
8 files changed, 177 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 22dbd3197382..7a6ad7e67100 100644
|
||||
index f79775646..75c458fba 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2036,6 +2036,8 @@ struct rtw89_hci_ops {
|
||||
@@ -59,7 +59,7 @@ index 22dbd3197382..7a6ad7e67100 100644
|
||||
|
||||
u32 h2c_cctl_func_id;
|
||||
u32 hci_func_en_addr;
|
||||
@@ -3167,6 +3171,16 @@ static inline int rtw89_hci_deinit(struct rtw89_dev *rtwdev)
|
||||
@@ -3168,6 +3172,16 @@ static inline int rtw89_hci_deinit(struct rtw89_dev *rtwdev)
|
||||
return rtwdev->hci.ops->deinit(rtwdev);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ index 22dbd3197382..7a6ad7e67100 100644
|
||||
{
|
||||
rtwdev->hci.ops->recalc_int_mit(rtwdev);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
index ad3db5aa890c..31c62d116f44 100644
|
||||
index ad3db5aa8..31c62d116 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
@@ -919,6 +919,21 @@ u32 __rtw89_pci_check_and_reclaim_tx_fwcmd_resource(struct rtw89_dev *rtwdev)
|
||||
@@ -233,7 +233,7 @@ index ad3db5aa890c..31c62d116f44 100644
|
||||
|
||||
.read8 = rtw89_pci_ops_read8,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/pci.h b/drivers/net/wireless/realtek/rtw89/pci.h
|
||||
index c203c8cbf163..bb585ed19190 100644
|
||||
index c203c8cbf..bb585ed19 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/pci.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/pci.h
|
||||
@@ -202,6 +202,15 @@
|
||||
@@ -281,7 +281,7 @@ index c203c8cbf163..bb585ed19190 100644
|
||||
u32 ind_intrs;
|
||||
u32 halt_c2h_intrs;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/ps.c b/drivers/net/wireless/realtek/rtw89/ps.c
|
||||
index 7eaa01e41ef2..a90b33720588 100644
|
||||
index 7eaa01e41..a90b33720 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/ps.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/ps.c
|
||||
@@ -29,6 +29,36 @@ static int rtw89_fw_leave_lps_check(struct rtw89_dev *rtwdev, u8 macid)
|
||||
@@ -340,7 +340,7 @@ index 7eaa01e41ef2..a90b33720588 100644
|
||||
|
||||
static void __rtw89_enter_lps(struct rtw89_dev *rtwdev, u8 mac_id)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
index cb93287d4722..5af618709ded 100644
|
||||
index cb93287d4..5af618709 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
@@ -2150,6 +2150,7 @@ const struct rtw89_chip_info rtw8852a_chip_info = {
|
||||
@@ -352,7 +352,7 @@ index cb93287d4722..5af618709ded 100644
|
||||
.hci_func_en_addr = R_AX_HCI_FUNC_EN,
|
||||
.h2c_desc_size = sizeof(struct rtw89_txwd_body),
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852ae.c b/drivers/net/wireless/realtek/rtw89/rtw8852ae.c
|
||||
index c6937e5943ea..190c4aefb02e 100644
|
||||
index c6937e594..190c4aefb 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852ae.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852ae.c
|
||||
@@ -41,6 +41,7 @@ static const struct rtw89_pci_info rtw8852a_pci_info = {
|
||||
@@ -364,7 +364,7 @@ index c6937e5943ea..190c4aefb02e 100644
|
||||
|
||||
.ltr_set = rtw89_pci_ltr_set,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 510614630bfb..1302d4324473 100644
|
||||
index 510614630..1302d4324 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -2006,6 +2006,8 @@ const struct rtw89_chip_info rtw8852c_chip_info = {
|
||||
@@ -377,7 +377,7 @@ index 510614630bfb..1302d4324473 100644
|
||||
.hci_func_en_addr = R_AX_HCI_FUNC_EN_V1,
|
||||
.h2c_desc_size = sizeof(struct rtw89_rxdesc_short),
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852ce.c b/drivers/net/wireless/realtek/rtw89/rtw8852ce.c
|
||||
index 4d71cc87f7ba..fc0394494013 100644
|
||||
index 4d71cc87f..fc0394494 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852ce.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852ce.c
|
||||
@@ -9,6 +9,15 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 4861dc457c5e98da2cf5bc8cf17e558d68d73acc Mon Sep 17 00:00:00 2001
|
||||
From 9bff6acc96d56dea3c72713e1be16c9fb2489f2f Mon Sep 17 00:00:00 2001
|
||||
From: Zong-Zhe Yang <kevin_yang@realtek.com>
|
||||
Date: Mon, 14 Mar 2022 15:12:49 +0800
|
||||
Subject: [PATCH 405/515] rtw89: reconstruct fw feature
|
||||
Subject: [PATCH 405/534] rtw89: reconstruct fw feature
|
||||
|
||||
As the fw features gradually increase, it would be better that
|
||||
we have a set of methods to maintain fw features instead of using
|
||||
@@ -24,7 +24,7 @@ Link: https://lore.kernel.org/r/20220314071250.40292-8-pkshih@realtek.com
|
||||
5 files changed, 62 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index bcefc968576e..c61061358980 100644
|
||||
index bcefc9685..c61061358 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -759,7 +759,7 @@ static void
|
||||
@@ -47,7 +47,7 @@ index bcefc968576e..c61061358980 100644
|
||||
ieee80211_channel_to_frequency(hal->current_channel,
|
||||
hal->current_band_type);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 17ba5b85e500..395d3bacdd3f 100644
|
||||
index 9d43a95ac..9eba16b0b 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2396,6 +2396,12 @@ enum rtw89_fw_type {
|
||||
@@ -63,7 +63,7 @@ index 17ba5b85e500..395d3bacdd3f 100644
|
||||
struct rtw89_fw_suit {
|
||||
const u8 *data;
|
||||
u32 size;
|
||||
@@ -2425,11 +2431,15 @@ struct rtw89_fw_info {
|
||||
@@ -2426,11 +2432,15 @@ struct rtw89_fw_info {
|
||||
struct rtw89_fw_suit normal;
|
||||
struct rtw89_fw_suit wowlan;
|
||||
bool fw_log_enable;
|
||||
@@ -83,7 +83,7 @@ index 17ba5b85e500..395d3bacdd3f 100644
|
||||
DECLARE_BITMAP(addr_cam_map, RTW89_MAX_ADDR_CAM_NUM);
|
||||
DECLARE_BITMAP(bssid_cam_map, RTW89_MAX_BSSID_CAM_NUM);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
index 6deaf8eec6b4..76a290090507 100644
|
||||
index af3f0f5ff..bf2e18c57 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
@@ -193,22 +193,55 @@ int __rtw89_fw_recognize(struct rtw89_dev *rtwdev, enum rtw89_fw_type type)
|
||||
@@ -153,7 +153,7 @@ index 6deaf8eec6b4..76a290090507 100644
|
||||
|
||||
int rtw89_fw_recognize(struct rtw89_dev *rtwdev)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/mac80211.c b/drivers/net/wireless/realtek/rtw89/mac80211.c
|
||||
index fca9f82bb462..8da3e117ad38 100644
|
||||
index fca9f82bb..8da3e117a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/mac80211.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/mac80211.c
|
||||
@@ -725,7 +725,7 @@ static int rtw89_ops_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
@@ -175,7 +175,7 @@ index fca9f82bb462..8da3e117ad38 100644
|
||||
|
||||
if (!rtwdev->scanning)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
index ac211d897311..c9a04ca0b1f2 100644
|
||||
index 8414f3018..ed0f4de67 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/phy.c
|
||||
@@ -1686,7 +1686,7 @@ static void rtw89_phy_c2h_ra_rpt_iter(void *data, struct ieee80211_sta *sta)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From b5699203c44d76ea6d6a2936adbd106d99e41c19 Mon Sep 17 00:00:00 2001
|
||||
From 4981b1a34afcd717e8855e66382101cf8d660a4e Mon Sep 17 00:00:00 2001
|
||||
From: Joe Perches <joe@perches.com>
|
||||
Date: Thu, 7 Apr 2022 13:14:44 -0700
|
||||
Subject: [PATCH 449/515] rtw89: rtw89_ser: add const to struct state_ent and
|
||||
Subject: [PATCH 448/534] rtw89: rtw89_ser: add const to struct state_ent and
|
||||
event_ent
|
||||
|
||||
Change the struct and the uses to const to reduce data.
|
||||
@@ -21,10 +21,10 @@ Link: https://lore.kernel.org/r/2fd88e6119f62b968477ef9781abb1832d399fd6.camel@p
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 5f0f675fe2a1..0caaf8e9530e 100644
|
||||
index 904fb89ef..8ae509087 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2948,8 +2948,8 @@ struct rtw89_ser {
|
||||
@@ -2949,8 +2949,8 @@ struct rtw89_ser {
|
||||
|
||||
struct work_struct ser_hdl_work;
|
||||
struct delayed_work ser_alarm_work;
|
||||
@@ -36,7 +36,7 @@ index 5f0f675fe2a1..0caaf8e9530e 100644
|
||||
spinlock_t msg_q_lock; /* lock when read/write ser msg */
|
||||
DECLARE_BITMAP(flags, RTW89_NUM_OF_SER_FLAGS);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/ser.c b/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
index 5aebd6839d29..9e95ed972710 100644
|
||||
index 5aebd6839..9e95ed972 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
@@ -632,7 +632,7 @@ static void ser_l2_reset_st_hdl(struct rtw89_ser *ser, u8 evt)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 8c4e9a4a94846e345ccb89ecf88917b650560f0e Mon Sep 17 00:00:00 2001
|
||||
From 238368068940c6e53c91309b4d0104f87dd9c20e Mon Sep 17 00:00:00 2001
|
||||
From: Zong-Zhe Yang <kevin_yang@realtek.com>
|
||||
Date: Mon, 14 Mar 2022 15:12:46 +0800
|
||||
Subject: [PATCH 402/515] rtw89: ser: control hci interrupts on/off by state
|
||||
Subject: [PATCH 402/534] rtw89: ser: control hci interrupts on/off by state
|
||||
|
||||
While SER (system error recover) is processing, it's supposed to mean
|
||||
something is under recovery. So, disable interrupts (excluding the one
|
||||
@@ -20,7 +20,7 @@ Link: https://lore.kernel.org/r/20220314071250.40292-5-pkshih@realtek.com
|
||||
4 files changed, 53 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 771722132c53..5efa5ca372c6 100644
|
||||
index c6513a003..233eb0407 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2025,6 +2025,13 @@ struct rtw89_hci_ops {
|
||||
@@ -37,7 +37,7 @@ index 771722132c53..5efa5ca372c6 100644
|
||||
};
|
||||
|
||||
struct rtw89_hci_info {
|
||||
@@ -3033,6 +3040,18 @@ static inline void rtw89_hci_flush_queues(struct rtw89_dev *rtwdev, u32 queues,
|
||||
@@ -3034,6 +3041,18 @@ static inline void rtw89_hci_flush_queues(struct rtw89_dev *rtwdev, u32 queues,
|
||||
return rtwdev->hci.ops->flush_queues(rtwdev, queues, drop);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ index 771722132c53..5efa5ca372c6 100644
|
||||
{
|
||||
return rtwdev->hci.ops->read8(rtwdev, addr);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
index e79bfc335b44..32e8283e22f3 100644
|
||||
index e79bfc335..32e8283e2 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
@@ -647,6 +647,29 @@ static void rtw89_pci_disable_intr(struct rtw89_dev *rtwdev,
|
||||
@@ -111,7 +111,7 @@ index e79bfc335b44..32e8283e22f3 100644
|
||||
|
||||
int rtw89_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/pci.h b/drivers/net/wireless/realtek/rtw89/pci.h
|
||||
index b84acd0d0582..2c8030af3e72 100644
|
||||
index b84acd0d0..2c8030af3 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/pci.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/pci.h
|
||||
@@ -594,6 +594,7 @@ struct rtw89_pci {
|
||||
@@ -123,7 +123,7 @@ index b84acd0d0582..2c8030af3e72 100644
|
||||
struct rtw89_pci_rx_ring rx_rings[RTW89_RXCH_NUM];
|
||||
struct sk_buff_head h2c_queue;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/ser.c b/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
index 5327b97b9c72..a20389cde7e2 100644
|
||||
index 5327b97b9..a20389cde 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
@@ -302,8 +302,11 @@ static void hal_send_m4_event(struct rtw89_ser *ser)
|
||||
|
||||
@@ -1,118 +0,0 @@
|
||||
From d6c7facb311eb55ef7cbb55fa15749f502d87ecf Mon Sep 17 00:00:00 2001
|
||||
From: Zong-Zhe Yang <kevin_yang@realtek.com>
|
||||
Date: Mon, 14 Mar 2022 15:12:43 +0800
|
||||
Subject: [PATCH 399/515] rtw89: ser: fix CAM leaks occurring in L2 reset
|
||||
|
||||
The CAM, meaning address CAM and bssid CAM here, will get leaks during
|
||||
SER (system error recover) L2 reset process and ieee80211_restart_hw()
|
||||
which is called by L2 reset process eventually.
|
||||
|
||||
The normal flow would be like
|
||||
-> add interface (acquire 1)
|
||||
-> enter ips (release 1)
|
||||
-> leave ips (acquire 1)
|
||||
-> connection (occupy 1) <(A) 1 leak after L2 reset if non-sec connection>
|
||||
|
||||
The ieee80211_restart_hw() flow (under connection)
|
||||
-> ieee80211 reconfig
|
||||
-> add interface (acquire 1)
|
||||
-> leave ips (acquire 1)
|
||||
-> connection (occupy (A) + 2) <(B) 1 more leak>
|
||||
|
||||
Originally, CAM is released before HW restart only if connection is under
|
||||
security. Now, release CAM whatever connection it is to fix leak in (A).
|
||||
OTOH, check if CAM is already valid to avoid acquiring multiple times to
|
||||
fix (B).
|
||||
|
||||
Besides, if AP mode, release address CAM of all stations before HW restart.
|
||||
|
||||
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220314071250.40292-2-pkshih@realtek.com
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw89/cam.c | 14 ++++++++++++--
|
||||
drivers/net/wireless/realtek/rtw89/ser.c | 21 +++++++++++++++++++++
|
||||
2 files changed, 33 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
index 305dbbebff6b..26bef9fdd205 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
@@ -421,10 +421,8 @@ static void rtw89_cam_reset_key_iter(struct ieee80211_hw *hw,
|
||||
void *data)
|
||||
{
|
||||
struct rtw89_dev *rtwdev = (struct rtw89_dev *)data;
|
||||
- struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
|
||||
|
||||
rtw89_cam_sec_key_del(rtwdev, vif, sta, key, false);
|
||||
- rtw89_cam_deinit(rtwdev, rtwvif);
|
||||
}
|
||||
|
||||
void rtw89_cam_deinit_addr_cam(struct rtw89_dev *rtwdev,
|
||||
@@ -480,6 +478,12 @@ int rtw89_cam_init_addr_cam(struct rtw89_dev *rtwdev,
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
+ if (unlikely(addr_cam->valid)) {
|
||||
+ rtw89_debug(rtwdev, RTW89_DBG_FW,
|
||||
+ "addr cam is already valid; skip init\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
ret = rtw89_cam_get_avail_addr_cam(rtwdev, &addr_cam_idx);
|
||||
if (ret) {
|
||||
rtw89_err(rtwdev, "failed to get available addr cam\n");
|
||||
@@ -531,6 +535,12 @@ static int rtw89_cam_init_bssid_cam(struct rtw89_dev *rtwdev,
|
||||
u8 bssid_cam_idx;
|
||||
int ret;
|
||||
|
||||
+ if (unlikely(bssid_cam->valid)) {
|
||||
+ rtw89_debug(rtwdev, RTW89_DBG_FW,
|
||||
+ "bssid cam is already valid; skip init\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
ret = rtw89_cam_get_avail_bssid_cam(rtwdev, &bssid_cam_idx);
|
||||
if (ret) {
|
||||
rtw89_err(rtwdev, "failed to get available bssid cam\n");
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/ser.c b/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
index 837cdc366a61..e86f3d89ef1b 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
@@ -220,11 +220,32 @@ static void ser_reset_vif(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
|
||||
rtwvif->trigger = false;
|
||||
}
|
||||
|
||||
+static void ser_sta_deinit_addr_cam_iter(void *data, struct ieee80211_sta *sta)
|
||||
+{
|
||||
+ struct rtw89_dev *rtwdev = (struct rtw89_dev *)data;
|
||||
+ struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
|
||||
+
|
||||
+ rtw89_cam_deinit_addr_cam(rtwdev, &rtwsta->addr_cam);
|
||||
+}
|
||||
+
|
||||
+static void ser_deinit_cam(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
|
||||
+{
|
||||
+ if (rtwvif->net_type == RTW89_NET_TYPE_AP_MODE)
|
||||
+ ieee80211_iterate_stations_atomic(rtwdev->hw,
|
||||
+ ser_sta_deinit_addr_cam_iter,
|
||||
+ rtwdev);
|
||||
+
|
||||
+ rtw89_cam_deinit(rtwdev, rtwvif);
|
||||
+}
|
||||
+
|
||||
static void ser_reset_mac_binding(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
struct rtw89_vif *rtwvif;
|
||||
|
||||
rtw89_cam_reset_keys(rtwdev);
|
||||
+ rtw89_for_each_rtwvif(rtwdev, rtwvif)
|
||||
+ ser_deinit_cam(rtwdev, rtwvif);
|
||||
+
|
||||
rtw89_core_release_all_bits_map(rtwdev->mac_id_map, RTW89_MAX_MAC_ID_NUM);
|
||||
rtw89_for_each_rtwvif(rtwdev, rtwvif)
|
||||
ser_reset_vif(rtwdev, rtwvif);
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 601a815bfbfd68a45286af88338553d6aa6597a9 Mon Sep 17 00:00:00 2001
|
||||
From e7f0053eca82d86b5bb303552dcc88a0fd78018c Mon Sep 17 00:00:00 2001
|
||||
From: Zong-Zhe Yang <kevin_yang@realtek.com>
|
||||
Date: Mon, 14 Mar 2022 15:12:50 +0800
|
||||
Subject: [PATCH 406/515] rtw89: support FW crash simulation
|
||||
Subject: [PATCH 406/534] rtw89: support FW crash simulation
|
||||
|
||||
Originally, there is already a mechanism, SER (system error recover),
|
||||
to deal with HW/FW recovery. After FW v0.13.36.0, FW supports a H2C
|
||||
@@ -26,7 +26,7 @@ Link: https://lore.kernel.org/r/20220314071250.40292-9-pkshih@realtek.com
|
||||
5 files changed, 99 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 395d3bacdd3f..7d8140cc25a7 100644
|
||||
index 9eba16b0b..f1c1be7a3 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -2400,6 +2400,7 @@ enum rtw89_fw_feature {
|
||||
@@ -37,7 +37,7 @@ index 395d3bacdd3f..7d8140cc25a7 100644
|
||||
};
|
||||
|
||||
struct rtw89_fw_suit {
|
||||
@@ -2502,6 +2503,7 @@ enum rtw89_flags {
|
||||
@@ -2503,6 +2504,7 @@ enum rtw89_flags {
|
||||
RTW89_FLAG_LEISURE_PS,
|
||||
RTW89_FLAG_LOW_POWER_MODE,
|
||||
RTW89_FLAG_INACTIVE_PS,
|
||||
@@ -46,7 +46,7 @@ index 395d3bacdd3f..7d8140cc25a7 100644
|
||||
NUM_OF_RTW89_FLAGS,
|
||||
};
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/debug.c b/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
index 09c545497ec5..f93f3fee1505 100644
|
||||
index 09c545497..f93f3fee1 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/debug.c
|
||||
@@ -2184,6 +2184,48 @@ rtw89_debug_priv_early_h2c_set(struct file *filp, const char __user *user_buf,
|
||||
@@ -119,7 +119,7 @@ index 09c545497ec5..f93f3fee1505 100644
|
||||
rtw89_debugfs_add_w(btc_manual);
|
||||
rtw89_debugfs_add_w(fw_log_manual);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
index 76a290090507..2c9470616a1b 100644
|
||||
index bf2e18c57..c13dcf3de 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
|
||||
@@ -221,6 +221,7 @@ static const struct __fw_feat_cfg fw_feat_tbl[] = {
|
||||
@@ -130,7 +130,7 @@ index 76a290090507..2c9470616a1b 100644
|
||||
};
|
||||
|
||||
static void rtw89_fw_recognize_features(struct rtw89_dev *rtwdev)
|
||||
@@ -2287,3 +2288,38 @@ void rtw89_store_op_chan(struct rtw89_dev *rtwdev)
|
||||
@@ -2292,3 +2293,38 @@ void rtw89_store_op_chan(struct rtw89_dev *rtwdev)
|
||||
scan_info->op_bw = hal->current_band_width;
|
||||
scan_info->op_band = hal->current_band_type;
|
||||
}
|
||||
@@ -170,7 +170,7 @@ index 76a290090507..2c9470616a1b 100644
|
||||
+ return -EBUSY;
|
||||
+}
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/fw.h b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
index 1aaec2672237..24ab249a8ece 100644
|
||||
index 1aaec2672..24ab249a8 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/fw.h
|
||||
@@ -1461,6 +1461,11 @@ static inline void SET_LPS_PARM_LASTRPWM(void *h2c, u32 val)
|
||||
@@ -206,7 +206,7 @@ index 1aaec2672237..24ab249a8ece 100644
|
||||
|
||||
#endif
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/ser.c b/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
index f28cd0645ad9..25d1df10f226 100644
|
||||
index f28cd0645..25d1df10f 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/ser.c
|
||||
@@ -619,6 +619,7 @@ static void ser_l2_reset_st_hdl(struct rtw89_ser *ser, u8 evt)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From ef9923ea88bffb6f5ca6724917706088820d6da2 Mon Sep 17 00:00:00 2001
|
||||
From 5740f0fef1d4f3f5abd7c303e33e91c0ab9f5885 Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Fri, 18 Mar 2022 10:32:12 +0800
|
||||
Subject: [PATCH 416/515] rtw89: support variant of fill_txdesc
|
||||
Subject: [PATCH 416/534] rtw89: support variant of fill_txdesc
|
||||
|
||||
The txdesc is descriptor related to skb->data. The v1 version contains
|
||||
8 dwords txwd_body and 6 dwords txwd_info, and the format is also different
|
||||
@@ -20,7 +20,7 @@ Link: https://lore.kernel.org/r/20220318023214.32411-10-pkshih@realtek.com
|
||||
6 files changed, 116 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index a5c13fd7d8a0..3c2cbe479197 100644
|
||||
index a5c13fd7d..3c2cbe479 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -897,6 +897,26 @@ static __le32 rtw89_build_txwd_body0(struct rtw89_tx_desc_info *desc_info)
|
||||
@@ -127,7 +127,7 @@ index a5c13fd7d8a0..3c2cbe479197 100644
|
||||
{
|
||||
u32 dword = FIELD_PREP(AX_RXD_RPKT_LEN_MASK, desc_info->pkt_size) |
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
index 501381bb74ad..b5587d799bd8 100644
|
||||
index b5c4b0bb6..28038b49a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.h
|
||||
@@ -642,6 +642,17 @@ struct rtw89_txwd_body {
|
||||
@@ -166,7 +166,7 @@ index 501381bb74ad..b5587d799bd8 100644
|
||||
u32 h2c_ctrl_reg;
|
||||
const u32 *h2c_regs;
|
||||
u32 c2h_ctrl_reg;
|
||||
@@ -3514,6 +3529,16 @@ static inline void rtw89_ctrl_btg(struct rtw89_dev *rtwdev, bool btg)
|
||||
@@ -3515,6 +3530,16 @@ static inline void rtw89_ctrl_btg(struct rtw89_dev *rtwdev, bool btg)
|
||||
chip->ops->ctrl_btg(rtwdev, btg);
|
||||
}
|
||||
|
||||
@@ -183,7 +183,7 @@ index 501381bb74ad..b5587d799bd8 100644
|
||||
static inline
|
||||
void rtw89_chip_fill_txdesc_fwcmd(struct rtw89_dev *rtwdev,
|
||||
struct rtw89_tx_desc_info *desc_info,
|
||||
@@ -3597,6 +3622,9 @@ void rtw89_core_tx_kick_off(struct rtw89_dev *rtwdev, u8 qsel);
|
||||
@@ -3598,6 +3623,9 @@ void rtw89_core_tx_kick_off(struct rtw89_dev *rtwdev, u8 qsel);
|
||||
void rtw89_core_fill_txdesc(struct rtw89_dev *rtwdev,
|
||||
struct rtw89_tx_desc_info *desc_info,
|
||||
void *txdesc);
|
||||
@@ -194,7 +194,7 @@ index 501381bb74ad..b5587d799bd8 100644
|
||||
struct rtw89_tx_desc_info *desc_info,
|
||||
void *txdesc);
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
index 48a5feaf2722..3a27d6f8c630 100644
|
||||
index 48a5feaf2..3a27d6f8c 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/pci.c
|
||||
@@ -1035,8 +1035,8 @@ static int rtw89_pci_txwd_submit(struct rtw89_dev *rtwdev,
|
||||
@@ -235,7 +235,7 @@ index 48a5feaf2722..3a27d6f8c630 100644
|
||||
|
||||
return 0;
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
index 6aa3d19a7464..a0dd4db384c6 100644
|
||||
index 6aa3d19a7..a0dd4db38 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852a.c
|
||||
@@ -2021,6 +2021,7 @@ static const struct rtw89_chip_ops rtw8852a_chip_ops = {
|
||||
@@ -255,7 +255,7 @@ index 6aa3d19a7464..a0dd4db384c6 100644
|
||||
.h2c_regs = rtw8852a_h2c_regs,
|
||||
.c2h_ctrl_reg = R_AX_C2HREG_CTRL,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
index 08a9c01a359e..df0c67c7322f 100644
|
||||
index 08a9c01a3..df0c67c73 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c
|
||||
@@ -492,6 +492,7 @@ static const struct rtw89_chip_ops rtw8852c_chip_ops = {
|
||||
@@ -275,7 +275,7 @@ index 08a9c01a359e..df0c67c7322f 100644
|
||||
.h2c_regs = rtw8852c_h2c_regs,
|
||||
.c2h_ctrl_reg = R_AX_C2HREG_CTRL_V1,
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/txrx.h b/drivers/net/wireless/realtek/rtw89/txrx.h
|
||||
index 4e81d6df9368..c943e4e95721 100644
|
||||
index 4e81d6df9..c943e4e95 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/txrx.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/txrx.h
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From e8db7491b61a391fdcc45823f01e6fc498d1f1b8 Mon Sep 17 00:00:00 2001
|
||||
From 21922d13fbc6d5d3dd3a60dda3c85e2cb87904b4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 2 Sep 2019 14:51:17 +0200
|
||||
Subject: [PATCH 228/515] sunxi: Use dev_err_probe to handle EPROBE_DEFER
|
||||
Subject: [PATCH 228/534] sunxi: Use dev_err_probe to handle EPROBE_DEFER
|
||||
errors
|
||||
|
||||
This makes it easier to debug EPROBE_DEFER issues via debugfs.
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
5 files changed, 25 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
|
||||
index ef0058de432b..b87be5d007bf 100644
|
||||
index ef0058de4..b87be5d00 100644
|
||||
--- a/arch/arm/kernel/topology.c
|
||||
+++ b/arch/arm/kernel/topology.c
|
||||
@@ -121,7 +121,7 @@ static void __init parse_dt_topology(void)
|
||||
@@ -29,10 +29,10 @@ index ef0058de432b..b87be5d007bf 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
index 73f69c929a75..e594d4b3fff7 100644
|
||||
index bd6a4a3ae..2e0e3a86d 100644
|
||||
--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
|
||||
@@ -570,7 +570,7 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
|
||||
@@ -588,7 +588,7 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
|
||||
|
||||
ret = mipi_dsi_attach(dsi);
|
||||
if (ret < 0) {
|
||||
@@ -42,7 +42,7 @@ index 73f69c929a75..e594d4b3fff7 100644
|
||||
return ret;
|
||||
}
|
||||
diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
|
||||
index 7a048abbf92b..12cbd0977da1 100644
|
||||
index 7a048abbf..12cbd0977 100644
|
||||
--- a/drivers/i2c/busses/i2c-gpio.c
|
||||
+++ b/drivers/i2c/busses/i2c-gpio.c
|
||||
@@ -332,6 +332,13 @@ static struct gpio_desc *i2c_gpio_get_desc(struct device *dev,
|
||||
@@ -71,10 +71,10 @@ index 7a048abbf92b..12cbd0977da1 100644
|
||||
return retdesc;
|
||||
}
|
||||
diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c
|
||||
index d5f3b42eb8ce..40a9415695be 100644
|
||||
index cd35dd7b2..eb517ab30 100644
|
||||
--- a/drivers/phy/allwinner/phy-sun4i-usb.c
|
||||
+++ b/drivers/phy/allwinner/phy-sun4i-usb.c
|
||||
@@ -708,14 +708,16 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -740,14 +740,16 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
data->id_det_gpio = devm_gpiod_get_optional(dev, "usb0_id_det",
|
||||
GPIOD_IN);
|
||||
if (IS_ERR(data->id_det_gpio)) {
|
||||
@@ -93,7 +93,7 @@ index d5f3b42eb8ce..40a9415695be 100644
|
||||
return PTR_ERR(data->vbus_det_gpio);
|
||||
}
|
||||
|
||||
@@ -723,7 +725,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -755,7 +757,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
data->vbus_power_supply = devm_power_supply_get_by_phandle(dev,
|
||||
"usb0_vbus_power-supply");
|
||||
if (IS_ERR(data->vbus_power_supply)) {
|
||||
@@ -103,7 +103,7 @@ index d5f3b42eb8ce..40a9415695be 100644
|
||||
return PTR_ERR(data->vbus_power_supply);
|
||||
}
|
||||
|
||||
@@ -756,8 +759,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -788,8 +791,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
phy->vbus = devm_regulator_get_optional(dev, name);
|
||||
if (IS_ERR(phy->vbus)) {
|
||||
if (PTR_ERR(phy->vbus) == -EPROBE_DEFER) {
|
||||
@@ -114,7 +114,7 @@ index d5f3b42eb8ce..40a9415695be 100644
|
||||
name);
|
||||
return -EPROBE_DEFER;
|
||||
}
|
||||
@@ -772,7 +775,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
@@ -804,7 +807,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
|
||||
|
||||
phy->clk = devm_clk_get(dev, name);
|
||||
if (IS_ERR(phy->clk)) {
|
||||
@@ -125,10 +125,10 @@ index d5f3b42eb8ce..40a9415695be 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
index f0bc87d654d4..4eae4a7c1832 100644
|
||||
index db53bbefd..d9206c663 100644
|
||||
--- a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
+++ b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
|
||||
@@ -268,13 +268,15 @@ static int sun6i_dphy_probe(struct platform_device *pdev)
|
||||
@@ -283,13 +283,15 @@ static int sun6i_dphy_probe(struct platform_device *pdev)
|
||||
dphy->regs = devm_regmap_init_mmio_clk(&pdev->dev, "bus",
|
||||
regs, &sun6i_dphy_regmap_config);
|
||||
if (IS_ERR(dphy->regs)) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 62867934f6251349e1352a345f827ba8de514a36 Mon Sep 17 00:00:00 2001
|
||||
From e7ec7a3c6eb2416ee8216921cc4db97e54f1e61b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Thu, 18 Feb 2021 07:48:07 +0100
|
||||
Subject: [PATCH 168/515] usb: quirks: Add USB_QUIRK_RESET for Quectel EG25G
|
||||
Subject: [PATCH 172/534] usb: quirks: Add USB_QUIRK_RESET for Quectel EG25G
|
||||
Modem
|
||||
|
||||
See: https://gitlab.com/mobian1/devices/eg25-manager/-/merge_requests/5
|
||||
@@ -12,10 +12,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
||||
index 97b44a68668a..68ac6f6d7792 100644
|
||||
index f99a65a64..17c3d472f 100644
|
||||
--- a/drivers/usb/core/quirks.c
|
||||
+++ b/drivers/usb/core/quirks.c
|
||||
@@ -516,6 +516,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
||||
@@ -519,6 +519,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
||||
/* INTEL VALUE SSD */
|
||||
{ USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
|
||||
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
From cc75502a1240088922c3e51ad4e34ca84246d29e Mon Sep 17 00:00:00 2001
|
||||
From: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
Date: Fri, 22 Apr 2022 15:23:47 -0700
|
||||
Subject: [PATCH 315/515] usb: typec: mux: Check dev_set_name() return value
|
||||
|
||||
It's possible that dev_set_name() returns -ENOMEM, catch and handle this.
|
||||
|
||||
Fixes: 3370db35193b ("usb: typec: Registering real device entries for the muxes")
|
||||
Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||||
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
---
|
||||
drivers/usb/typec/mux.c | 14 ++++++++++----
|
||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/mux.c b/drivers/usb/typec/mux.c
|
||||
index c8340de0ed49..d2aaf294b649 100644
|
||||
--- a/drivers/usb/typec/mux.c
|
||||
+++ b/drivers/usb/typec/mux.c
|
||||
@@ -131,8 +131,11 @@ typec_switch_register(struct device *parent,
|
||||
sw->dev.class = &typec_mux_class;
|
||||
sw->dev.type = &typec_switch_dev_type;
|
||||
sw->dev.driver_data = desc->drvdata;
|
||||
- dev_set_name(&sw->dev, "%s-switch",
|
||||
- desc->name ? desc->name : dev_name(parent));
|
||||
+ ret = dev_set_name(&sw->dev, "%s-switch", desc->name ? desc->name : dev_name(parent));
|
||||
+ if (ret) {
|
||||
+ put_device(&sw->dev);
|
||||
+ return ERR_PTR(ret);
|
||||
+ }
|
||||
|
||||
ret = device_add(&sw->dev);
|
||||
if (ret) {
|
||||
@@ -338,8 +341,11 @@ typec_mux_register(struct device *parent, const struct typec_mux_desc *desc)
|
||||
mux->dev.class = &typec_mux_class;
|
||||
mux->dev.type = &typec_mux_dev_type;
|
||||
mux->dev.driver_data = desc->drvdata;
|
||||
- dev_set_name(&mux->dev, "%s-mux",
|
||||
- desc->name ? desc->name : dev_name(parent));
|
||||
+ ret = dev_set_name(&mux->dev, "%s-mux", desc->name ? desc->name : dev_name(parent));
|
||||
+ if (ret) {
|
||||
+ put_device(&mux->dev);
|
||||
+ return ERR_PTR(ret);
|
||||
+ }
|
||||
|
||||
ret = device_add(&mux->dev);
|
||||
if (ret) {
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 10eea403a29590fa6897ba8883d0686bc4394f0c Mon Sep 17 00:00:00 2001
|
||||
From be2005c49b6b8166a9993f7fe92598979a05b998 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sun, 7 Nov 2021 19:24:40 +0100
|
||||
Subject: [PATCH 365/515] usb: typec: typec-extcon: Add typec -> extcon bridge
|
||||
Subject: [PATCH 370/534] usb: typec: typec-extcon: Add typec -> extcon bridge
|
||||
driver
|
||||
|
||||
This bridge connects standard Type C port interfaces for controling
|
||||
@@ -17,10 +17,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
create mode 100644 drivers/usb/typec/typec-extcon.c
|
||||
|
||||
diff --git a/drivers/usb/typec/Kconfig b/drivers/usb/typec/Kconfig
|
||||
index ba24847fb245..4799cf488fe9 100644
|
||||
index 5c151a976..b718a3102 100644
|
||||
--- a/drivers/usb/typec/Kconfig
|
||||
+++ b/drivers/usb/typec/Kconfig
|
||||
@@ -111,6 +111,13 @@ config TYPEC_WUSB3801
|
||||
@@ -122,6 +122,13 @@ config TYPEC_WUSB3801
|
||||
If you choose to build this driver as a dynamically linked module, the
|
||||
module will be called wusb3801.ko.
|
||||
|
||||
@@ -35,10 +35,10 @@ index ba24847fb245..4799cf488fe9 100644
|
||||
|
||||
source "drivers/usb/typec/altmodes/Kconfig"
|
||||
diff --git a/drivers/usb/typec/Makefile b/drivers/usb/typec/Makefile
|
||||
index 43626acc0aaf..cf1182ef5d55 100644
|
||||
index 9f0da3328..e2ca36437 100644
|
||||
--- a/drivers/usb/typec/Makefile
|
||||
+++ b/drivers/usb/typec/Makefile
|
||||
@@ -11,4 +11,5 @@ obj-$(CONFIG_TYPEC_QCOM_PMIC) += qcom-pmic-typec.o
|
||||
@@ -12,4 +12,5 @@ obj-$(CONFIG_TYPEC_QCOM_PMIC) += qcom-pmic-typec.o
|
||||
obj-$(CONFIG_TYPEC_STUSB160X) += stusb160x.o
|
||||
obj-$(CONFIG_TYPEC_RT1719) += rt1719.o
|
||||
obj-$(CONFIG_TYPEC_WUSB3801) += wusb3801.o
|
||||
@@ -46,7 +46,7 @@ index 43626acc0aaf..cf1182ef5d55 100644
|
||||
obj-$(CONFIG_TYPEC) += mux/
|
||||
diff --git a/drivers/usb/typec/typec-extcon.c b/drivers/usb/typec/typec-extcon.c
|
||||
new file mode 100644
|
||||
index 000000000000..e460f35c8390
|
||||
index 000000000..e460f35c8
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/typec/typec-extcon.c
|
||||
@@ -0,0 +1,332 @@
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
From dc383c2b074bbe44ff632a43e6c5ad957b7ccccf Mon Sep 17 00:00:00 2001
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Mon, 30 May 2022 19:27:43 +0800
|
||||
Subject: [PATCH 534/538] wifi: rtw89: support MULTI_BSSID and correct BSSID
|
||||
mask of H2C
|
||||
|
||||
The BSSID mask of H2C is used to match BSSID of receiving packets.
|
||||
Normally, we set six bits BSSID mask to exactly match BSSID of packets
|
||||
sent by target AP. After we support multiple BSSID, it could connect a
|
||||
nontransmitted BSSID, so we can only match first five bytes of BSSID.
|
||||
That means we could possibly receive other AP's packets if only the last
|
||||
byte of BSSID is different from target AP.
|
||||
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220530112743.106857-1-pkshih@realtek.com
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw89/cam.c | 7 +++++++
|
||||
drivers/net/wireless/realtek/rtw89/cam.h | 8 ++++++++
|
||||
drivers/net/wireless/realtek/rtw89/core.c | 1 +
|
||||
3 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
index 8a26adeb23fb..db3c55f0ccd0 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/cam.c
|
||||
@@ -602,11 +602,18 @@ int rtw89_cam_fill_bssid_cam_info(struct rtw89_dev *rtwdev,
|
||||
struct ieee80211_vif *vif = rtwvif_to_vif(rtwvif);
|
||||
struct rtw89_bssid_cam_entry *bssid_cam = &rtwvif->bssid_cam;
|
||||
u8 bss_color = vif->bss_conf.he_bss_color.color;
|
||||
+ u8 bss_mask;
|
||||
+
|
||||
+ if (vif->bss_conf.nontransmitted)
|
||||
+ bss_mask = RTW89_BSSID_MATCH_5_BYTES;
|
||||
+ else
|
||||
+ bss_mask = RTW89_BSSID_MATCH_ALL;
|
||||
|
||||
FWCMD_SET_ADDR_BSSID_IDX(cmd, bssid_cam->bssid_cam_idx);
|
||||
FWCMD_SET_ADDR_BSSID_OFFSET(cmd, bssid_cam->offset);
|
||||
FWCMD_SET_ADDR_BSSID_LEN(cmd, bssid_cam->len);
|
||||
FWCMD_SET_ADDR_BSSID_VALID(cmd, bssid_cam->valid);
|
||||
+ FWCMD_SET_ADDR_BSSID_MASK(cmd, bss_mask);
|
||||
FWCMD_SET_ADDR_BSSID_BB_SEL(cmd, bssid_cam->phy_idx);
|
||||
FWCMD_SET_ADDR_BSSID_BSS_COLOR(cmd, bss_color);
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/cam.h b/drivers/net/wireless/realtek/rtw89/cam.h
|
||||
index a3931d3e40d2..74a6c4748d64 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/cam.h
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/cam.h
|
||||
@@ -9,6 +9,9 @@
|
||||
|
||||
#define RTW89_SEC_CAM_LEN 20
|
||||
|
||||
+#define RTW89_BSSID_MATCH_ALL GENMASK(5, 0)
|
||||
+#define RTW89_BSSID_MATCH_5_BYTES GENMASK(4, 0)
|
||||
+
|
||||
static inline void FWCMD_SET_ADDR_IDX(void *cmd, u32 value)
|
||||
{
|
||||
le32p_replace_bits((__le32 *)(cmd) + 1, value, GENMASK(7, 0));
|
||||
@@ -309,6 +312,11 @@ static inline void FWCMD_SET_ADDR_BSSID_BB_SEL(void *cmd, u32 value)
|
||||
le32p_replace_bits((__le32 *)(cmd) + 13, value, BIT(1));
|
||||
}
|
||||
|
||||
+static inline void FWCMD_SET_ADDR_BSSID_MASK(void *cmd, u32 value)
|
||||
+{
|
||||
+ le32p_replace_bits((__le32 *)(cmd) + 13, value, GENMASK(7, 2));
|
||||
+}
|
||||
+
|
||||
static inline void FWCMD_SET_ADDR_BSSID_BSS_COLOR(void *cmd, u32 value)
|
||||
{
|
||||
le32p_replace_bits((__le32 *)(cmd) + 13, value, GENMASK(13, 8));
|
||||
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
index 631dcdff4d0d..97731c7a3fd6 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw89/core.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw89/core.c
|
||||
@@ -3011,6 +3011,7 @@ static int rtw89_core_register_hw(struct rtw89_dev *rtwdev)
|
||||
ieee80211_hw_set(hw, SUPPORTS_PS);
|
||||
ieee80211_hw_set(hw, SUPPORTS_DYNAMIC_PS);
|
||||
ieee80211_hw_set(hw, SINGLE_SCAN_ON_ALL_BANDS);
|
||||
+ ieee80211_hw_set(hw, SUPPORTS_MULTI_BSSID);
|
||||
|
||||
hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
|
||||
BIT(NL80211_IFTYPE_AP);
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
#
|
||||
# https://github.com/megous/linux
|
||||
#
|
||||
# tag: orange-pi-5.18-20220526-2012
|
||||
# tag: orange-pi-5.18-20220609-1318
|
||||
# tag: orange-pi-5.18-20220615-1100
|
||||
patches.megous/dt-bindings-input-gpio-vibrator-Don-t-require-enable-gpios.patch
|
||||
patches.megous/dt-bindings-leds-Add-a-binding-for-AXP813-charger-led.patch
|
||||
patches.megous/dt-bindings-media-Add-bindings-for-Himax-HM5065-camera-sensor.patch
|
||||
@@ -322,7 +325,6 @@
|
||||
patches.megous/media-platform-rkisp1-Fix-detection-of-sensor-subdevices.patch
|
||||
patches.megous/device-property-Add-helper-to-match-multiple-connections.patch
|
||||
patches.megous/device-property-Use-multi-connection-matchers-for-single-case.patch
|
||||
patches.megous/usb-typec-mux-Check-dev_set_name-return-value.patch
|
||||
patches.megous/usb-typec-mux-Introduce-indirection.patch
|
||||
patches.megous/usb-typec-mux-Allow-multiple-mux_devs-per-mux.patch
|
||||
patches.megous/sdhci-arasan-Add-runtime-PM-support.patch
|
||||
@@ -390,11 +392,9 @@
|
||||
patches.megous/input-pinephone-keyboard-Allow-disabling-the-keyboard-input.patch
|
||||
patches.megous/rtw88-change-idle-mode-condition-during-hw_scan.patch
|
||||
patches.megous/rtw88-add-ieee80211-sta_rc_update-ops.patch
|
||||
- patches.megous/rtw88-fix-incorrect-frequency-reported.patch
|
||||
patches.megous/rtw88-Add-update-beacon-flow-for-AP-mode.patch
|
||||
patches.megous/rtw88-8821c-Enable-TX-report-for-management-frames.patch
|
||||
patches.megous/rtw88-do-PHY-calibration-while-starting-AP.patch
|
||||
- patches.megous/rtw88-8821c-fix-debugfs-rssi-value.patch
|
||||
patches.megous/rtw88-8821ce-add-support-for-device-ID-0xb821.patch
|
||||
patches.megous/rtw88-8821ce-Disable-PCIe-ASPM-L1-for-8821CE-using-chip-ID.patch
|
||||
patches.megous/rtw88-fix-uninitialized-tim_offset-warning.patch
|
||||
@@ -405,7 +405,6 @@
|
||||
patches.megous/rtw88-fix-hw-scan-may-cause-disconnect-issue.patch
|
||||
patches.megous/rtw88-remove-a-copy-of-the-NAPI_POLL_WEIGHT-define.patch
|
||||
patches.megous/rtw88-adjust-adaptivity-option-to-1.patch
|
||||
- patches.megous/rtw89-ser-fix-CAM-leaks-occurring-in-L2-reset.patch
|
||||
patches.megous/rtw89-mac-move-table-of-mem-base-addr-to-common.patch
|
||||
patches.megous/rtw89-mac-correct-decision-on-error-status-by-scenario.patch
|
||||
patches.megous/rtw89-ser-control-hci-interrupts-on-off-by-state.patch
|
||||
@@ -445,7 +444,6 @@
|
||||
patches.megous/rtw89-change-idle-mode-condition-during-hw_scan.patch
|
||||
patches.megous/rtw89-packet-offload-handler-to-avoid-warning.patch
|
||||
patches.megous/rtw89-coex-Add-case-for-scan-offload.patch
|
||||
- patches.megous/rtw89-fix-misconfiguration-on-hw_scan-channel-time.patch
|
||||
patches.megous/rtw89-ser-fix-unannotated-fall-through.patch
|
||||
patches.megous/rtw89-ser-configure-D-MAC-interrupt-mask.patch
|
||||
patches.megous/rtw89-ser-configure-C-MAC-interrupt-mask.patch
|
||||
@@ -510,7 +508,6 @@
|
||||
patches.megous/rtw89-add-debug-entry-to-dump-BSSID-CAM.patch
|
||||
patches.megous/rtw89-add-ieee80211-sta_rc_update-ops.patch
|
||||
patches.megous/rtw89-8852c-set-TX-antenna-path.patch
|
||||
- patches.megous/rtw89-cfo-check-mac_id-to-avoid-out-of-bounds.patch
|
||||
patches.megous/rtw89-8852c-update-txpwr-tables-to-HALRF_027_00_052.patch
|
||||
patches.megous/rtw89-convert-rtw89_band-to-nl80211_band-precisely.patch
|
||||
patches.megous/rtw89-pci-only-mask-out-INT-indicator-register-for-disable-inte.patch
|
||||
@@ -521,7 +518,6 @@
|
||||
patches.megous/iio-af8133j-Cleanup-probe-and-power-up-down.patch
|
||||
patches.megous/iio-af8133j-Add-runtime-power-management.patch
|
||||
patches.megous/rtw88-add-a-work-to-correct-atomic-scheduling-warning-of-set_ti.patch
|
||||
# tag: orange-pi-5.18-20220526-2012
|
||||
patches.megous/power-supply-rk818-battery-Speed-up-battery-current-readout.patch
|
||||
patches.megous/leds-sgm3140-Add-missing-timer-cleanup-and-flash-gpio-control.patch
|
||||
patches.megous/arm64-dts-rk3399-pinephone-pro-Use-4-lane-mode-for-selfie-camer.patch
|
||||
@@ -539,7 +535,11 @@
|
||||
patches.megous/wifi-rtw88-Fix-Sparse-warning-for-rtw8821c_hw_spec.patch
|
||||
patches.megous/media-imx258-Add-debug-register-access.patch
|
||||
patches.megous/Import-pgwipeout-s-pcie-regs-ranges.patch
|
||||
# tag: orange-pi-5.18-20220609-1318
|
||||
patches.megous/wifi-rtw89-support-MULTI_BSSID-and-correct-BSSID-mask-of-H2C.patch
|
||||
patches.megous/rtw89-8852c-add-trigger-frame-counter.patch
|
||||
patches.megous/rtw89-add-new-state-to-CFO-state-machine-for-UL-OFDMA.patch
|
||||
patches.megous/Revert-rtw89-8852c-add-trigger-frame-counter.patch
|
||||
patches.megous/Revert-rtw89-add-new-state-to-CFO-state-machine-for-UL-OFDMA.patch
|
||||
|
||||
############################################################################
|
||||
#
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
#
|
||||
# https://github.com/megous/linux
|
||||
#
|
||||
# tag: orange-pi-5.18-20220526-2012
|
||||
# tag: orange-pi-5.18-20220609-1318
|
||||
# tag: orange-pi-5.18-20220615-1100
|
||||
patches.megous/dt-bindings-input-gpio-vibrator-Don-t-require-enable-gpios.patch
|
||||
patches.megous/dt-bindings-leds-Add-a-binding-for-AXP813-charger-led.patch
|
||||
patches.megous/dt-bindings-media-Add-bindings-for-Himax-HM5065-camera-sensor.patch
|
||||
@@ -322,7 +325,6 @@
|
||||
patches.megous/media-platform-rkisp1-Fix-detection-of-sensor-subdevices.patch
|
||||
patches.megous/device-property-Add-helper-to-match-multiple-connections.patch
|
||||
patches.megous/device-property-Use-multi-connection-matchers-for-single-case.patch
|
||||
patches.megous/usb-typec-mux-Check-dev_set_name-return-value.patch
|
||||
patches.megous/usb-typec-mux-Introduce-indirection.patch
|
||||
patches.megous/usb-typec-mux-Allow-multiple-mux_devs-per-mux.patch
|
||||
patches.megous/sdhci-arasan-Add-runtime-PM-support.patch
|
||||
@@ -390,11 +392,9 @@
|
||||
patches.megous/input-pinephone-keyboard-Allow-disabling-the-keyboard-input.patch
|
||||
patches.megous/rtw88-change-idle-mode-condition-during-hw_scan.patch
|
||||
patches.megous/rtw88-add-ieee80211-sta_rc_update-ops.patch
|
||||
- patches.megous/rtw88-fix-incorrect-frequency-reported.patch
|
||||
patches.megous/rtw88-Add-update-beacon-flow-for-AP-mode.patch
|
||||
patches.megous/rtw88-8821c-Enable-TX-report-for-management-frames.patch
|
||||
patches.megous/rtw88-do-PHY-calibration-while-starting-AP.patch
|
||||
- patches.megous/rtw88-8821c-fix-debugfs-rssi-value.patch
|
||||
patches.megous/rtw88-8821ce-add-support-for-device-ID-0xb821.patch
|
||||
patches.megous/rtw88-8821ce-Disable-PCIe-ASPM-L1-for-8821CE-using-chip-ID.patch
|
||||
patches.megous/rtw88-fix-uninitialized-tim_offset-warning.patch
|
||||
@@ -405,7 +405,6 @@
|
||||
patches.megous/rtw88-fix-hw-scan-may-cause-disconnect-issue.patch
|
||||
patches.megous/rtw88-remove-a-copy-of-the-NAPI_POLL_WEIGHT-define.patch
|
||||
patches.megous/rtw88-adjust-adaptivity-option-to-1.patch
|
||||
- patches.megous/rtw89-ser-fix-CAM-leaks-occurring-in-L2-reset.patch
|
||||
patches.megous/rtw89-mac-move-table-of-mem-base-addr-to-common.patch
|
||||
patches.megous/rtw89-mac-correct-decision-on-error-status-by-scenario.patch
|
||||
patches.megous/rtw89-ser-control-hci-interrupts-on-off-by-state.patch
|
||||
@@ -445,7 +444,6 @@
|
||||
patches.megous/rtw89-change-idle-mode-condition-during-hw_scan.patch
|
||||
patches.megous/rtw89-packet-offload-handler-to-avoid-warning.patch
|
||||
patches.megous/rtw89-coex-Add-case-for-scan-offload.patch
|
||||
- patches.megous/rtw89-fix-misconfiguration-on-hw_scan-channel-time.patch
|
||||
patches.megous/rtw89-ser-fix-unannotated-fall-through.patch
|
||||
patches.megous/rtw89-ser-configure-D-MAC-interrupt-mask.patch
|
||||
patches.megous/rtw89-ser-configure-C-MAC-interrupt-mask.patch
|
||||
@@ -510,7 +508,6 @@
|
||||
patches.megous/rtw89-add-debug-entry-to-dump-BSSID-CAM.patch
|
||||
patches.megous/rtw89-add-ieee80211-sta_rc_update-ops.patch
|
||||
patches.megous/rtw89-8852c-set-TX-antenna-path.patch
|
||||
- patches.megous/rtw89-cfo-check-mac_id-to-avoid-out-of-bounds.patch
|
||||
patches.megous/rtw89-8852c-update-txpwr-tables-to-HALRF_027_00_052.patch
|
||||
patches.megous/rtw89-convert-rtw89_band-to-nl80211_band-precisely.patch
|
||||
patches.megous/rtw89-pci-only-mask-out-INT-indicator-register-for-disable-inte.patch
|
||||
@@ -521,7 +518,6 @@
|
||||
patches.megous/iio-af8133j-Cleanup-probe-and-power-up-down.patch
|
||||
patches.megous/iio-af8133j-Add-runtime-power-management.patch
|
||||
patches.megous/rtw88-add-a-work-to-correct-atomic-scheduling-warning-of-set_ti.patch
|
||||
# tag: orange-pi-5.18-20220526-2012
|
||||
patches.megous/power-supply-rk818-battery-Speed-up-battery-current-readout.patch
|
||||
patches.megous/leds-sgm3140-Add-missing-timer-cleanup-and-flash-gpio-control.patch
|
||||
patches.megous/arm64-dts-rk3399-pinephone-pro-Use-4-lane-mode-for-selfie-camer.patch
|
||||
@@ -539,4 +535,8 @@
|
||||
patches.megous/wifi-rtw88-Fix-Sparse-warning-for-rtw8821c_hw_spec.patch
|
||||
patches.megous/media-imx258-Add-debug-register-access.patch
|
||||
patches.megous/Import-pgwipeout-s-pcie-regs-ranges.patch
|
||||
# tag: orange-pi-5.18-20220609-1318
|
||||
patches.megous/wifi-rtw89-support-MULTI_BSSID-and-correct-BSSID-mask-of-H2C.patch
|
||||
patches.megous/rtw89-8852c-add-trigger-frame-counter.patch
|
||||
patches.megous/rtw89-add-new-state-to-CFO-state-machine-for-UL-OFDMA.patch
|
||||
patches.megous/Revert-rtw89-8852c-add-trigger-frame-counter.patch
|
||||
patches.megous/Revert-rtw89-add-new-state-to-CFO-state-machine-for-UL-OFDMA.patch
|
||||
|
||||
@@ -55,12 +55,13 @@ mk_patch_series ()
|
||||
local target_name
|
||||
local target_dir
|
||||
local mess=""
|
||||
numbered=${numbered:-false}
|
||||
|
||||
echo -e "\nLOCAL GIT URL =: [\033[1;34m$url_t\033[0m]"
|
||||
echo -e "revision range =: [\033[1;34m$range\033[0m]"
|
||||
echo -e "target folder for patches =: [\033[1;34m$target\033[0m]"
|
||||
echo -e "prefix =: [\033[1;34m$prefix\033[0m]"
|
||||
echo -e "numbered =: [\033[1;31m${numbered:-false}\033[0m]\n"
|
||||
echo -e "numbered =: [\033[1;31m${numbered}\033[0m]\n"
|
||||
|
||||
[ -d $url_t ] || mess+=" bad url [$url_t]\n"
|
||||
[ "$(git -C $url_t rev-parse --git-dir 2>/dev/null)" != ".git" ] && \
|
||||
|
||||
Reference in New Issue
Block a user