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:
The-going
2022-06-20 16:31:38 +03:00
committed by GitHub
parent e80e598007
commit 176c05d4b0
78 changed files with 1089 additions and 860 deletions

View File

@@ -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> From: Samuel Holland <samuel@sholland.org>
Date: Sat, 3 Apr 2021 20:53:26 -0500 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> 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(+) 1 file changed, 15 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi 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 --- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/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 {
}; };
}; };

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Mon, 9 Sep 2019 06:02:10 +0200 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] to A83T [untested]
Not tested at all. Not tested at all.
@@ -12,10 +12,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
1 file changed, 10 insertions(+) 1 file changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi 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 --- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/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>; reg = <0x01c00000 0x1000>;
}; };

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Sat, 1 Feb 2020 23:41:47 +0100 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. Boot time optimization.
@@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
1 file changed, 5 insertions(+) 1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi 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 --- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/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>; interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
@@ -22,7 +22,7 @@ index 82fdb04122ca..2035839513e0 100644
clocks = <&ccu CLK_BUS_UART0>; clocks = <&ccu CLK_BUS_UART0>;
resets = <&ccu RST_BUS_UART0>; resets = <&ccu RST_BUS_UART0>;
status = "disabled"; status = "disabled";
@@ -944,6 +945,7 @@ uart1: serial@1c28400 { @@ -923,6 +924,7 @@ uart1: serial@1c28400 {
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
@@ -30,7 +30,7 @@ index 82fdb04122ca..2035839513e0 100644
clocks = <&ccu CLK_BUS_UART1>; clocks = <&ccu CLK_BUS_UART1>;
resets = <&ccu RST_BUS_UART1>; resets = <&ccu RST_BUS_UART1>;
status = "disabled"; status = "disabled";
@@ -955,6 +957,7 @@ uart2: serial@1c28800 { @@ -934,6 +936,7 @@ uart2: serial@1c28800 {
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
@@ -38,7 +38,7 @@ index 82fdb04122ca..2035839513e0 100644
clocks = <&ccu CLK_BUS_UART2>; clocks = <&ccu CLK_BUS_UART2>;
resets = <&ccu RST_BUS_UART2>; resets = <&ccu RST_BUS_UART2>;
status = "disabled"; status = "disabled";
@@ -966,6 +969,7 @@ uart3: serial@1c28c00 { @@ -945,6 +948,7 @@ uart3: serial@1c28c00 {
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;
@@ -46,7 +46,7 @@ index 82fdb04122ca..2035839513e0 100644
clocks = <&ccu CLK_BUS_UART3>; clocks = <&ccu CLK_BUS_UART3>;
resets = <&ccu RST_BUS_UART3>; resets = <&ccu RST_BUS_UART3>;
status = "disabled"; status = "disabled";
@@ -977,6 +981,7 @@ uart4: serial@1c29000 { @@ -956,6 +960,7 @@ uart4: serial@1c29000 {
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>; reg-shift = <2>;
reg-io-width = <4>; reg-io-width = <4>;

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Tue, 23 Jun 2020 19:19:46 +0200 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 privileges over SCPI
This is needed since on A83T there's no PSCI/ATF implementation. 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(-) 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 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 --- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/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 { scpi_protocol: scpi {
compatible = "arm,scpi"; compatible = "arm,scpi";
@@ -24,7 +24,7 @@ index 488dc41e5af0..533d8e60f5eb 100644
mbox-names = "tx", "rx"; mbox-names = "tx", "rx";
shmem = <&scpi_sram>; shmem = <&scpi_sram>;
}; };
@@ -446,6 +446,9 @@ syscon: syscon@1c00000 { @@ -410,6 +410,9 @@ syscon: syscon@1c00000 {
compatible = "allwinner,sun8i-a83t-system-controller", compatible = "allwinner,sun8i-a83t-system-controller",
"syscon"; "syscon";
reg = <0x01c00000 0x1000>; reg = <0x01c00000 0x1000>;
@@ -34,7 +34,7 @@ index 488dc41e5af0..533d8e60f5eb 100644
sram_a2: sram@40000 { sram_a2: sram@40000 {
compatible = "mmio-sram"; compatible = "mmio-sram";
@@ -456,7 +459,7 @@ sram_a2: sram@40000 { @@ -420,7 +423,7 @@ sram_a2: sram@40000 {
scpi_sram: scp-shmem@13c00 { scpi_sram: scp-shmem@13c00 {
compatible = "arm,scp-shmem"; compatible = "arm,scp-shmem";

View File

@@ -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> From: Jernej Skrabec <jernej.skrabec@gmail.com>
Date: Sun, 9 May 2021 11:06:37 +0200 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 with hdmi
Each board that has HDMI connector can also transmit audio through it. 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(+) 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 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 --- a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
+++ b/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 { @@ -159,6 +159,10 @@ hdmi_out_con: endpoint {
@@ -48,7 +48,7 @@ index cd9f655e4f92..eae1187b8266 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&spdif_tx_pin>; 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 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 --- a/arch/arm/boot/dts/sun8i-h3-emlid-neutis-n5h3-devboard.dts
+++ b/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 { @@ -70,3 +70,11 @@ hdmi_out_con: endpoint {
@@ -64,7 +64,7 @@ index 02fbe00cde97..61d6529dcc70 100644
+ status = "okay"; + 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 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 --- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+++ b/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 { @@ -118,6 +118,10 @@ hdmi_out_con: endpoint {
@@ -90,7 +90,7 @@ index 4ba533b0340f..e94ffe3c1c69 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>; 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 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 --- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
+++ b/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 { @@ -91,6 +91,10 @@ hdmi_out_con: endpoint {
@@ -113,7 +113,7 @@ index 69243dcb30a6..9393779f33b6 100644
+ status = "okay"; + status = "okay";
+}; +};
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts 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 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
+++ b/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 { @@ -145,6 +145,10 @@ hdmi_out_con: endpoint {
@@ -139,7 +139,7 @@ index 9daffd90c12f..858ce46826e7 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pa_pins>; 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 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 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
+++ b/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 { @@ -120,6 +120,10 @@ hdmi_out_con: endpoint {
@@ -165,7 +165,7 @@ index 6f9c97add54e..420aa5afd304 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pa_pins>; 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 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 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
+++ b/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 { @@ -146,6 +146,10 @@ hdmi_out_con: endpoint {
@@ -191,7 +191,7 @@ index 4759ba3f2986..097f784bce0e 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pa_pins>; 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 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 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
+++ b/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 { @@ -147,6 +147,10 @@ hdmi_out_con: endpoint {
@@ -205,7 +205,7 @@ index 90f75fa85e68..78aa09736a61 100644
&ir { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&r_ir_rx_pin>; pinctrl-0 = <&r_ir_rx_pin>;
@@ -205,6 +209,10 @@ &reg_usb0_vbus { @@ -206,6 +210,10 @@ &reg_usb0_vbus {
status = "okay"; status = "okay";
}; };
@@ -217,7 +217,7 @@ index 90f75fa85e68..78aa09736a61 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pa_pins>; 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 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 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-zero-plus2.dts
+++ b/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 { @@ -117,6 +117,10 @@ hdmi_out_con: endpoint {
@@ -243,7 +243,7 @@ index 561ea1d2f861..70202baa54b9 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pa_pins>; 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 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 --- a/arch/arm/boot/dts/sun8i-h3-rervision-dvk.dts
+++ b/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 { @@ -69,6 +69,10 @@ hdmi_out_con: endpoint {

View File

@@ -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> From: Ondrej Jirman <megi@xff.cz>
Date: Sat, 2 Apr 2022 02:24:26 +0200 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 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(-) 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 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 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
@@ -54,6 +54,9 @@ / { @@ -54,6 +54,9 @@ / {
@@ -22,7 +22,7 @@ index 147b574d9887..50f643c91aba 100644
}; };
chosen { chosen {
@@ -175,19 +178,19 @@ &uart0 { @@ -183,19 +186,19 @@ &uart0 {
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>; pinctrl-0 = <&uart1_pins>;

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Sun, 12 Nov 2017 19:03:39 +0100 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> 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(+) 1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi 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 --- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/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"; function = "spdif";
}; };

View File

@@ -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> From: Samuel Holland <samuel@sholland.org>
Date: Wed, 1 Jan 2020 16:03:34 -0600 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> 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(+) 1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi 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 --- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/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>; reg = <0x01c20000 0x400>;
clocks = <&osc24M>, <&osc16Md512>; clocks = <&osc24M>, <&osc16Md512>;
clock-names = "hosc", "losc"; clock-names = "hosc", "losc";
@@ -20,7 +20,7 @@ index 82fdb04122ca..63d117f0e962 100644
#clock-cells = <1>; #clock-cells = <1>;
#reset-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>, clocks = <&osc24M>, <&osc16Md512>, <&osc16M>,
<&ccu CLK_PLL_PERIPH>; <&ccu CLK_PLL_PERIPH>;
clock-names = "hosc", "losc", "iosc", "pll-periph"; clock-names = "hosc", "losc", "iosc", "pll-periph";

View File

@@ -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> From: Samuel Holland <samuel@sholland.org>
Date: Wed, 1 Jan 2020 16:12:36 -0600 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> 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(+) 3 files changed, 33 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi 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 --- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/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>; #size-cells = <1>;
ranges; ranges;
@@ -35,7 +35,7 @@ index eac2349a2380..b641026d0407 100644
compatible = "mmio-sram"; compatible = "mmio-sram";
reg = <0x01d00000 0x80000>; reg = <0x01d00000 0x80000>;
diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi 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 --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi +++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
@@ -105,6 +105,13 @@ de: display-engine { @@ -105,6 +105,13 @@ de: display-engine {
@@ -53,7 +53,7 @@ index 5ffc4052b3d3..1374eaa02370 100644
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
+++ b/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 { @@ -86,6 +86,19 @@ syscon: system-control@1c00000 {

View File

@@ -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> From: Samuel Holland <samuel@sholland.org>
Date: Sat, 29 Jan 2022 17:00:39 -0600 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 driver
The official Pine64 PinePhone keyboard case contains a matrix keypad and 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 create mode 100644 drivers/input/keyboard/pinephone-keyboard.c
diff --git a/MAINTAINERS b/MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS
index f468864fd268..425e7d56bf60 100644 index d10bb7a31..e6d09d58a 100644
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/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: Documentation/devicetree/bindings/iio/chemical/plantower,pms7003.yaml
F: drivers/iio/chemical/pms7003.c F: drivers/iio/chemical/pms7003.c
@@ -34,7 +34,7 @@ index f468864fd268..425e7d56bf60 100644
M: Jacob Keller <jacob.e.keller@intel.com> M: Jacob Keller <jacob.e.keller@intel.com>
S: Maintained S: Maintained
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig 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 --- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig
@@ -524,6 +524,16 @@ config KEYBOARD_OPENCORES @@ -524,6 +524,16 @@ config KEYBOARD_OPENCORES
@@ -55,7 +55,7 @@ index 4ea79db8f134..8439b38c69f4 100644
tristate "PXA27x/PXA3xx keypad support" tristate "PXA27x/PXA3xx keypad support"
depends on PXA27x || PXA3xx || ARCH_MMP depends on PXA27x || PXA3xx || ARCH_MMP
diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile 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 --- a/drivers/input/keyboard/Makefile
+++ b/drivers/input/keyboard/Makefile +++ b/drivers/input/keyboard/Makefile
@@ -52,6 +52,7 @@ obj-$(CONFIG_KEYBOARD_NSPIRE) += nspire-keypad.o @@ -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 obj-$(CONFIG_KEYBOARD_PXA930_ROTARY) += pxa930_rotary.o
diff --git a/drivers/input/keyboard/pinephone-keyboard.c b/drivers/input/keyboard/pinephone-keyboard.c diff --git a/drivers/input/keyboard/pinephone-keyboard.c b/drivers/input/keyboard/pinephone-keyboard.c
new file mode 100644 new file mode 100644
index 000000000000..9a071753fd91 index 000000000..9a071753f
--- /dev/null --- /dev/null
+++ b/drivers/input/keyboard/pinephone-keyboard.c +++ b/drivers/input/keyboard/pinephone-keyboard.c
@@ -0,0 +1,258 @@ @@ -0,0 +1,258 @@

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Fri, 18 Aug 2017 13:55:48 +0200 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 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(-) 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 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 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
+++ b/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 { @@ -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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
+++ b/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 { sw4 {
label = "sw4"; label = "sw4";

View File

@@ -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

View File

@@ -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

View File

@@ -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> From: Jernej Skrabec <jernej.skrabec@gmail.com>
Date: Sun, 9 May 2021 10:39:56 +0200 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. 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(+) 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/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 { timer {
compatible = "arm,armv8-timer"; compatible = "arm,armv8-timer";
allwinner,erratum-unknown1; allwinner,erratum-unknown1;
@@ -1220,6 +1234,7 @@ deinterlace: deinterlace@1e00000 { @@ -1251,6 +1265,7 @@ deinterlace: deinterlace@1e00000 {
}; };
hdmi: hdmi@1ee0000 { hdmi: hdmi@1ee0000 {

View File

@@ -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> From: Samuel Holland <samuel@sholland.org>
Date: Mon, 30 Dec 2019 15:10:32 -0600 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> 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(+) 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -662,6 +662,7 @@ ccu: clock@1c20000 { @@ -662,6 +662,7 @@ ccu: clock@1c20000 {
@@ -20,7 +20,7 @@ index de77c87481fd..818bc8f179be 100644
#clock-cells = <1>; #clock-cells = <1>;
#reset-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>, clocks = <&osc24M>, <&rtc 0>, <&rtc 2>,
<&ccu CLK_PLL_PERIPH0>; <&ccu CLK_PLL_PERIPH0>;
clock-names = "hosc", "losc", "iosc", "pll-periph"; clock-names = "hosc", "losc", "iosc", "pll-periph";

View File

@@ -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> From: Jernej Skrabec <jernej.skrabec@gmail.com>
Date: Sun, 9 May 2021 12:40:31 +0200 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 boards with hdmi
Each board that has HDMI connector can also transmit audio through it. 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(+) 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 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 --- 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 +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-emlid-neutis-n5-devboard.dts
@@ -69,3 +69,11 @@ hdmi_out_con: endpoint { @@ -69,3 +69,11 @@ hdmi_out_con: endpoint {
@@ -32,10 +32,10 @@ index 076a0b983101..5882b62097a9 100644
+ status = "okay"; + 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
+++ b/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 { &ir {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&r_ir_rx_pin>; 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"; 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
+++ b/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 { @@ -145,6 +145,10 @@ hdmi_out_con: endpoint {
@@ -84,7 +84,7 @@ index 74e0444af19b..19b8538e0e15 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pa_pins>; 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
+++ b/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 { @@ -77,6 +77,10 @@ hdmi_out_con: endpoint {

View File

@@ -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> From: Jernej Skrabec <jernej.skrabec@gmail.com>
Date: Tue, 10 Nov 2020 20:43:28 +0100 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. H6 supports HDMI audio. Add a sound card node for it.
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
--- ---
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 16 ++++++++++++++++ arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 15 +++++++++++++++
1 file changed, 16 insertions(+) 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -101,6 +101,20 @@ scpi_protocol: scpi { @@ -101,6 +101,20 @@ scpi_protocol: scpi {

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Tue, 11 Jan 2022 13:08:47 +0100 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 boards with hdmi
Each board that has HDMI connector can also transmit audio through it. 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(+) 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
+++ b/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 { @@ -118,6 +118,10 @@ hdmi_out_con: endpoint {
@@ -42,10 +42,10 @@ index 6249e9e02928..17c99ab66d1c 100644
status = "okay"; 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
+++ b/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 { &mmc0 {
vmmc-supply = <&reg_cldo1>; vmmc-supply = <&reg_cldo1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
@@ -299,6 +303,10 @@ &rtc { @@ -339,6 +343,10 @@ &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };
@@ -68,7 +68,7 @@ index c45d7b7fb39a..6cac70c71ab5 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_ph_pins>; 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
+++ b/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 { @@ -91,6 +91,10 @@ hdmi_out_con: endpoint {
@@ -94,7 +94,7 @@ index 92745128fcfe..b019bbaae21d 100644
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_ph_pins>; 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
+++ b/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 { @@ -123,6 +123,10 @@ hdmi_out_con: endpoint {

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Mon, 15 Feb 2021 17:45:13 +0100 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 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, 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(+) 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+++ b/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 { speaker_amp: audio-amplifier {
compatible = "simple-audio-amplifier"; compatible = "simple-audio-amplifier";
enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */ enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
@@ -433,6 +461,15 @@ &reg_rtc_ldo { @@ -921,6 +949,15 @@ &reg_rtc_ldo {
regulator-name = "vcc-rtc"; regulator-name = "vcc-rtc";
}; };

View File

@@ -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> From: Ondrej Jirman <megi@xff.cz>
Date: Fri, 27 May 2022 16:44:42 +0200 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 selfie camera
It works, enable it. It works, enable it.
Signed-off-by: Ondrej Jirman <megi@xff.cz> Signed-off-by: Ondrej Jirman <megi@xff.cz>
--- ---
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 4 ++-- arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 6 +++---
1 file changed, 2 insertions(+), 2 deletions(-) 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 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 --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/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 { @@ -395,7 +395,7 @@ regulator-state-mem {

View File

@@ -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> From: Bjorn Andersson <bjorn.andersson@linaro.org>
Date: Fri, 22 Apr 2022 15:23:45 -0700 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 connections
In some cases multiple connections with the same connection id 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(+) 2 files changed, 114 insertions(+)
diff --git a/drivers/base/property.c b/drivers/base/property.c 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 --- a/drivers/base/property.c
+++ b/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; return NULL;
} }
@@ -66,7 +66,7 @@ index c0e94cce9c29..08da5ca49e9c 100644
static void * static void *
fwnode_devcon_match(struct fwnode_handle *fwnode, const char *con_id, fwnode_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
void *data, devcon_match_fn_t match) 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; return NULL;
} }
@@ -104,7 +104,7 @@ index c0e94cce9c29..08da5ca49e9c 100644
/** /**
* fwnode_connection_find_match - Find connection from a device node * fwnode_connection_find_match - Find connection from a device node
* @fwnode: Device node with the connection * @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); return fwnode_devcon_match(fwnode, con_id, data, match);
} }
EXPORT_SYMBOL_GPL(fwnode_connection_find_match); EXPORT_SYMBOL_GPL(fwnode_connection_find_match);
@@ -153,7 +153,7 @@ index c0e94cce9c29..08da5ca49e9c 100644
+} +}
+EXPORT_SYMBOL_GPL(fwnode_connection_find_matches); +EXPORT_SYMBOL_GPL(fwnode_connection_find_matches);
diff --git a/include/linux/property.h b/include/linux/property.h 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 --- a/include/linux/property.h
+++ b/include/linux/property.h +++ b/include/linux/property.h
@@ -447,6 +447,11 @@ static inline void *device_connection_find_match(struct device *dev, @@ -447,6 +447,11 @@ static inline void *device_connection_find_match(struct device *dev,

View File

@@ -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> From: Bjorn Andersson <bjorn.andersson@linaro.org>
Date: Fri, 22 Apr 2022 15:23:46 -0700 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 single case
The newly introduced helpers for searching for matches in the case of 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(-) 1 file changed, 5 insertions(+), 50 deletions(-)
diff --git a/drivers/base/property.c b/drivers/base/property.c 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 --- a/drivers/base/property.c
+++ b/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); 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, static unsigned int fwnode_graph_devcon_matches(struct fwnode_handle *fwnode,
const char *con_id, void *data, const char *con_id, void *data,
devcon_match_fn_t match, 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; return count;
} }
@@ -79,7 +79,7 @@ index 08da5ca49e9c..47659764c8a1 100644
static unsigned int fwnode_devcon_matches(struct fwnode_handle *fwnode, static unsigned int fwnode_devcon_matches(struct fwnode_handle *fwnode,
const char *con_id, void *data, const char *con_id, void *data,
devcon_match_fn_t match, 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, const char *con_id, void *data,
devcon_match_fn_t match) devcon_match_fn_t match)
{ {

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Sat, 30 May 2020 03:15:04 +0200 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. 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(-) 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 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 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
+++ b/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"); dev_err(dev, "Couldn't get the TCON channel 0 clock\n");
return PTR_ERR(tcon->sclk0); return PTR_ERR(tcon->sclk0);
} }

View File

@@ -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> From: Vasily Khoruzhick <anarsoul@gmail.com>
Date: Wed, 13 Mar 2019 19:50:17 -0700 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 Add support for gamma corretion to sun4i TCON driver. Its LUT has 256
entries and can be updated only when gamma correction is disabled. 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(-) 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 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 --- a/drivers/gpu/drm/sun4i/sun4i_crtc.c
+++ b/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, @@ -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, 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 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 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
+++ b/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) @@ -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 * This function is a helper for TCON output muxing. The TCON output
* muxing control register in earlier SoCs (without the TCON TOP block) * 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); list_add_tail(&tcon->list, &drv->tcon_list);
@@ -90,7 +90,7 @@ index 8d31a230e3f5..21696e237d0a 100644
err_free_dotclock: err_free_dotclock:
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h 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 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.h
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@

View File

@@ -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> From: Ondrej Jirman <megi@xff.cz>
Date: Mon, 28 Mar 2022 18:31:25 +0200 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 state from p-boot
For perfect, flickerless and fast 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(-) 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 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 --- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
+++ b/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) @@ -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 */ /* Force the parent of TCON0 to PLL-MIPI */
val = readl(reg + SUN50I_A64_TCON0_REG); 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 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 --- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/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, @@ -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; return 0;
diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c 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 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
@@ -58,6 +58,7 @@ struct st7703 { @@ -58,6 +58,7 @@ struct st7703 {
@@ -137,7 +137,7 @@ index cd82f8cf55fa..1db40a9f3e93 100644
if (IS_ERR(ctx->reset_gpio)) if (IS_ERR(ctx->reset_gpio))
return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio), "Failed to get reset gpio\n"); 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 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 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
@@ -39,6 +39,8 @@ @@ -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) static struct drm_connector *sun4i_tcon_get_connector(const struct drm_encoder *encoder)
{ {
struct drm_connector *connector; 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_encoder *encoder,
const struct drm_display_mode *mode) const struct drm_display_mode *mode)
{ {
@@ -163,7 +163,7 @@ index 970ac71f2f21..d456e6b7926f 100644
switch (encoder->encoder_type) { switch (encoder->encoder_type) {
case DRM_MODE_ENCODER_DSI: case DRM_MODE_ENCODER_DSI:
/* DSI is tied to special case of CPU interface */ /* 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); return PTR_ERR(tcon->regs);
} }
@@ -171,7 +171,7 @@ index 970ac71f2f21..d456e6b7926f 100644
/* Make sure the TCON is disabled and all IRQs are off */ /* 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_GCTL_REG, 0);
regmap_write(tcon->regs, SUN4I_TCON_GINT0_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 */ /* Disable IO lines and set them to tristate */
regmap_write(tcon->regs, SUN4I_TCON0_IO_TRI_REG, ~0); regmap_write(tcon->regs, SUN4I_TCON0_IO_TRI_REG, ~0);
regmap_write(tcon->regs, SUN4I_TCON1_IO_TRI_REG, ~0); regmap_write(tcon->regs, SUN4I_TCON1_IO_TRI_REG, ~0);
@@ -179,7 +179,7 @@ index 970ac71f2f21..d456e6b7926f 100644
return 0; 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->dev = dev;
tcon->id = engine->id; tcon->id = engine->id;
tcon->quirks = of_device_get_match_data(dev); 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"); tcon->lcd_rst = devm_reset_control_get(dev, "lcd");
if (IS_ERR(tcon->lcd_rst)) { 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) { 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; const struct sun4i_tcon_quirks *quirks;
struct drm_bridge *bridge; struct drm_bridge *bridge;
struct drm_panel *panel; struct drm_panel *panel;
@@ -221,7 +221,7 @@ index 970ac71f2f21..d456e6b7926f 100644
/* panels and bridges are present only on TCONs with channel 0 */ /* 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 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 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.h
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h
@@ -293,6 +293,8 @@ struct sun4i_tcon { @@ -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); 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 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 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
+++ b/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) @@ -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")) "allwinner,sun6i-a31-mipi-dsi"))
bus_clk_name = "bus"; bus_clk_name = "bus";
diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h 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 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h
+++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h
@@ -31,6 +31,8 @@ struct sun6i_dsi { @@ -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) 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 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 --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
@@ -22,6 +22,7 @@ @@ -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 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 --- a/drivers/gpu/drm/sun4i/sun8i_mixer.h
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h
@@ -177,6 +177,9 @@ struct sun8i_mixer { @@ -177,6 +177,9 @@ struct sun8i_mixer {
@@ -451,7 +451,7 @@ index 5b3fbee18671..d78842d61402 100644
static inline struct sun8i_mixer * 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 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 --- a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
+++ b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c +++ b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
@@ -92,6 +92,8 @@ struct sun6i_dphy { @@ -92,6 +92,8 @@ struct sun6i_dphy {
@@ -496,7 +496,7 @@ index f0bc87d654d4..db53bbefd11e 100644
if (IS_ERR(regs)) { if (IS_ERR(regs)) {
dev_err(&pdev->dev, "Couldn't map the DPHY encoder registers\n"); 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 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 --- a/drivers/video/backlight/pwm_bl.c
+++ b/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) @@ -457,7 +457,7 @@ static int pwm_backlight_probe(struct platform_device *pdev)

View File

@@ -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> From: Roman Beranek <roman.beranek@prusa3d.com>
Date: Wed, 25 Nov 2020 13:07:35 +0100 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 pll_mipi/dotclock ratio
Observations showed that an actual refresh rate differs from the intended. 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(-) 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 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 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
+++ b/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, @@ -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 */ /* Set dithering if needed */
sun4i_tcon0_mode_set_dithering(tcon, sun4i_tcon_get_connector(encoder)); 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_min_div = tcon->quirks->dclk_min_div;
tcon->dclk_max_div = 127; tcon->dclk_max_div = 127;

View File

@@ -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> From: Icenowy Zheng <icenowy@aosc.io>
Date: Wed, 17 Jun 2020 08:47:09 +0800 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 clock to CCU on A64
As the A64 CCU driver has already the ability to keep TCON0 clock stable 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(-) 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 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 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
+++ b/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, @@ -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); 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, .supports_lvds = true,
}; };
@@ -48,7 +48,7 @@ index 21696e237d0a..970ac71f2f21 100644
static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = { static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = {
.supports_lvds = true, .supports_lvds = true,
.has_channel_0 = 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,sun8i-v3s-tcon", .data = &sun8i_v3s_quirks },
{ .compatible = "allwinner,sun9i-a80-tcon-lcd", .data = &sun9i_a80_tcon_lcd_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 }, { .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); 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 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 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.h
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h
@@ -249,6 +249,7 @@ struct sun4i_tcon_quirks { @@ -249,6 +249,7 @@ struct sun4i_tcon_quirks {

View File

@@ -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> From: Samuel Holland <samuel@sholland.org>
Date: Tue, 5 Mar 2019 22:02:41 -0600 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 channels
Some mailbox controllers have only unidirectional channels, so we need a 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(-) 1 file changed, 46 insertions(+), 12 deletions(-)
diff --git a/drivers/firmware/arm_scpi.c b/drivers/firmware/arm_scpi.c 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 --- a/drivers/firmware/arm_scpi.c
+++ b/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 scpi_chan {
struct mbox_client cl; struct mbox_client cl;
@@ -32,7 +32,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
void __iomem *tx_payload; void __iomem *tx_payload;
void __iomem *rx_payload; void __iomem *rx_payload;
struct list_head rx_pending; 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; msg->rx_len = rx_len;
reinit_completion(&msg->done); reinit_completion(&msg->done);
@@ -41,7 +41,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
if (ret < 0 || !rx_buf) if (ret < 0 || !rx_buf)
goto out; 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; struct scpi_drvinfo *info = data;
int i; int i;
@@ -57,7 +57,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
} }
static int scpi_remove(struct platform_device *pdev) 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 resource res;
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
struct device_node *np = dev->of_node; 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); scpi_info = devm_kzalloc(dev, sizeof(*scpi_info), GFP_KERNEL);
if (!scpi_info) 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); dev_err(dev, "no mboxes property in '%pOF'\n", np);
return -ENODEV; return -ENODEV;
} }
@@ -80,7 +80,7 @@ index ddf0b9ff9e15..182e5f977dde 100644
scpi_info->channels = devm_kcalloc(dev, count, sizeof(struct scpi_chan), scpi_info->channels = devm_kcalloc(dev, count, sizeof(struct scpi_chan),
GFP_KERNEL); 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); mutex_init(&pchan->xfers_lock);
ret = scpi_alloc_xfer_list(dev, pchan); ret = scpi_alloc_xfer_list(dev, pchan);

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Thu, 11 Nov 2021 14:28:41 +0100 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. This controller is used by Pinephone Pro.
@@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c 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 --- a/drivers/input/touchscreen/goodix.c
+++ b/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[] = { static const struct goodix_chip_id goodix_chip_ids[] = {
{ .id = "1151", .data = &gt1x_chip_data }, { .id = "1151", .data = &gt1x_chip_data },

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Mon, 18 Oct 2021 03:56:14 +0200 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 when asked to
Sometimes the IRQ flags determined from toucschreen config don't 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(-) 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c 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 --- a/drivers/input/touchscreen/goodix.c
+++ b/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) 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) 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) if (!ts)
return -ENOMEM; return -ENOMEM;
@@ -41,7 +41,7 @@ index 3ad9870db108..0ee23d045498 100644
i2c_set_clientdata(client, ts); i2c_set_clientdata(client, ts);
init_completion(&ts->firmware_loading_complete); init_completion(&ts->firmware_loading_complete);
diff --git a/drivers/input/touchscreen/goodix.h b/drivers/input/touchscreen/goodix.h 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 --- a/drivers/input/touchscreen/goodix.h
+++ b/drivers/input/touchscreen/goodix.h +++ b/drivers/input/touchscreen/goodix.h
@@ -81,6 +81,7 @@ struct goodix_ts_data { @@ -81,6 +81,7 @@ struct goodix_ts_data {

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Sat, 2 Nov 2019 15:09:01 +0100 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 suspended
This makes it possible to send messages from CPU suspend finisher. 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> Signed-off-by: Ondrej Jirman <megi@xff.cz>
--- ---
drivers/mailbox/mailbox.c | 26 +++++++++++++++++++++++--- drivers/mailbox/mailbox.c | 23 ++++++++++++++++++++++-
1 file changed, 23 insertions(+), 3 deletions(-) 1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c 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 --- a/drivers/mailbox/mailbox.c
+++ b/drivers/mailbox/mailbox.c +++ b/drivers/mailbox/mailbox.c
@@ -85,7 +85,10 @@ static void msg_submit(struct mbox_chan *chan) @@ -85,7 +85,10 @@ static void msg_submit(struct mbox_chan *chan)

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Tue, 23 Jun 2020 19:51:18 +0200 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! WIP!
@@ -14,10 +14,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
create mode 100644 drivers/media/i2c/gc2145.c create mode 100644 drivers/media/i2c/gc2145.c
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig 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 --- a/drivers/media/i2c/Kconfig
+++ b/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 This is a V4L2 sensor-level driver for Himax HM5065
5 Mpixel camera. 5 Mpixel camera.
@@ -34,7 +34,7 @@ index 0f3bd9f6d34b..9b1e529fdcc5 100644
menu "Lens drivers" menu "Lens drivers"
diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile 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 --- a/drivers/media/i2c/Makefile
+++ b/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile
@@ -142,3 +142,4 @@ obj-$(CONFIG_VIDEO_VS6624) += vs6624.o @@ -142,3 +142,4 @@ obj-$(CONFIG_VIDEO_VS6624) += vs6624.o
@@ -44,7 +44,7 @@ index 0f391b588d59..4a0b4f050ef8 100644
+obj-$(CONFIG_VIDEO_GC2145) += gc2145.o +obj-$(CONFIG_VIDEO_GC2145) += gc2145.o
diff --git a/drivers/media/i2c/gc2145.c b/drivers/media/i2c/gc2145.c diff --git a/drivers/media/i2c/gc2145.c b/drivers/media/i2c/gc2145.c
new file mode 100644 new file mode 100644
index 000000000000..b7953222eeeb index 000000000..b7953222e
--- /dev/null --- /dev/null
+++ b/drivers/media/i2c/gc2145.c +++ b/drivers/media/i2c/gc2145.c
@@ -0,0 +1,2247 @@ @@ -0,0 +1,2247 @@

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Sat, 30 Sep 2017 02:39:48 +0200 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 camera sensor
HM5065 is 5MP CMOS sensor. This driver implements support for 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 create mode 100644 drivers/media/i2c/hm5065.c
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig 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 --- a/drivers/media/i2c/Kconfig
+++ b/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/et8ek8/Kconfig"
source "drivers/media/i2c/m5mols/Kconfig" source "drivers/media/i2c/m5mols/Kconfig"
@@ -42,7 +42,7 @@ index fae2baabb773..0f3bd9f6d34b 100644
menu "Lens drivers" menu "Lens drivers"
diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile 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 --- a/drivers/media/i2c/Makefile
+++ b/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile
@@ -141,3 +141,4 @@ obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o @@ -141,3 +141,4 @@ obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o
@@ -52,7 +52,7 @@ index 3e1696963e7f..0f391b588d59 100644
+obj-$(CONFIG_VIDEO_HM5065) += hm5065.o +obj-$(CONFIG_VIDEO_HM5065) += hm5065.o
diff --git a/drivers/media/i2c/hm5065.c b/drivers/media/i2c/hm5065.c diff --git a/drivers/media/i2c/hm5065.c b/drivers/media/i2c/hm5065.c
new file mode 100644 new file mode 100644
index 000000000000..89756f92cee0 index 000000000..89756f92c
--- /dev/null --- /dev/null
+++ b/drivers/media/i2c/hm5065.c +++ b/drivers/media/i2c/hm5065.c
@@ -0,0 +1,2208 @@ @@ -0,0 +1,2208 @@

View File

@@ -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> From: Ondrej Jirman <megi@xff.cz>
Date: Sun, 22 May 2022 14:28:14 +0200 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 Rockchip kernel tree
https://raw.githubusercontent.com/JeffyCN/rockchip_mirrors/kernel/drivers/media/i2c/ov8858.c 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 create mode 100644 drivers/media/i2c/rk-camera-module.h
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig 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 --- a/drivers/media/i2c/Kconfig
+++ b/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 To compile this driver as a module, choose M here: the
module will be called ov8856. module will be called ov8856.
@@ -41,7 +41,7 @@ index fae2baabb773..28cfdc709974 100644
tristate "OmniVision OV8865 sensor support" tristate "OmniVision OV8865 sensor support"
depends on I2C && PM && VIDEO_DEV depends on I2C && PM && VIDEO_DEV
diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile 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 --- a/drivers/media/i2c/Makefile
+++ b/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile
@@ -93,6 +93,7 @@ obj-$(CONFIG_VIDEO_OV7670) += ov7670.o @@ -93,6 +93,7 @@ obj-$(CONFIG_VIDEO_OV7670) += ov7670.o
@@ -54,7 +54,7 @@ index 3e1696963e7f..72b5d26b13d1 100644
obj-$(CONFIG_VIDEO_OV9640) += ov9640.o obj-$(CONFIG_VIDEO_OV9640) += ov9640.o
diff --git a/drivers/media/i2c/ov8858.c b/drivers/media/i2c/ov8858.c diff --git a/drivers/media/i2c/ov8858.c b/drivers/media/i2c/ov8858.c
new file mode 100644 new file mode 100644
index 000000000000..11f01e30bc1d index 000000000..11f01e30b
--- /dev/null --- /dev/null
+++ b/drivers/media/i2c/ov8858.c +++ b/drivers/media/i2c/ov8858.c
@@ -0,0 +1,3018 @@ @@ -0,0 +1,3018 @@
@@ -3078,7 +3078,7 @@ index 000000000000..11f01e30bc1d
+MODULE_LICENSE("GPL v2"); +MODULE_LICENSE("GPL v2");
diff --git a/drivers/media/i2c/rk-camera-module.h b/drivers/media/i2c/rk-camera-module.h diff --git a/drivers/media/i2c/rk-camera-module.h b/drivers/media/i2c/rk-camera-module.h
new file mode 100644 new file mode 100644
index 000000000000..9883565799e7 index 000000000..988356579
--- /dev/null --- /dev/null
+++ b/drivers/media/i2c/rk-camera-module.h +++ b/drivers/media/i2c/rk-camera-module.h
@@ -0,0 +1,146 @@ @@ -0,0 +1,146 @@

View File

@@ -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> From: Samuel Holland <samuel@sholland.org>
Date: Sat, 29 Feb 2020 01:01:58 -0600 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> 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(+) 1 file changed, 36 insertions(+)
diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c 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 --- a/drivers/mfd/axp20x.c
+++ b/drivers/mfd/axp20x.c +++ b/drivers/mfd/axp20x.c
@@ -179,6 +179,15 @@ static const struct resource axp20x_ac_power_supply_resources[] = { @@ -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[] = { 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_RIS_EDGE, "PEK_DBR"),
DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_PEK_FAL_EDGE, "PEK_DBF"), 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), DEFINE_RES_IRQ(AXP288_IRQ_WL1),
}; };
@@ -52,7 +52,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
static const struct resource axp803_pek_resources[] = { 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_RIS_EDGE, "PEK_DBR"),
DEFINE_RES_IRQ_NAMED(AXP803_IRQ_PEK_FAL_EDGE, "PEK_DBF"), 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", .name = "axp20x-battery-power-supply",
.of_compatible = "x-powers,axp209-battery-power-supply", .of_compatible = "x-powers,axp209-battery-power-supply",
@@ -61,7 +61,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
}, { }, {
.name = "axp20x-ac-power-supply", .name = "axp20x-ac-power-supply",
.of_compatible = "x-powers,axp202-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", .name = "axp20x-battery-power-supply",
.of_compatible = "x-powers,axp221-battery-power-supply", .of_compatible = "x-powers,axp221-battery-power-supply",
@@ -70,7 +70,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
}, { }, {
.name = "axp20x-usb-power-supply", .name = "axp20x-usb-power-supply",
.of_compatible = "x-powers,axp221-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", .name = "axp20x-battery-power-supply",
.of_compatible = "x-powers,axp221-battery-power-supply", .of_compatible = "x-powers,axp221-battery-power-supply",
@@ -79,7 +79,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
}, { }, {
.name = "axp20x-regulator", .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", .name = "axp20x-battery-power-supply",
.of_compatible = "x-powers,axp813-battery-power-supply", .of_compatible = "x-powers,axp813-battery-power-supply",
@@ -88,7 +88,7 @@ index 8161a5dc68e8..5b3cecac35ce 100644
}, { }, {
.name = "axp20x-ac-power-supply", .name = "axp20x-ac-power-supply",
.of_compatible = "x-powers,axp813-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", .name = "axp20x-battery-power-supply",
.of_compatible = "x-powers,axp813-battery-power-supply", .of_compatible = "x-powers,axp813-battery-power-supply",

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Mon, 30 Sep 2019 11:49:54 +0200 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> 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(-) 2 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c 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 --- a/drivers/mtd/spi-nor/core.c
+++ b/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) if (!nor)
return -ENOMEM; return -ENOMEM;
@@ -36,7 +36,7 @@ index b4f141ad9c9c..d89432664a83 100644
nor->spimem = spimem; nor->spimem = spimem;
nor->dev = &spi->dev; nor->dev = &spi->dev;
spi_nor_set_flash_node(nor, spi->dev.of_node); 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); ret = spi_nor_scan(nor, flash_name, &hwcaps);
if (ret) if (ret)
@@ -45,7 +45,7 @@ index b4f141ad9c9c..d89432664a83 100644
/* /*
* None of the existing parts have > 512B pages, but let's play safe * 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 = devm_kmalloc(nor->dev,
nor->bouncebuf_size, nor->bouncebuf_size,
GFP_KERNEL); GFP_KERNEL);
@@ -79,7 +79,7 @@ index b4f141ad9c9c..d89432664a83 100644
} }
static int spi_nor_remove(struct spi_mem *spimem) 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); struct spi_nor *nor = spi_mem_get_drvdata(spimem);
spi_nor_restore(nor); spi_nor_restore(nor);
@@ -88,7 +88,7 @@ index b4f141ad9c9c..d89432664a83 100644
/* Clean up MTD stuff. */ /* Clean up MTD stuff. */
return mtd_device_unregister(&nor->mtd); return mtd_device_unregister(&nor->mtd);
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h 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 --- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h +++ b/include/linux/mtd/spi-nor.h
@@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Thu, 16 Sep 2021 19:57:06 +0200 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 deferered probe errors
Signed-off-by: Ondrej Jirman <megi@xff.cz> 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(-) 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 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 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/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); phy = devm_phy_create(dev, child_np, &rockchip_usb2phy_ops);
if (IS_ERR(phy)) { if (IS_ERR(phy)) {

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Sun, 14 Mar 2021 15:49:34 +0100 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 condition
These are necessary so that the device is woken up by interrupt 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(+) 2 files changed, 4 insertions(+)
diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c 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 --- a/drivers/mfd/axp20x.c
+++ b/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_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, "BATT_ACT_TEMP_LOW"),
DEFINE_RES_IRQ_NAMED(AXP803_IRQ_BATT_ACT_TEMP_LOW_END, "BATT_ACT_TEMP_LOW_END"), 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[] = { static const struct resource axp803_pek_resources[] = {
diff --git a/drivers/power/supply/axp20x_battery.c b/drivers/power/supply/axp20x_battery.c 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 --- a/drivers/power/supply/axp20x_battery.c
+++ b/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[] = { @@ -616,6 +616,8 @@ static const struct axp_irq_data axp813_irqs[] = {

View File

@@ -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> From: Peter Vasil <peter.vasil@gmail.com>
Date: Sun, 26 Apr 2020 12:11:22 +0200 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 A64
Allwinner A64 is capable of a direct clock output on PWM (see 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(-) 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 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 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/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 { pwm: pwm@1c21400 {
@@ -27,7 +27,7 @@ index 818bc8f179be..1a9195edc702 100644
reg = <0x01c21400 0x400>; reg = <0x01c21400 0x400>;
clocks = <&osc24M>; clocks = <&osc24M>;
pinctrl-names = "default"; pinctrl-names = "default";
@@ -1328,8 +1327,7 @@ r_ir: ir@1f02000 { @@ -1333,8 +1332,7 @@ r_ir: ir@1f02000 {
}; };
r_pwm: pwm@1f03800 { r_pwm: pwm@1f03800 {

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Tue, 18 Feb 2020 23:57:20 +0100 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 and 16s reset function
Why not? Also why here, but whatever. Why not? Also why here, but whatever.
@@ -12,7 +12,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c 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 --- a/drivers/regulator/axp20x-regulator.c
+++ b/drivers/regulator/axp20x-regulator.c +++ b/drivers/regulator/axp20x-regulator.c
@@ -93,6 +93,8 @@ @@ -93,6 +93,8 @@
@@ -24,7 +24,7 @@ index d260c442b788..0d224f0d0deb 100644
#define AXP22X_DCDC1_V_OUT_MASK GENMASK(4, 0) #define AXP22X_DCDC1_V_OUT_MASK GENMASK(4, 0)
#define AXP22X_DCDC2_V_OUT_MASK GENMASK(5, 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)
} }
} }

View File

@@ -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

View File

@@ -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

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Thu, 14 Apr 2022 14:20:21 +0800 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 Define efuse struct to access gain offset, and store them for further use
by setting channel. 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -74,6 +74,16 @@ enum rtw89_subband { @@ -74,6 +74,16 @@ enum rtw89_subband {
@@ -37,7 +37,7 @@ index 5617015a1fa5..22dbd3197382 100644
enum rtw89_hci_type { enum rtw89_hci_type {
RTW89_HCI_TYPE_PCIE, RTW89_HCI_TYPE_PCIE,
RTW89_HCI_TYPE_USB, 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]; [RTW89_BB_RXSC_NUM_160];
}; };
@@ -50,7 +50,7 @@ index 5617015a1fa5..22dbd3197382 100644
struct rtw89_dev { struct rtw89_dev {
struct ieee80211_hw *hw; struct ieee80211_hw *hw;
struct device *dev; struct device *dev;
@@ -3098,6 +3114,7 @@ struct rtw89_dev { @@ -3099,6 +3115,7 @@ struct rtw89_dev {
struct rtw89_dig_info dig; struct rtw89_dig_info dig;
struct rtw89_phy_ch_info ch_info; struct rtw89_phy_ch_info ch_info;
struct rtw89_phy_bb_gain_info bb_gain; struct rtw89_phy_bb_gain_info bb_gain;
@@ -59,7 +59,7 @@ index 5617015a1fa5..22dbd3197382 100644
struct delayed_work track_work; struct delayed_work track_work;
struct delayed_work coex_act1_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 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 --- a/drivers/net/wireless/realtek/rtw89/reg.h
+++ b/drivers/net/wireless/realtek/rtw89/reg.h +++ b/drivers/net/wireless/realtek/rtw89/reg.h
@@ -3470,6 +3470,8 @@ @@ -3470,6 +3470,8 @@
@@ -117,7 +117,7 @@ index a7daca1d462c..bd5526ffb8db 100644
#define B_P1_TMETER GENMASK(15, 10) #define B_P1_TMETER GENMASK(15, 10)
#define B_P1_TMETER_DIS BIT(16) #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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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, @@ -317,6 +317,41 @@ static void rtw8852c_efuse_parsing_tssi(struct rtw89_dev *rtwdev,
@@ -257,7 +257,7 @@ index dba279938347..bb935632ce40 100644
static static
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.h b/drivers/net/wireless/realtek/rtw89/rtw8852c.h 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.h
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.h +++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.h
@@ -59,13 +59,23 @@ struct rtw8852c_efuse { @@ -59,13 +59,23 @@ struct rtw8852c_efuse {

View File

@@ -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

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Thu, 21 Apr 2022 20:08:59 +0800 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 8852c propose new API to configure BB TX/RX path. Without fix patch, it
can't transmit any packet. 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -2104,6 +2104,7 @@ struct rtw89_chip_ops { @@ -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, void (*set_txpwr_ul_tb_offset)(struct rtw89_dev *rtwdev,
s8 pw_ofst, enum rtw89_mac_idx mac_idx); s8 pw_ofst, enum rtw89_mac_idx mac_idx);
int (*pwr_on_func)(struct rtw89_dev *rtwdev); 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); 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, void rtw89_chip_cfg_txpwr_ul_tb_offset(struct rtw89_dev *rtwdev,
struct ieee80211_vif *vif) struct ieee80211_vif *vif)
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c 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 --- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/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_load_txpwr_table(rtwdev, chip->byr_table);
rtw89_chip_set_txpwr_ctrl(rtwdev); rtw89_chip_set_txpwr_ctrl(rtwdev);
rtw89_chip_power_trim(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) 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 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 --- a/drivers/net/wireless/realtek/rtw89/reg.h
+++ b/drivers/net/wireless/realtek/rtw89/reg.h +++ b/drivers/net/wireless/realtek/rtw89/reg.h
@@ -2962,6 +2962,45 @@ @@ -2962,6 +2962,45 @@
@@ -205,7 +205,7 @@ index 0f08b2581797..6dc11e8e2a83 100644
#define B_PATH1_5MDET_EN BIT(12) #define B_PATH1_5MDET_EN BIT(12)
#define B_PATH1_5MDET_SB2 BIT(8) #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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
+++ b/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 = { @@ -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_on_func = NULL,
.pwr_off_func = NULL, .pwr_off_func = NULL,
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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, @@ -1813,6 +1813,199 @@ void rtw8852c_set_txpwr_ul_tb_offset(struct rtw89_dev *rtwdev,

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Thu, 14 Apr 2022 14:20:18 +0800 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 TSSI is used to manage TX power with thermal value as a factor. This patch
is to configure bandedge to TX proper waveform. 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(+) 8 files changed, 158 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -2380,6 +2380,7 @@ struct rtw89_chip_info { @@ -2380,6 +2380,7 @@ struct rtw89_chip_info {
@@ -33,10 +33,10 @@ index 4029bbf9c615..72271929f8e6 100644
[RTW89_RS_LMT_NUM][RTW89_BF_NUM] [RTW89_RS_LMT_NUM][RTW89_BF_NUM]
[RTW89_REGD_NUM][RTW89_2G_CH_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 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 --- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/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); _rfk_handler[p->flag](rtwdev, p);
} }
EXPORT_SYMBOL(rtw89_rfk_parser); EXPORT_SYMBOL(rtw89_rfk_parser);
@@ -147,7 +147,7 @@ index be9c0cf9e469..6db0ac085f04 100644
+} +}
+EXPORT_SYMBOL(rtw89_phy_tssi_ctrl_set_bandedge_cfg); +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 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 --- a/drivers/net/wireless/realtek/rtw89/phy.h
+++ b/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 { @@ -221,6 +221,35 @@ enum rtw89_dig_gain_tia_idx {
@@ -207,7 +207,7 @@ index 9c97e77d9707..b8531bb7e606 100644
#endif #endif
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h 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 --- a/drivers/net/wireless/realtek/rtw89/reg.h
+++ b/drivers/net/wireless/realtek/rtw89/reg.h +++ b/drivers/net/wireless/realtek/rtw89/reg.h
@@ -2958,6 +2958,11 @@ @@ -2958,6 +2958,11 @@
@@ -223,7 +223,7 @@ index 98465d746989..cd7916085e00 100644
#define R_AX_TXPWR_IMR_C1 0xF9E0 #define R_AX_TXPWR_IMR_C1 0xF9E0
#define R_AX_TXPWR_ISR 0xD9E4 #define R_AX_TXPWR_ISR 0xD9E4
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
+++ b/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 = { @@ -2113,6 +2113,7 @@ const struct rtw89_chip_info rtw8852a_chip_info = {
@@ -235,7 +235,7 @@ index 2c5bd381ebf5..cb93287d4722 100644
BIT(NL80211_BAND_5GHZ), BIT(NL80211_BAND_5GHZ),
.support_bw160 = false, .support_bw160 = false,
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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 = { @@ -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, .sec_ctrl_efuse_size = 4,
.physical_efuse_size = 1216, .physical_efuse_size = 1216,
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c_table.c b/drivers/net/wireless/realtek/rtw89/rtw8852c_table.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c_table.c
+++ b/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 = { @@ -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}, + .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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c_table.h
+++ b/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; @@ -13,6 +13,7 @@ extern const struct rtw89_phy_table rtw89_8852c_phy_radioa_table;

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Tue, 3 May 2022 07:54:08 +0800 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 DPK is short for digital pre-distortion calibration. It can adjusts digital
waveform according to PA linear characteristics dynamically to enhance 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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; enum rtw89_bandwidth bw;
u8 ch; u8 ch;
bool path_ok; bool path_ok;
@@ -38,7 +38,7 @@ index e81cf835fe70..f9bd14dd166a 100644
u8 txagc_dpk; u8 txagc_dpk;
u8 ther_dpk; u8 ther_dpk;
u8 gs; u8 gs;
@@ -2699,11 +2700,12 @@ struct rtw89_dpk_bkup_para { @@ -2700,11 +2701,12 @@ struct rtw89_dpk_bkup_para {
struct rtw89_dpk_info { struct rtw89_dpk_info {
bool is_dpk_enable; bool is_dpk_enable;
bool is_dpk_reload_en; 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]; 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 elna_5g;
bool epa_2g; bool epa_2g;
bool epa_5g; bool epa_5g;
@@ -64,7 +64,7 @@ index e81cf835fe70..f9bd14dd166a 100644
struct rtw89_phy_ch_info { struct rtw89_phy_ch_info {
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h 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 --- a/drivers/net/wireless/realtek/rtw89/reg.h
+++ b/drivers/net/wireless/realtek/rtw89/reg.h +++ b/drivers/net/wireless/realtek/rtw89/reg.h
@@ -3191,6 +3191,7 @@ @@ -3191,6 +3191,7 @@
@@ -221,7 +221,7 @@ index 120fc13520fc..6f5d1012c90c 100644
#define R_RXCFIR_P0C1 0x8D84 #define R_RXCFIR_P0C1 0x8D84
#define R_RXCFIR_P0C2 0x8DC8 #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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
+++ b/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, @@ -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 || if (dc_i > DPK_SYNC_TH_DC_I || dc_q > DPK_SYNC_TH_DC_Q ||
corr_val < DPK_SYNC_TH_CORR) corr_val < DPK_SYNC_TH_CORR)
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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) @@ -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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
+++ b/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}; @@ -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; 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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
+++ b/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); @@ -11,6 +11,8 @@ void rtw8852c_rck(struct rtw89_dev *rtwdev);

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Tue, 3 May 2022 07:54:07 +0800 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 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 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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 { struct rtw89_iqk_info {
bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR]; bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
bool lok_fin_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_tx_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
bool iqk_rx_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; u32 iqk_fail_cnt;
@@ -2677,6 +2678,8 @@ struct rtw89_iqk_info { @@ -2678,6 +2679,8 @@ struct rtw89_iqk_info {
u32 syn1to2; u32 syn1to2;
u8 iqk_mcc_ch[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR]; u8 iqk_mcc_ch[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
u8 iqk_table_idx[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 #define RTW89_DPK_RF_PATH 2
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h 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 --- a/drivers/net/wireless/realtek/rtw89/reg.h
+++ b/drivers/net/wireless/realtek/rtw89/reg.h +++ b/drivers/net/wireless/realtek/rtw89/reg.h
@@ -3202,6 +3202,7 @@ @@ -3202,6 +3202,7 @@
@@ -208,7 +208,7 @@ index c65598a7af26..120fc13520fc 100644
#define R_DPD_V1 0x81a0 #define R_DPD_V1 0x81a0
#define R_DPD_CH0 0x81AC #define R_DPD_CH0 0x81AC
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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) @@ -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); 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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
+++ b/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}; @@ -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) 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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h +++ b/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Tue, 3 May 2022 07:54:03 +0800 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 LCK is short fro LC Tank calibration. Do this calibration once driver
loads RF parameters table. Since the characteristic can be changed by 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(+) 5 files changed, 79 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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; u8 table_idx;
}; };
@@ -34,7 +34,7 @@ index c307364069c0..a735e5aa6c75 100644
struct rtw89_iqk_info { struct rtw89_iqk_info {
bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR]; bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
bool lok_fin_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_iqk_info iqk;
struct rtw89_dpk_info dpk; struct rtw89_dpk_info dpk;
struct rtw89_mcc_info mcc; struct rtw89_mcc_info mcc;
@@ -43,7 +43,7 @@ index c307364069c0..a735e5aa6c75 100644
bool is_bt_iqk_timeout; bool is_bt_iqk_timeout;
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h 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 --- a/drivers/net/wireless/realtek/rtw89/reg.h
+++ b/drivers/net/wireless/realtek/rtw89/reg.h +++ b/drivers/net/wireless/realtek/rtw89/reg.h
@@ -3327,6 +3327,8 @@ @@ -3327,6 +3327,8 @@
@@ -56,7 +56,7 @@ index ce472d3b1a66..028c88130823 100644
#define RR_RCKD_POW GENMASK(19, 13) #define RR_RCKD_POW GENMASK(19, 13)
#define RR_RCKD_BW BIT(2) #define RR_RCKD_BW BIT(2)
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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) @@ -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 = rtw8852c_set_txpwr,
.set_txpwr_ctrl = rtw8852c_set_txpwr_ctrl, .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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
+++ b/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, @@ -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, void rtw8852c_ctrl_bw_ch(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
u8 central_ch, enum rtw89_band band, 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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
+++ b/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); @@ -11,5 +11,7 @@ void rtw8852c_dack(struct rtw89_dev *rtwdev);

View File

@@ -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> From: Zong-Zhe Yang <kevin_yang@realtek.com>
Date: Thu, 14 Apr 2022 14:20:20 +0800 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. 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. 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(+) 4 files changed, 459 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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; u8 op_band;
}; };
@@ -63,7 +63,7 @@ index 72271929f8e6..5617015a1fa5 100644
struct rtw89_dev { struct rtw89_dev {
struct ieee80211_hw *hw; struct ieee80211_hw *hw;
struct device *dev; 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_env_monitor_info env_monitor;
struct rtw89_dig_info dig; struct rtw89_dig_info dig;
struct rtw89_phy_ch_info ch_info; 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_act1_work;
struct delayed_work coex_bt_devinfo_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 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 --- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/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, @@ -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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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) @@ -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) enum rtw89_phy_idx phy_idx)
{ {
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.h b/drivers/net/wireless/realtek/rtw89/rtw8852c.h 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.h
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.h +++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.h
@@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@

View File

@@ -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> From: Johnson Lin <johnson.lin@realtek.com>
Date: Fri, 8 Apr 2022 08:13:48 +0800 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 for 8852C
Separated DIG RX gain, IGI configurations from not supportted HW using 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/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; u32 tmp;
u8 i; u8 i;
@@ -30,7 +30,7 @@ index 193afb1f53f5..be9c0cf9e469 100644
tmp = rtw89_phy_read32_mask(rtwdev, R_PATH0_IB_PKPW, tmp = rtw89_phy_read32_mask(rtwdev, R_PATH0_IB_PKPW,
B_PATH0_IB_PKPW_MSK); B_PATH0_IB_PKPW_MSK);
dig->ib_pkpwr = sign_extend32(tmp >> DIG_GAIN_SHIFT, U8_MAX_BIT); 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; struct rtw89_dig_info *dig = &rtwdev->dig;
@@ -40,7 +40,7 @@ index 193afb1f53f5..be9c0cf9e469 100644
if (dig->force_gaincode_idx_en) { if (dig->force_gaincode_idx_en) {
rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode); rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode);
rtw89_debug(rtwdev, RTW89_DBG_DIG, 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_rssi, dig->dyn_igi_max, dig->dyn_igi_min,
dig->igi_fa_rssi); 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); 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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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 = { @@ -598,6 +598,7 @@ const struct rtw89_chip_info rtw8852c_chip_info = {

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Thu, 21 Apr 2022 20:08:58 +0800 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 IQK results in hardware has two copies that are used by firmware to switch
these two to support MCC. 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(+) 4 files changed, 73 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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_CHS_NR 2
#define RTW89_IQK_PATH_NR 4 #define RTW89_IQK_PATH_NR 4
@@ -37,7 +37,7 @@ index 90231b20e7ee..1e79660f288b 100644
struct rtw89_iqk_info { struct rtw89_iqk_info {
bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR]; bool lok_cor_fail[RTW89_IQK_CHS_NR][RTW89_IQK_PATH_NR];
bool lok_fin_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_dack_info dack;
struct rtw89_iqk_info iqk; struct rtw89_iqk_info iqk;
struct rtw89_dpk_info dpk; struct rtw89_dpk_info dpk;
@@ -46,10 +46,10 @@ index 90231b20e7ee..1e79660f288b 100644
bool is_bt_iqk_timeout; bool is_bt_iqk_timeout;
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c 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 --- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/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; return -EBUSY;
} }
@@ -96,7 +96,7 @@ index 5d411f8ee2ed..4e393cb7db16 100644
u8 h2c_class, u8 h2c_func, u8 *buf, u16 len, u8 h2c_class, u8 h2c_func, u8 *buf, u16 len,
bool rack, bool dack) bool rack, bool dack)
diff --git a/drivers/net/wireless/realtek/rtw89/fw.h b/drivers/net/wireless/realtek/rtw89/fw.h 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 --- a/drivers/net/wireless/realtek/rtw89/fw.h
+++ b/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 { @@ -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, u8 h2c_class, u8 h2c_func, u8 *buf, u16 len,
bool rack, bool dack); bool rack, bool dack);
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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, @@ -1766,6 +1766,18 @@ static void rtw8852c_set_channel_help(struct rtw89_dev *rtwdev, bool enter,

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Fri, 18 Mar 2022 10:32:10 +0800 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 to support new chips
8852A and 8852C use different H2C header and size, so add h2c_desc_size 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/cam.c
+++ b/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, @@ -18,7 +18,7 @@ rtw89_cam_get_sec_key_cmd(struct rtw89_dev *rtwdev,
@@ -36,7 +36,7 @@ index 26bef9fdd205..34df3c07c55c 100644
return NULL; return NULL;
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c 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 --- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/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, @@ -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 sk_buff *skb,
struct rtw89_rx_phy_ppdu *phy_ppdu) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -117,6 +117,8 @@ enum rtw89_core_rx_type { @@ -117,6 +117,8 @@ enum rtw89_core_rx_type {
@@ -97,7 +97,7 @@ index 725484be2b62..c17756ff5476 100644
u32 h2c_ctrl_reg; u32 h2c_ctrl_reg;
const u32 *h2c_regs; const u32 *h2c_regs;
u32 c2h_ctrl_reg; 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); chip->ops->ctrl_btg(rtwdev, btg);
} }
@@ -114,7 +114,7 @@ index 725484be2b62..c17756ff5476 100644
static inline static inline
void rtw89_chip_mac_cfg_gnt(struct rtw89_dev *rtwdev, void rtw89_chip_mac_cfg_gnt(struct rtw89_dev *rtwdev,
const struct rtw89_mac_ax_coex_gnt *gnt_cfg) 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, void rtw89_core_fill_txdesc(struct rtw89_dev *rtwdev,
struct rtw89_tx_desc_info *desc_info, struct rtw89_tx_desc_info *desc_info,
void *txdesc); void *txdesc);
@@ -125,7 +125,7 @@ index 725484be2b62..c17756ff5476 100644
struct rtw89_rx_desc_info *desc_info, struct rtw89_rx_desc_info *desc_info,
struct sk_buff *skb); struct sk_buff *skb);
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c 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 --- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/drivers/net/wireless/realtek/rtw89/fw.c +++ b/drivers/net/wireless/realtek/rtw89/fw.c
@@ -10,31 +10,33 @@ @@ -10,31 +10,33 @@
@@ -187,7 +187,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n"); rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
return -ENOMEM; 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; struct sk_buff *skb;
@@ -196,7 +196,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n"); rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
return -ENOMEM; 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; return 0;
} }
@@ -205,7 +205,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c ba cam\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c ba cam\n");
return -ENOMEM; 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) | 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; BIT(RTW89_FW_LOG_COMP_PS) | BIT(RTW89_FW_LOG_COMP_ERROR) : 0;
@@ -214,7 +214,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw log cfg\n"); rtw89_err(rtwdev, "failed to alloc skb for fw log cfg\n");
return -ENOMEM; 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; struct sk_buff *skb;
@@ -223,7 +223,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n"); rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
return -ENOMEM; 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; struct sk_buff *skb;
@@ -232,7 +232,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n"); rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
return -ENOMEM; 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 map_b = hal->antenna_tx == RF_AB ? 1 : 0;
u8 macid = rtwvif->mac_id; u8 macid = rtwvif->mac_id;
@@ -241,7 +241,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n"); rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
return -ENOMEM; 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) if (sta)
__get_sta_he_pkt_padding(rtwdev, sta, pads); __get_sta_he_pkt_padding(rtwdev, sta, pads);
@@ -250,7 +250,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n"); rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
return -ENOMEM; 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; struct sk_buff *skb;
@@ -259,7 +259,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n"); rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
return -ENOMEM; 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; bcn_total_len = H2C_BCN_BASE_LEN + skb_beacon->len;
@@ -268,7 +268,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for fw dl\n"); rtw89_err(rtwdev, "failed to alloc skb for fw dl\n");
dev_kfree_skb_any(skb_beacon); 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; self_role = rtwvif->self_role;
} }
@@ -277,7 +277,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c join\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c join\n");
return -ENOMEM; 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; net_type = dis_conn ? RTW89_NET_TYPE_NO_LINK : net_type;
} }
@@ -286,7 +286,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c join\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c join\n");
return -ENOMEM; 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); u8 len = sizeof(struct rtw89_fw_macid_pause_grp);
struct sk_buff *skb; struct sk_buff *skb;
@@ -295,7 +295,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c join\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c join\n");
return -ENOMEM; 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; struct sk_buff *skb;
@@ -304,7 +304,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c edca\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c edca\n");
return -ENOMEM; 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}; static const u8 cfg[] = {0x09, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00};
struct sk_buff *skb; struct sk_buff *skb;
@@ -313,7 +313,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c ofld\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c ofld\n");
return -ENOMEM; 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; struct sk_buff *skb;
u8 *cmd; u8 *cmd;
@@ -322,7 +322,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c join\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c join\n");
return -ENOMEM; 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; struct sk_buff *skb;
u8 *cmd; u8 *cmd;
@@ -331,7 +331,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_init\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_init\n");
return -ENOMEM; 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; u8 *cmd;
int i; int i;
@@ -340,7 +340,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_role\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_role\n");
return -ENOMEM; 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; struct sk_buff *skb;
u8 *cmd; u8 *cmd;
@@ -349,7 +349,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_ctrl\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_ctrl\n");
return -ENOMEM; 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; struct sk_buff *skb;
u8 *cmd; u8 *cmd;
@@ -358,7 +358,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_ctrl\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c cxdrv_ctrl\n");
return -ENOMEM; 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; struct sk_buff *skb;
u8 *cmd; u8 *cmd;
@@ -367,7 +367,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c pkt offload\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c pkt offload\n");
return -ENOMEM; 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; *id = alloc_id;
@@ -376,7 +376,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c pkt offload\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c pkt offload\n");
return -ENOMEM; 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; int skb_len = H2C_LEN_SCAN_LIST_OFFLOAD + len * RTW89_MAC_CHINFO_SIZE;
u8 *cmd; u8 *cmd;
@@ -385,7 +385,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c scan list\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c scan list\n");
return -ENOMEM; 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; struct sk_buff *skb;
u8 *cmd; u8 *cmd;
@@ -394,7 +394,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c scan offload\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c scan offload\n");
return -ENOMEM; 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 ? u8 class = info->rf_path == RF_PATH_A ?
H2C_CL_OUTSRC_RF_REG_A : H2C_CL_OUTSRC_RF_REG_B; H2C_CL_OUTSRC_RF_REG_A : H2C_CL_OUTSRC_RF_REG_B;
@@ -403,7 +403,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c rf reg\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c rf reg\n");
return -ENOMEM; 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; struct sk_buff *skb;
@@ -412,7 +412,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for raw with hdr\n"); rtw89_err(rtwdev, "failed to alloc skb for raw with hdr\n");
return -ENOMEM; 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; struct sk_buff *skb;
@@ -421,7 +421,7 @@ index 2c9470616a1b..5985b40950bc 100644
if (!skb) { if (!skb) {
rtw89_err(rtwdev, "failed to alloc skb for h2c raw\n"); rtw89_err(rtwdev, "failed to alloc skb for h2c raw\n");
return -ENOMEM; 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; struct sk_buff *skb;
@@ -431,7 +431,7 @@ index 2c9470616a1b..5985b40950bc 100644
rtw89_err(rtwdev, rtw89_err(rtwdev,
"failed to alloc skb for fw cpu exception\n"); "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 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 --- a/drivers/net/wireless/realtek/rtw89/fw.h
+++ b/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, @@ -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_h2c_info *h2c_info,
struct rtw89_mac_c2h_info *c2h_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 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 --- a/drivers/net/wireless/realtek/rtw89/pci.c
+++ b/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, @@ -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); dma = dma_map_single(&pdev->dev, skb->data, skb->len, DMA_TO_DEVICE);
if (dma_mapping_error(&pdev->dev, dma)) { 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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
+++ b/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 = { @@ -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, .h2c_regs = rtw8852a_h2c_regs,
.c2h_ctrl_reg = R_AX_C2HREG_CTRL, .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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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 = { @@ -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, .h2c_regs = rtw8852c_h2c_regs,
.c2h_ctrl_reg = R_AX_C2HREG_CTRL_V1, .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 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 --- a/drivers/net/wireless/realtek/rtw89/txrx.h
+++ b/drivers/net/wireless/realtek/rtw89/txrx.h +++ b/drivers/net/wireless/realtek/rtw89/txrx.h
@@ -79,6 +79,92 @@ @@ -79,6 +79,92 @@

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Wed, 13 Apr 2022 09:08:02 +0800 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 for V1 chip
DCTL is short for D-MAC control that V1 chip uses this H2C to configure 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(+) 4 files changed, 373 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c 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 --- a/drivers/net/wireless/realtek/rtw89/cam.c
+++ b/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, @@ -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]); + 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 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 --- a/drivers/net/wireless/realtek/rtw89/cam.h
+++ b/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, @@ -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); struct rtw89_vif *vif, u8 *cmd);
int rtw89_cam_sec_key_add(struct rtw89_dev *rtwdev, 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 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 --- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/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; return -EBUSY;
} }
@@ -115,7 +115,7 @@ index beedc650e33a..5d411f8ee2ed 100644
int rtw89_fw_h2c_ba_cam(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta, int rtw89_fw_h2c_ba_cam(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta,
bool valid, struct ieee80211_ampdu_params *params) 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 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 --- a/drivers/net/wireless/realtek/rtw89/fw.h
+++ b/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) @@ -1151,6 +1151,308 @@ static inline void SET_CMC_TBL_CSI_BW(void *table, u32 val)

View File

@@ -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

View File

@@ -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

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Wed, 13 Apr 2022 09:08:03 +0800 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. 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(+) 4 files changed, 26 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c 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 --- a/drivers/net/wireless/realtek/rtw89/cam.c
+++ b/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, @@ -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) if (ret)
rtw89_err(rtwdev, "failed to update cam del key: %d\n", 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -2106,6 +2106,9 @@ struct rtw89_chip_ops { @@ -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_set_rfe)(struct rtw89_dev *rtwdev);
void (*btc_init_cfg)(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); return chip->ops->resume_sch_tx(rtwdev, mac_idx, tx_en);
} }
@@ -76,7 +76,7 @@ index 9fc7c1c70365..9ca570d143ac 100644
{ {
__le16 fc = hdr->frame_control; __le16 fc = hdr->frame_control;
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
+++ b/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 = { @@ -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_set_rfe = rtw8852a_btc_set_rfe,
.btc_init_cfg = rtw8852a_btc_init_cfg, .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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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 = { @@ -645,6 +645,7 @@ static const struct rtw89_chip_ops rtw8852c_chip_ops = {

View File

@@ -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> From: Zong-Zhe Yang <kevin_yang@realtek.com>
Date: Mon, 16 May 2022 08:52:14 +0800 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 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, 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/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, @@ -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) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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; 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) 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 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 --- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/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; struct rtw89_pktofld_info *info, *tmp;
u8 idx; u8 idx;
@@ -79,7 +79,7 @@ index 4e393cb7db16..2c743b74ad7e 100644
continue; continue;
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c 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 --- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/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, @@ -429,27 +429,28 @@ void rtw89_phy_rate_pattern_vif(struct rtw89_dev *rtwdev,

View File

@@ -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> From: Johnson Lin <johnson.lin@realtek.com>
Date: Fri, 18 Mar 2022 10:32:09 +0800 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 hardware
Bypass IGI, known as Rx gain, adjustment flow for incompatible 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/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) @@ -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) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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 tx_nss;
u8 rx_nss; u8 rx_nss;
bool support_cckpd; bool support_cckpd;
@@ -43,10 +43,10 @@ index 5900cbc0efd9..725484be2b62 100644
#define RTW89_MAX_MAC_ID_NUM 128 #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 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 --- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/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_rssi, dig->dyn_igi_max, dig->dyn_igi_min,
dig->igi_fa_rssi); dig->igi_fa_rssi);

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Thu, 21 Apr 2022 20:08:57 +0800 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 is off
When disconnecting, it warns somethings after power is off, and we can't 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(+) 2 files changed, 10 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c 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 --- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/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, @@ -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; tx_req.tx_type = RTW89_CORE_TX_TYPE_FWCMD;
if (fwdl) if (fwdl)
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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, static inline void rtw89_hci_flush_queues(struct rtw89_dev *rtwdev, u32 queues,
bool drop) bool drop)
{ {

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Wed, 13 Apr 2022 09:08:01 +0800 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 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 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -578,7 +578,7 @@ enum rtw89_ps_mode { @@ -578,7 +578,7 @@ enum rtw89_ps_mode {
@@ -40,10 +40,10 @@ index 0caaf8e9530e..9fc7c1c70365 100644
u32 h2c_desc_size; u32 h2c_desc_size;
u32 txwd_body_size; u32 txwd_body_size;
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c 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 --- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/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, int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
struct rtw89_vif *rtwvif) struct rtw89_vif *rtwvif)
{ {
@@ -51,7 +51,7 @@ index fc77d9bfd626..beedc650e33a 100644
struct rtw89_hal *hal = &rtwdev->hal; struct rtw89_hal *hal = &rtwdev->hal;
struct sk_buff *skb; struct sk_buff *skb;
u8 ntx_path = hal->antenna_tx ? hal->antenna_tx : RF_B; 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); skb_put(skb, H2C_CMC_TBL_LEN);
SET_CTRL_INFO_MACID(skb->data, macid); SET_CTRL_INFO_MACID(skb->data, macid);
SET_CTRL_INFO_OPERATION(skb->data, 1); 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_DOPPLER_CTRL(skb->data, 0);
SET_CMC_TBL_TXPWR_TOLERENCE(skb->data, 0); SET_CMC_TBL_TXPWR_TOLERENCE(skb->data, 0);
if (rtwvif->net_type == RTW89_NET_TYPE_AP_MODE) 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, rtw89_h2c_pkt_set_hdr(rtwdev, skb, FWCMD_TYPE_H2C,
H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG, H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG,
@@ -89,7 +89,7 @@ index fc77d9bfd626..beedc650e33a 100644
H2C_CMC_TBL_LEN); H2C_CMC_TBL_LEN);
if (rtw89_h2c_tx(rtwdev, skb, false)) { 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++) for (i = 0; i < RTW89_PPE_BW_NUM; i++)
pads[i] = pad; 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); 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_vif *vif,
struct ieee80211_sta *sta) struct ieee80211_sta *sta)
{ {
@@ -106,7 +106,7 @@ index fc77d9bfd626..beedc650e33a 100644
struct rtw89_hal *hal = &rtwdev->hal; struct rtw89_hal *hal = &rtwdev->hal;
struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta); struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta);
struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; 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 else
SET_CMC_TBL_ULDL(skb->data, 0); SET_CMC_TBL_ULDL(skb->data, 0);
SET_CMC_TBL_MULTI_PORT_ID(skb->data, rtwvif->port); SET_CMC_TBL_MULTI_PORT_ID(skb->data, rtwvif->port);
@@ -127,7 +127,7 @@ index fc77d9bfd626..beedc650e33a 100644
if (sta) if (sta)
SET_CMC_TBL_BSR_QUEUE_SIZE_FORMAT(skb->data, sta->he_cap.has_he); SET_CMC_TBL_BSR_QUEUE_SIZE_FORMAT(skb->data, sta->he_cap.has_he);
if (rtwvif->net_type == RTW89_NET_TYPE_AP_MODE) 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, rtw89_h2c_pkt_set_hdr(rtwdev, skb, FWCMD_TYPE_H2C,
H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG, H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG,
@@ -136,7 +136,7 @@ index fc77d9bfd626..beedc650e33a 100644
H2C_CMC_TBL_LEN); H2C_CMC_TBL_LEN);
if (rtw89_h2c_tx(rtwdev, skb, false)) { 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, int rtw89_fw_h2c_txtime_cmac_tbl(struct rtw89_dev *rtwdev,
struct rtw89_sta *rtwsta) struct rtw89_sta *rtwsta)
{ {
@@ -144,7 +144,7 @@ index fc77d9bfd626..beedc650e33a 100644
struct sk_buff *skb; struct sk_buff *skb;
skb = rtw89_fw_h2c_alloc_skb_with_hdr(rtwdev, H2C_CMC_TBL_LEN); 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, rtw89_h2c_pkt_set_hdr(rtwdev, skb, FWCMD_TYPE_H2C,
H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG, H2C_CAT_MAC, H2C_CL_MAC_FR_EXCHG,
@@ -154,7 +154,7 @@ index fc77d9bfd626..beedc650e33a 100644
if (rtw89_h2c_tx(rtwdev, skb, false)) { 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 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 --- a/drivers/net/wireless/realtek/rtw89/fw.h
+++ b/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) @@ -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 */ /* CLASS 6 - Address CAM */
#define H2C_CL_MAC_ADDR_CAM_UPDATE 0x6 #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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
+++ b/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 = { @@ -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), .h2c_desc_size = sizeof(struct rtw89_txwd_body),
.txwd_body_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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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 = { @@ -667,6 +667,7 @@ const struct rtw89_chip_info rtw8852c_chip_info = {

View File

@@ -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

View File

@@ -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> From: Johnson Lin <johnson.lin@realtek.com>
Date: Fri, 18 Mar 2022 10:32:08 +0800 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 for DIG feature
Refinement of DIG flow, a mechanism to adjust Rx gain for better Rx 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/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); 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, static void rtw89_phy_dig_dyn_pd_th(struct rtw89_dev *rtwdev, u8 rssi,
bool enable) 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_rssi, dig->dyn_igi_max, dig->dyn_igi_min,
dig->igi_fa_rssi); dig->igi_fa_rssi);

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Thu, 21 Apr 2022 20:08:55 +0800 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
In low power mode, we need to pause PCI to configure IMR and PCI ring 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -2036,6 +2036,8 @@ struct rtw89_hci_ops { @@ -2036,6 +2036,8 @@ struct rtw89_hci_ops {
@@ -59,7 +59,7 @@ index 22dbd3197382..7a6ad7e67100 100644
u32 h2c_cctl_func_id; u32 h2c_cctl_func_id;
u32 hci_func_en_addr; 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); return rtwdev->hci.ops->deinit(rtwdev);
} }
@@ -77,7 +77,7 @@ index 22dbd3197382..7a6ad7e67100 100644
{ {
rtwdev->hci.ops->recalc_int_mit(rtwdev); 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 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 --- a/drivers/net/wireless/realtek/rtw89/pci.c
+++ b/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) @@ -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, .read8 = rtw89_pci_ops_read8,
diff --git a/drivers/net/wireless/realtek/rtw89/pci.h b/drivers/net/wireless/realtek/rtw89/pci.h 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 --- a/drivers/net/wireless/realtek/rtw89/pci.h
+++ b/drivers/net/wireless/realtek/rtw89/pci.h +++ b/drivers/net/wireless/realtek/rtw89/pci.h
@@ -202,6 +202,15 @@ @@ -202,6 +202,15 @@
@@ -281,7 +281,7 @@ index c203c8cbf163..bb585ed19190 100644
u32 ind_intrs; u32 ind_intrs;
u32 halt_c2h_intrs; u32 halt_c2h_intrs;
diff --git a/drivers/net/wireless/realtek/rtw89/ps.c b/drivers/net/wireless/realtek/rtw89/ps.c 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 --- a/drivers/net/wireless/realtek/rtw89/ps.c
+++ b/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) @@ -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) 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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
+++ b/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 = { @@ -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, .hci_func_en_addr = R_AX_HCI_FUNC_EN,
.h2c_desc_size = sizeof(struct rtw89_txwd_body), .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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852ae.c
+++ b/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 = { @@ -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, .ltr_set = rtw89_pci_ltr_set,
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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 = { @@ -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, .hci_func_en_addr = R_AX_HCI_FUNC_EN_V1,
.h2c_desc_size = sizeof(struct rtw89_rxdesc_short), .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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852ce.c
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852ce.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852ce.c
@@ -9,6 +9,15 @@ @@ -9,6 +9,15 @@

View File

@@ -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> From: Zong-Zhe Yang <kevin_yang@realtek.com>
Date: Mon, 14 Mar 2022 15:12:49 +0800 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 As the fw features gradually increase, it would be better that
we have a set of methods to maintain fw features instead of using 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c
@@ -759,7 +759,7 @@ static void @@ -759,7 +759,7 @@ static void
@@ -47,7 +47,7 @@ index bcefc968576e..c61061358980 100644
ieee80211_channel_to_frequency(hal->current_channel, ieee80211_channel_to_frequency(hal->current_channel,
hal->current_band_type); hal->current_band_type);
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -2396,6 +2396,12 @@ enum rtw89_fw_type { @@ -2396,6 +2396,12 @@ enum rtw89_fw_type {
@@ -63,7 +63,7 @@ index 17ba5b85e500..395d3bacdd3f 100644
struct rtw89_fw_suit { struct rtw89_fw_suit {
const u8 *data; const u8 *data;
u32 size; 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 normal;
struct rtw89_fw_suit wowlan; struct rtw89_fw_suit wowlan;
bool fw_log_enable; bool fw_log_enable;
@@ -83,7 +83,7 @@ index 17ba5b85e500..395d3bacdd3f 100644
DECLARE_BITMAP(addr_cam_map, RTW89_MAX_ADDR_CAM_NUM); DECLARE_BITMAP(addr_cam_map, RTW89_MAX_ADDR_CAM_NUM);
DECLARE_BITMAP(bssid_cam_map, RTW89_MAX_BSSID_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 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 --- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/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) @@ -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) 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 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 --- a/drivers/net/wireless/realtek/rtw89/mac80211.c
+++ b/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, @@ -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) if (!rtwdev->scanning)
diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c 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 --- a/drivers/net/wireless/realtek/rtw89/phy.c
+++ b/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) @@ -1686,7 +1686,7 @@ static void rtw89_phy_c2h_ra_rpt_iter(void *data, struct ieee80211_sta *sta)

View File

@@ -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> From: Joe Perches <joe@perches.com>
Date: Thu, 7 Apr 2022 13:14:44 -0700 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 event_ent
Change the struct and the uses to const to reduce data. 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/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 work_struct ser_hdl_work;
struct delayed_work ser_alarm_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 */ spinlock_t msg_q_lock; /* lock when read/write ser msg */
DECLARE_BITMAP(flags, RTW89_NUM_OF_SER_FLAGS); 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 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 --- a/drivers/net/wireless/realtek/rtw89/ser.c
+++ b/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) @@ -632,7 +632,7 @@ static void ser_l2_reset_st_hdl(struct rtw89_ser *ser, u8 evt)

View File

@@ -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> From: Zong-Zhe Yang <kevin_yang@realtek.com>
Date: Mon, 14 Mar 2022 15:12:46 +0800 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 While SER (system error recover) is processing, it's supposed to mean
something is under recovery. So, disable interrupts (excluding the one 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(+) 4 files changed, 53 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -2025,6 +2025,13 @@ struct rtw89_hci_ops { @@ -2025,6 +2025,13 @@ struct rtw89_hci_ops {
@@ -37,7 +37,7 @@ index 771722132c53..5efa5ca372c6 100644
}; };
struct rtw89_hci_info { 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); return rtwdev->hci.ops->flush_queues(rtwdev, queues, drop);
} }
@@ -57,7 +57,7 @@ index 771722132c53..5efa5ca372c6 100644
{ {
return rtwdev->hci.ops->read8(rtwdev, addr); 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 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 --- a/drivers/net/wireless/realtek/rtw89/pci.c
+++ b/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, @@ -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) 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 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 --- a/drivers/net/wireless/realtek/rtw89/pci.h
+++ b/drivers/net/wireless/realtek/rtw89/pci.h +++ b/drivers/net/wireless/realtek/rtw89/pci.h
@@ -594,6 +594,7 @@ struct rtw89_pci { @@ -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 rtw89_pci_rx_ring rx_rings[RTW89_RXCH_NUM];
struct sk_buff_head h2c_queue; struct sk_buff_head h2c_queue;
diff --git a/drivers/net/wireless/realtek/rtw89/ser.c b/drivers/net/wireless/realtek/rtw89/ser.c 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 --- a/drivers/net/wireless/realtek/rtw89/ser.c
+++ b/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) @@ -302,8 +302,11 @@ static void hal_send_m4_event(struct rtw89_ser *ser)

View File

@@ -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

View File

@@ -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> From: Zong-Zhe Yang <kevin_yang@realtek.com>
Date: Mon, 14 Mar 2022 15:12:50 +0800 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), 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 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(+) 5 files changed, 99 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -2400,6 +2400,7 @@ enum rtw89_fw_feature { @@ -2400,6 +2400,7 @@ enum rtw89_fw_feature {
@@ -37,7 +37,7 @@ index 395d3bacdd3f..7d8140cc25a7 100644
}; };
struct rtw89_fw_suit { struct rtw89_fw_suit {
@@ -2502,6 +2503,7 @@ enum rtw89_flags { @@ -2503,6 +2504,7 @@ enum rtw89_flags {
RTW89_FLAG_LEISURE_PS, RTW89_FLAG_LEISURE_PS,
RTW89_FLAG_LOW_POWER_MODE, RTW89_FLAG_LOW_POWER_MODE,
RTW89_FLAG_INACTIVE_PS, RTW89_FLAG_INACTIVE_PS,
@@ -46,7 +46,7 @@ index 395d3bacdd3f..7d8140cc25a7 100644
NUM_OF_RTW89_FLAGS, NUM_OF_RTW89_FLAGS,
}; };
diff --git a/drivers/net/wireless/realtek/rtw89/debug.c b/drivers/net/wireless/realtek/rtw89/debug.c 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 --- a/drivers/net/wireless/realtek/rtw89/debug.c
+++ b/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, @@ -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(btc_manual);
rtw89_debugfs_add_w(fw_log_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 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 --- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/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[] = { @@ -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) 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_bw = hal->current_band_width;
scan_info->op_band = hal->current_band_type; scan_info->op_band = hal->current_band_type;
} }
@@ -170,7 +170,7 @@ index 76a290090507..2c9470616a1b 100644
+ return -EBUSY; + return -EBUSY;
+} +}
diff --git a/drivers/net/wireless/realtek/rtw89/fw.h b/drivers/net/wireless/realtek/rtw89/fw.h 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 --- a/drivers/net/wireless/realtek/rtw89/fw.h
+++ b/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) @@ -1461,6 +1461,11 @@ static inline void SET_LPS_PARM_LASTRPWM(void *h2c, u32 val)
@@ -206,7 +206,7 @@ index 1aaec2672237..24ab249a8ece 100644
#endif #endif
diff --git a/drivers/net/wireless/realtek/rtw89/ser.c b/drivers/net/wireless/realtek/rtw89/ser.c 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 --- a/drivers/net/wireless/realtek/rtw89/ser.c
+++ b/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) @@ -619,6 +619,7 @@ static void ser_l2_reset_st_hdl(struct rtw89_ser *ser, u8 evt)

View File

@@ -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> From: Ping-Ke Shih <pkshih@realtek.com>
Date: Fri, 18 Mar 2022 10:32:12 +0800 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 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 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(-) 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/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) @@ -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) | 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 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 --- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -642,6 +642,17 @@ struct rtw89_txwd_body { @@ -642,6 +642,17 @@ struct rtw89_txwd_body {
@@ -166,7 +166,7 @@ index 501381bb74ad..b5587d799bd8 100644
u32 h2c_ctrl_reg; u32 h2c_ctrl_reg;
const u32 *h2c_regs; const u32 *h2c_regs;
u32 c2h_ctrl_reg; 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); chip->ops->ctrl_btg(rtwdev, btg);
} }
@@ -183,7 +183,7 @@ index 501381bb74ad..b5587d799bd8 100644
static inline static inline
void rtw89_chip_fill_txdesc_fwcmd(struct rtw89_dev *rtwdev, void rtw89_chip_fill_txdesc_fwcmd(struct rtw89_dev *rtwdev,
struct rtw89_tx_desc_info *desc_info, 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, void rtw89_core_fill_txdesc(struct rtw89_dev *rtwdev,
struct rtw89_tx_desc_info *desc_info, struct rtw89_tx_desc_info *desc_info,
void *txdesc); void *txdesc);
@@ -194,7 +194,7 @@ index 501381bb74ad..b5587d799bd8 100644
struct rtw89_tx_desc_info *desc_info, struct rtw89_tx_desc_info *desc_info,
void *txdesc); void *txdesc);
diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c 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 --- a/drivers/net/wireless/realtek/rtw89/pci.c
+++ b/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, @@ -1035,8 +1035,8 @@ static int rtw89_pci_txwd_submit(struct rtw89_dev *rtwdev,
@@ -235,7 +235,7 @@ index 48a5feaf2722..3a27d6f8c630 100644
return 0; return 0;
diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c
+++ b/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 = { @@ -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, .h2c_regs = rtw8852a_h2c_regs,
.c2h_ctrl_reg = R_AX_C2HREG_CTRL, .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 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 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c
+++ b/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 = { @@ -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, .h2c_regs = rtw8852c_h2c_regs,
.c2h_ctrl_reg = R_AX_C2HREG_CTRL_V1, .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 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 --- a/drivers/net/wireless/realtek/rtw89/txrx.h
+++ b/drivers/net/wireless/realtek/rtw89/txrx.h +++ b/drivers/net/wireless/realtek/rtw89/txrx.h
@@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Mon, 2 Sep 2019 14:51:17 +0200 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 errors
This makes it easier to debug EPROBE_DEFER issues via debugfs. 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(-) 5 files changed, 25 insertions(+), 12 deletions(-)
diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c 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 --- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c +++ b/arch/arm/kernel/topology.c
@@ -121,7 +121,7 @@ static void __init parse_dt_topology(void) @@ -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 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 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+++ b/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); ret = mipi_dsi_attach(dsi);
if (ret < 0) { if (ret < 0) {
@@ -42,7 +42,7 @@ index 73f69c929a75..e594d4b3fff7 100644
return ret; return ret;
} }
diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c 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 --- a/drivers/i2c/busses/i2c-gpio.c
+++ b/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, @@ -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; return retdesc;
} }
diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c 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 --- a/drivers/phy/allwinner/phy-sun4i-usb.c
+++ b/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", data->id_det_gpio = devm_gpiod_get_optional(dev, "usb0_id_det",
GPIOD_IN); GPIOD_IN);
if (IS_ERR(data->id_det_gpio)) { if (IS_ERR(data->id_det_gpio)) {
@@ -93,7 +93,7 @@ index d5f3b42eb8ce..40a9415695be 100644
return PTR_ERR(data->vbus_det_gpio); 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, data->vbus_power_supply = devm_power_supply_get_by_phandle(dev,
"usb0_vbus_power-supply"); "usb0_vbus_power-supply");
if (IS_ERR(data->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); 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); phy->vbus = devm_regulator_get_optional(dev, name);
if (IS_ERR(phy->vbus)) { if (IS_ERR(phy->vbus)) {
if (PTR_ERR(phy->vbus) == -EPROBE_DEFER) { if (PTR_ERR(phy->vbus) == -EPROBE_DEFER) {
@@ -114,7 +114,7 @@ index d5f3b42eb8ce..40a9415695be 100644
name); name);
return -EPROBE_DEFER; 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); phy->clk = devm_clk_get(dev, name);
if (IS_ERR(phy->clk)) { 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 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 --- a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
+++ b/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", dphy->regs = devm_regmap_init_mmio_clk(&pdev->dev, "bus",
regs, &sun6i_dphy_regmap_config); regs, &sun6i_dphy_regmap_config);
if (IS_ERR(dphy->regs)) { if (IS_ERR(dphy->regs)) {

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Thu, 18 Feb 2021 07:48:07 +0100 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 Modem
See: https://gitlab.com/mobian1/devices/eg25-manager/-/merge_requests/5 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(+) 1 file changed, 3 insertions(+)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c 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 --- a/drivers/usb/core/quirks.c
+++ b/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 */ /* INTEL VALUE SSD */
{ USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME }, { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },

View File

@@ -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

View File

@@ -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> From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Sun, 7 Nov 2021 19:24:40 +0100 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 driver
This bridge connects standard Type C port interfaces for controling 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 create mode 100644 drivers/usb/typec/typec-extcon.c
diff --git a/drivers/usb/typec/Kconfig b/drivers/usb/typec/Kconfig 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 --- a/drivers/usb/typec/Kconfig
+++ b/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 If you choose to build this driver as a dynamically linked module, the
module will be called wusb3801.ko. module will be called wusb3801.ko.
@@ -35,10 +35,10 @@ index ba24847fb245..4799cf488fe9 100644
source "drivers/usb/typec/altmodes/Kconfig" source "drivers/usb/typec/altmodes/Kconfig"
diff --git a/drivers/usb/typec/Makefile b/drivers/usb/typec/Makefile 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 --- a/drivers/usb/typec/Makefile
+++ b/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_STUSB160X) += stusb160x.o
obj-$(CONFIG_TYPEC_RT1719) += rt1719.o obj-$(CONFIG_TYPEC_RT1719) += rt1719.o
obj-$(CONFIG_TYPEC_WUSB3801) += wusb3801.o obj-$(CONFIG_TYPEC_WUSB3801) += wusb3801.o
@@ -46,7 +46,7 @@ index 43626acc0aaf..cf1182ef5d55 100644
obj-$(CONFIG_TYPEC) += mux/ obj-$(CONFIG_TYPEC) += mux/
diff --git a/drivers/usb/typec/typec-extcon.c b/drivers/usb/typec/typec-extcon.c diff --git a/drivers/usb/typec/typec-extcon.c b/drivers/usb/typec/typec-extcon.c
new file mode 100644 new file mode 100644
index 000000000000..e460f35c8390 index 000000000..e460f35c8
--- /dev/null --- /dev/null
+++ b/drivers/usb/typec/typec-extcon.c +++ b/drivers/usb/typec/typec-extcon.c
@@ -0,0 +1,332 @@ @@ -0,0 +1,332 @@

View File

@@ -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

View File

@@ -3,6 +3,9 @@
# #
# https://github.com/megous/linux # 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-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-leds-Add-a-binding-for-AXP813-charger-led.patch
patches.megous/dt-bindings-media-Add-bindings-for-Himax-HM5065-camera-sensor.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/media-platform-rkisp1-Fix-detection-of-sensor-subdevices.patch
patches.megous/device-property-Add-helper-to-match-multiple-connections.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/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-Introduce-indirection.patch
patches.megous/usb-typec-mux-Allow-multiple-mux_devs-per-mux.patch patches.megous/usb-typec-mux-Allow-multiple-mux_devs-per-mux.patch
patches.megous/sdhci-arasan-Add-runtime-PM-support.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/input-pinephone-keyboard-Allow-disabling-the-keyboard-input.patch
patches.megous/rtw88-change-idle-mode-condition-during-hw_scan.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-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-Add-update-beacon-flow-for-AP-mode.patch
patches.megous/rtw88-8821c-Enable-TX-report-for-management-frames.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-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-add-support-for-device-ID-0xb821.patch
patches.megous/rtw88-8821ce-Disable-PCIe-ASPM-L1-for-8821CE-using-chip-ID.patch patches.megous/rtw88-8821ce-Disable-PCIe-ASPM-L1-for-8821CE-using-chip-ID.patch
patches.megous/rtw88-fix-uninitialized-tim_offset-warning.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-fix-hw-scan-may-cause-disconnect-issue.patch
patches.megous/rtw88-remove-a-copy-of-the-NAPI_POLL_WEIGHT-define.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/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-move-table-of-mem-base-addr-to-common.patch
patches.megous/rtw89-mac-correct-decision-on-error-status-by-scenario.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 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-change-idle-mode-condition-during-hw_scan.patch
patches.megous/rtw89-packet-offload-handler-to-avoid-warning.patch patches.megous/rtw89-packet-offload-handler-to-avoid-warning.patch
patches.megous/rtw89-coex-Add-case-for-scan-offload.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-fix-unannotated-fall-through.patch
patches.megous/rtw89-ser-configure-D-MAC-interrupt-mask.patch patches.megous/rtw89-ser-configure-D-MAC-interrupt-mask.patch
patches.megous/rtw89-ser-configure-C-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-debug-entry-to-dump-BSSID-CAM.patch
patches.megous/rtw89-add-ieee80211-sta_rc_update-ops.patch patches.megous/rtw89-add-ieee80211-sta_rc_update-ops.patch
patches.megous/rtw89-8852c-set-TX-antenna-path.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-8852c-update-txpwr-tables-to-HALRF_027_00_052.patch
patches.megous/rtw89-convert-rtw89_band-to-nl80211_band-precisely.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 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-Cleanup-probe-and-power-up-down.patch
patches.megous/iio-af8133j-Add-runtime-power-management.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 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/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/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 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/wifi-rtw88-Fix-Sparse-warning-for-rtw8821c_hw_spec.patch
patches.megous/media-imx258-Add-debug-register-access.patch patches.megous/media-imx258-Add-debug-register-access.patch
patches.megous/Import-pgwipeout-s-pcie-regs-ranges.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
############################################################################ ############################################################################
# #

View File

@@ -3,6 +3,9 @@
# #
# https://github.com/megous/linux # 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-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-leds-Add-a-binding-for-AXP813-charger-led.patch
patches.megous/dt-bindings-media-Add-bindings-for-Himax-HM5065-camera-sensor.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/media-platform-rkisp1-Fix-detection-of-sensor-subdevices.patch
patches.megous/device-property-Add-helper-to-match-multiple-connections.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/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-Introduce-indirection.patch
patches.megous/usb-typec-mux-Allow-multiple-mux_devs-per-mux.patch patches.megous/usb-typec-mux-Allow-multiple-mux_devs-per-mux.patch
patches.megous/sdhci-arasan-Add-runtime-PM-support.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/input-pinephone-keyboard-Allow-disabling-the-keyboard-input.patch
patches.megous/rtw88-change-idle-mode-condition-during-hw_scan.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-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-Add-update-beacon-flow-for-AP-mode.patch
patches.megous/rtw88-8821c-Enable-TX-report-for-management-frames.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-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-add-support-for-device-ID-0xb821.patch
patches.megous/rtw88-8821ce-Disable-PCIe-ASPM-L1-for-8821CE-using-chip-ID.patch patches.megous/rtw88-8821ce-Disable-PCIe-ASPM-L1-for-8821CE-using-chip-ID.patch
patches.megous/rtw88-fix-uninitialized-tim_offset-warning.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-fix-hw-scan-may-cause-disconnect-issue.patch
patches.megous/rtw88-remove-a-copy-of-the-NAPI_POLL_WEIGHT-define.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/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-move-table-of-mem-base-addr-to-common.patch
patches.megous/rtw89-mac-correct-decision-on-error-status-by-scenario.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 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-change-idle-mode-condition-during-hw_scan.patch
patches.megous/rtw89-packet-offload-handler-to-avoid-warning.patch patches.megous/rtw89-packet-offload-handler-to-avoid-warning.patch
patches.megous/rtw89-coex-Add-case-for-scan-offload.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-fix-unannotated-fall-through.patch
patches.megous/rtw89-ser-configure-D-MAC-interrupt-mask.patch patches.megous/rtw89-ser-configure-D-MAC-interrupt-mask.patch
patches.megous/rtw89-ser-configure-C-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-debug-entry-to-dump-BSSID-CAM.patch
patches.megous/rtw89-add-ieee80211-sta_rc_update-ops.patch patches.megous/rtw89-add-ieee80211-sta_rc_update-ops.patch
patches.megous/rtw89-8852c-set-TX-antenna-path.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-8852c-update-txpwr-tables-to-HALRF_027_00_052.patch
patches.megous/rtw89-convert-rtw89_band-to-nl80211_band-precisely.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 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-Cleanup-probe-and-power-up-down.patch
patches.megous/iio-af8133j-Add-runtime-power-management.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 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/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/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 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/wifi-rtw88-Fix-Sparse-warning-for-rtw8821c_hw_spec.patch
patches.megous/media-imx258-Add-debug-register-access.patch patches.megous/media-imx258-Add-debug-register-access.patch
patches.megous/Import-pgwipeout-s-pcie-regs-ranges.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

View File

@@ -55,12 +55,13 @@ mk_patch_series ()
local target_name local target_name
local target_dir local target_dir
local mess="" local mess=""
numbered=${numbered:-false}
echo -e "\nLOCAL GIT URL =: [\033[1;34m$url_t\033[0m]" echo -e "\nLOCAL GIT URL =: [\033[1;34m$url_t\033[0m]"
echo -e "revision range =: [\033[1;34m$range\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 "target folder for patches =: [\033[1;34m$target\033[0m]"
echo -e "prefix =: [\033[1;34m$prefix\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" [ -d $url_t ] || mess+=" bad url [$url_t]\n"
[ "$(git -C $url_t rev-parse --git-dir 2>/dev/null)" != ".git" ] && \ [ "$(git -C $url_t rev-parse --git-dir 2>/dev/null)" != ".git" ] && \