From 7dad76f7274bcd5e94a5d6e0893c2eae87fe1376 Mon Sep 17 00:00:00 2001 From: The-going <48602507+The-going@users.noreply.github.com> Date: Sun, 23 Feb 2025 17:00:55 +0300 Subject: [PATCH] sunxi-6.12: Switching to v6.12.16. Re-export megous patches --- .../families/include/sunxi64_common.inc | 2 +- .../sources/families/include/sunxi_common.inc | 2 +- ...ister-existing-source-caps-before-re.patch | 10 +++---- ...ts-allwinner-a64-Add-hdmi-sound-card.patch | 10 +++---- ...s-allwinner-a64-Fix-LRADC-compatible.patch | 8 ++--- ...s-sun50i-a64-Set-fifo-size-for-uarts.patch | 16 +++++----- ...tch-parent-of-MIPI-DSI-to-periph0-1x.patch | 10 +++---- ...ing-dclk-rate-upon-ancestor-clock-ch.patch | 30 +++++++++---------- ...40-Add-read-only-property-for-vblank.patch | 8 ++--- ...werup-the-sensor-during-driver-probe.patch | 18 +++++------ ...-Try-to-disable-denoising-sharpening.patch | 12 ++++---- ...cus-commands-blocking-until-complete.patch | 16 +++++----- .../media-ov5640-Implement-autofocus.patch | 26 ++++++++-------- ...media-ov5640-Improve-error-reporting.patch | 10 +++---- ...ia-ov5640-Improve-firmware-load-time.patch | 18 +++++------ ...weroff-to-ensure-next-poweron-is-not.patch | 8 ++--- ...a-ov5640-set-default-ae-target-lower.patch | 8 ++--- ..._force_suspend-resume-for-system-sus.patch | 8 ++--- ...ror-when-no-regulator-is-defined-in-.patch | 8 ++--- ..._probe-to-handle-EPROBE_DEFER-errors.patch | 24 +++++++-------- ...set_resume-callback-for-WWAN-devices.patch | 6 ++-- ...PD-devices-capabilities-registration.patch | 14 ++++----- .../usb-typec-tcpm-Improve-logs.patch | 14 ++++----- ...w-to-change-lth_brightness-via-sysfs.patch | 10 +++---- 24 files changed, 148 insertions(+), 148 deletions(-) diff --git a/config/sources/families/include/sunxi64_common.inc b/config/sources/families/include/sunxi64_common.inc index 272d841b2a..206d7f3d88 100644 --- a/config/sources/families/include/sunxi64_common.inc +++ b/config/sources/families/include/sunxi64_common.inc @@ -36,7 +36,7 @@ case $BRANCH in edge) declare -g KERNEL_MAJOR_MINOR="6.12" # Major and minor versions of this kernel. - declare -g KERNELBRANCH="tag:v6.12.13" + declare -g KERNELBRANCH="tag:v6.12.16" ;; esac diff --git a/config/sources/families/include/sunxi_common.inc b/config/sources/families/include/sunxi_common.inc index c3b7ada166..77c8633092 100644 --- a/config/sources/families/include/sunxi_common.inc +++ b/config/sources/families/include/sunxi_common.inc @@ -37,7 +37,7 @@ case $BRANCH in edge) declare -g KERNEL_MAJOR_MINOR="6.12" # Major and minor versions of this kernel. - declare -g KERNELBRANCH="tag:v6.12.13" + declare -g KERNELBRANCH="tag:v6.12.16" ;; esac diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/Revert-usb-typec-tcpm-unregister-existing-source-caps-before-re.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/Revert-usb-typec-tcpm-unregister-existing-source-caps-before-re.patch index 53b1650a0a..9255035669 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/Revert-usb-typec-tcpm-unregister-existing-source-caps-before-re.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/Revert-usb-typec-tcpm-unregister-existing-source-caps-before-re.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 657d4a240139087cf93d8880c9c87fd60cd0339d Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Tue, 7 May 2024 18:39:12 +0200 Subject: Revert "usb: typec: tcpm: unregister existing source caps before @@ -10,10 +10,10 @@ This reverts commit 230ecdf71a644c9c73e0e6735b33173074ae3f94. 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c -index 111111111111..222222222222 100644 +index 48ddf2770461..cd97f1118e08 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c -@@ -3005,7 +3005,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port) +@@ -3007,7 +3007,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port) { struct usb_power_delivery_desc desc = { port->negotiated_rev }; struct usb_power_delivery_capabilities_desc caps = { }; @@ -22,7 +22,7 @@ index 111111111111..222222222222 100644 if (!port->partner_pd) port->partner_pd = usb_power_delivery_register(NULL, &desc); -@@ -3015,11 +3015,6 @@ static int tcpm_register_source_caps(struct tcpm_port *port) +@@ -3017,11 +3017,6 @@ static int tcpm_register_source_caps(struct tcpm_port *port) memcpy(caps.pdo, port->source_caps, sizeof(u32) * port->nr_source_caps); caps.role = TYPEC_SOURCE; @@ -35,5 +35,5 @@ index 111111111111..222222222222 100644 if (IS_ERR(cap)) return PTR_ERR(cap); -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-allwinner-a64-Add-hdmi-sound-card.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-allwinner-a64-Add-hdmi-sound-card.patch index 5ed1fffded..35e56fe224 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-allwinner-a64-Add-hdmi-sound-card.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-allwinner-a64-Add-hdmi-sound-card.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From f297df8dec806b120400d21b036681e8fe8f14aa Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Sun, 9 May 2021 10:39:56 +0200 Subject: arm64: dts: allwinner: a64: Add hdmi sound card @@ -7,11 +7,11 @@ A64 supports HDMI audio. Add a sound card node for it. Signed-off-by: Jernej Skrabec --- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 15 ++++++++++ + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 111111111111..222222222222 100644 +index 0fecf0abb204..9a43bcc2f489 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi @@ -196,6 +196,20 @@ link0_codec: codec { @@ -35,7 +35,7 @@ index 111111111111..222222222222 100644 timer { compatible = "arm,armv8-timer"; allwinner,erratum-unknown1; -@@ -1259,6 +1273,7 @@ deinterlace: deinterlace@1e00000 { +@@ -1261,6 +1275,7 @@ deinterlace: deinterlace@1e00000 { }; hdmi: hdmi@1ee0000 { @@ -44,5 +44,5 @@ index 111111111111..222222222222 100644 "allwinner,sun8i-a83t-dw-hdmi"; reg = <0x01ee0000 0x10000>; -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-allwinner-a64-Fix-LRADC-compatible.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-allwinner-a64-Fix-LRADC-compatible.patch index c5d2087873..3e36f9051a 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-allwinner-a64-Fix-LRADC-compatible.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-allwinner-a64-Fix-LRADC-compatible.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From dc003fff9853d2fdd4b227fffa74c685f1245e41 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Sun, 30 Jun 2019 22:45:34 +0800 Subject: arm64: dts: allwinner: a64: Fix LRADC compatible @@ -15,10 +15,10 @@ Signed-off-by: Icenowy Zheng 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 111111111111..222222222222 100644 +index d53a6f7e086a..c061387abe41 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -919,7 +919,7 @@ spdif: spdif@1c21000 { +@@ -921,7 +921,7 @@ spdif: spdif@1c21000 { lradc: lradc@1c21800 { compatible = "allwinner,sun50i-a64-lradc", @@ -28,5 +28,5 @@ index 111111111111..222222222222 100644 interrupt-parent = <&r_intc>; interrupts = ; -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-sun50i-a64-Set-fifo-size-for-uarts.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-sun50i-a64-Set-fifo-size-for-uarts.patch index 7ec319cac4..f876f39315 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-sun50i-a64-Set-fifo-size-for-uarts.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/arm64-dts-sun50i-a64-Set-fifo-size-for-uarts.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From b971f78b354d42ce6bd04a2cb0e624109d840832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Sat, 1 Feb 2020 23:41:18 +0100 Subject: arm64: dts: sun50i-a64: Set fifo-size for uarts @@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 111111111111..222222222222 100644 +index 9a43bcc2f489..d53a6f7e086a 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -1010,6 +1010,7 @@ uart0: serial@1c28000 { +@@ -1012,6 +1012,7 @@ uart0: serial@1c28000 { interrupts = ; reg-shift = <2>; reg-io-width = <4>; @@ -22,7 +22,7 @@ index 111111111111..222222222222 100644 clocks = <&ccu CLK_BUS_UART0>; resets = <&ccu RST_BUS_UART0>; status = "disabled"; -@@ -1021,6 +1022,7 @@ uart1: serial@1c28400 { +@@ -1023,6 +1024,7 @@ uart1: serial@1c28400 { interrupts = ; reg-shift = <2>; reg-io-width = <4>; @@ -30,7 +30,7 @@ index 111111111111..222222222222 100644 clocks = <&ccu CLK_BUS_UART1>; resets = <&ccu RST_BUS_UART1>; status = "disabled"; -@@ -1032,6 +1034,7 @@ uart2: serial@1c28800 { +@@ -1034,6 +1036,7 @@ uart2: serial@1c28800 { interrupts = ; reg-shift = <2>; reg-io-width = <4>; @@ -38,7 +38,7 @@ index 111111111111..222222222222 100644 clocks = <&ccu CLK_BUS_UART2>; resets = <&ccu RST_BUS_UART2>; status = "disabled"; -@@ -1043,6 +1046,7 @@ uart3: serial@1c28c00 { +@@ -1045,6 +1048,7 @@ uart3: serial@1c28c00 { interrupts = ; reg-shift = <2>; reg-io-width = <4>; @@ -46,7 +46,7 @@ index 111111111111..222222222222 100644 clocks = <&ccu CLK_BUS_UART3>; resets = <&ccu RST_BUS_UART3>; status = "disabled"; -@@ -1054,6 +1058,7 @@ uart4: serial@1c29000 { +@@ -1056,6 +1060,7 @@ uart4: serial@1c29000 { interrupts = ; reg-shift = <2>; reg-io-width = <4>; @@ -55,5 +55,5 @@ index 111111111111..222222222222 100644 resets = <&ccu RST_BUS_UART4>; status = "disabled"; -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/clk-sunxi-ng-sun50i-a64-Switch-parent-of-MIPI-DSI-to-periph0-1x.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/clk-sunxi-ng-sun50i-a64-Switch-parent-of-MIPI-DSI-to-periph0-1x.patch index 8720048a64..92ee37b08f 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/clk-sunxi-ng-sun50i-a64-Switch-parent-of-MIPI-DSI-to-periph0-1x.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/clk-sunxi-ng-sun50i-a64-Switch-parent-of-MIPI-DSI-to-periph0-1x.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 759d82cec7e69f734d67f6b5dc7493875d871d12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Mon, 14 Aug 2023 07:28:11 +0200 Subject: clk: sunxi-ng: sun50i-a64: Switch parent of MIPI-DSI to periph0(1x) @@ -9,11 +9,11 @@ and HDMI output at once. Signed-off-by: Ondrej Jirman --- - drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) + drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c -index 111111111111..222222222222 100644 +index 801a716d806d..f535c427fbad 100644 --- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c +++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c @@ -962,6 +962,8 @@ static struct ccu_mux_nb sun50i_a64_cpu_nb = { @@ -44,5 +44,5 @@ index 111111111111..222222222222 100644 ret = devm_sunxi_ccu_probe(&pdev->dev, reg, &sun50i_a64_ccu_desc); if (ret) -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/drm-sun4i-tcon-Support-keeping-dclk-rate-upon-ancestor-clock-ch.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/drm-sun4i-tcon-Support-keeping-dclk-rate-upon-ancestor-clock-ch.patch index 43cadb4232..4e2812e1de 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/drm-sun4i-tcon-Support-keeping-dclk-rate-upon-ancestor-clock-ch.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/drm-sun4i-tcon-Support-keeping-dclk-rate-upon-ancestor-clock-ch.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 9cecbf32cae8b640e7f338cfed6388471cb5e508 Mon Sep 17 00:00:00 2001 From: Frank Oltmanns Date: Sun, 10 Mar 2024 14:32:29 +0100 Subject: drm/sun4i: tcon: Support keeping dclk rate upon ancestor clock @@ -18,15 +18,15 @@ constraint. Signed-off-by: Frank Oltmanns --- - drivers/gpu/drm/sun4i/sun4i_tcon.c | 70 +++++++++- - drivers/gpu/drm/sun4i/sun4i_tcon.h | 12 ++ + drivers/gpu/drm/sun4i/sun4i_tcon.c | 70 +++++++++++++++++++++++++++--- + drivers/gpu/drm/sun4i/sun4i_tcon.h | 12 +++++ 2 files changed, 76 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c -index 111111111111..222222222222 100644 +index b78799dedf62..3675c87461e9 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c -@@ -110,9 +110,11 @@ static void sun4i_tcon_channel_set_status(struct sun4i_tcon *tcon, int channel, +@@ -108,9 +108,11 @@ static void sun4i_tcon_channel_set_status(struct sun4i_tcon *tcon, int channel, if (enabled) { clk_prepare_enable(clk); @@ -40,7 +40,7 @@ index 111111111111..222222222222 100644 clk_disable_unprepare(clk); } } -@@ -373,6 +375,53 @@ static void sun4i_tcon0_mode_set_dithering(struct sun4i_tcon *tcon, +@@ -343,6 +345,53 @@ static void sun4i_tcon0_mode_set_dithering(struct sun4i_tcon *tcon, regmap_write(tcon->regs, SUN4I_TCON_FRM_CTL_REG, val); } @@ -94,7 +94,7 @@ index 111111111111..222222222222 100644 static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon, const struct drm_encoder *encoder, const struct drm_display_mode *mode) -@@ -390,8 +439,8 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon, +@@ -360,8 +409,8 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon, */ tcon->dclk_min_div = SUN6I_DSI_TCON_DIV; tcon->dclk_max_div = SUN6I_DSI_TCON_DIV; @@ -105,7 +105,7 @@ index 111111111111..222222222222 100644 /* Set the resolution */ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG, -@@ -464,7 +513,7 @@ static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon, +@@ -434,7 +483,7 @@ static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon, tcon->dclk_min_div = 7; tcon->dclk_max_div = 7; @@ -114,7 +114,7 @@ index 111111111111..222222222222 100644 /* Set the resolution */ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG, -@@ -548,7 +597,7 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon, +@@ -518,7 +567,7 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon, tcon->dclk_min_div = tcon->quirks->dclk_min_div; tcon->dclk_max_div = 127; @@ -123,7 +123,7 @@ index 111111111111..222222222222 100644 /* Set the resolution */ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG, -@@ -1561,6 +1610,14 @@ static const struct sun4i_tcon_quirks sun8i_a33_quirks = { +@@ -1505,6 +1554,14 @@ static const struct sun4i_tcon_quirks sun8i_a33_quirks = { .supports_lvds = true, }; @@ -138,7 +138,7 @@ index 111111111111..222222222222 100644 static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = { .supports_lvds = true, .has_channel_0 = true, -@@ -1619,6 +1676,7 @@ const struct of_device_id sun4i_tcon_of_table[] = { +@@ -1563,6 +1620,7 @@ const struct of_device_id sun4i_tcon_of_table[] = { { .compatible = "allwinner,sun9i-a80-tcon-tv", .data = &sun9i_a80_tcon_tv_quirks }, { .compatible = "allwinner,sun20i-d1-tcon-lcd", .data = &sun20i_d1_lcd_quirks }, { .compatible = "allwinner,sun20i-d1-tcon-tv", .data = &sun8i_r40_tv_quirks }, @@ -147,10 +147,10 @@ index 111111111111..222222222222 100644 }; MODULE_DEVICE_TABLE(of, sun4i_tcon_of_table); diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h -index 111111111111..222222222222 100644 +index fa23aa23fe4a..bd4abc90062b 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.h +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h -@@ -250,6 +250,7 @@ struct sun4i_tcon_quirks { +@@ -243,6 +243,7 @@ struct sun4i_tcon_quirks { bool needs_edp_reset; /* a80 edp reset needed for tcon0 access */ bool supports_lvds; /* Does the TCON support an LVDS output? */ bool polarity_in_ch0; /* some tcon1 channels have polarity bits in tcon0 pol register */ @@ -158,7 +158,7 @@ index 111111111111..222222222222 100644 u8 dclk_min_div; /* minimum divider for TCON0 DCLK */ /* callback to handle tcon muxing options */ -@@ -312,4 +313,15 @@ void sun4i_tcon_enable_gamma(struct sun4i_tcon *tcon, bool enable); +@@ -300,4 +301,15 @@ void sun4i_tcon_set_status(struct sun4i_tcon *crtc, extern const struct of_device_id sun4i_tcon_of_table[]; @@ -175,5 +175,5 @@ index 111111111111..222222222222 100644 + #endif /* __SUN4I_TCON_H__ */ -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Add-read-only-property-for-vblank.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Add-read-only-property-for-vblank.patch index d5748e8632..858252c7fd 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Add-read-only-property-for-vblank.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Add-read-only-property-for-vblank.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 095327be94ec7f073433536d12a2fdd736bff74b Mon Sep 17 00:00:00 2001 From: Adam Pigg Date: Thu, 29 Dec 2022 11:10:41 +0000 Subject: media: ov5640: Add read-only property for vblank @@ -8,10 +8,10 @@ Subject: media: ov5640: Add read-only property for vblank 1 file changed, 1 insertion(+) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index c8027858dae1..f4978f01561b 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c -@@ -3845,6 +3845,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor) +@@ -3846,6 +3846,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor) ctrls->pixel_rate->flags |= V4L2_CTRL_FLAG_READ_ONLY; ctrls->link_freq->flags |= V4L2_CTRL_FLAG_READ_ONLY; ctrls->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY; @@ -20,5 +20,5 @@ index 111111111111..222222222222 100644 ctrls->exposure->flags |= V4L2_CTRL_FLAG_VOLATILE; -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Don-t-powerup-the-sensor-during-driver-probe.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Don-t-powerup-the-sensor-during-driver-probe.patch index 986c9f1283..085d265881 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Don-t-powerup-the-sensor-during-driver-probe.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Don-t-powerup-the-sensor-during-driver-probe.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From a9604f06f950f28d2bf39052c81c580ddbc59233 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Wed, 8 Nov 2023 19:13:37 +0100 Subject: media: ov5640: Don't powerup the sensor during driver probe @@ -9,14 +9,14 @@ pipeline via s_power callback, later on. Signed-off-by: Ondrej Jirman --- - drivers/media/i2c/ov5640.c | 55 ++-------- + drivers/media/i2c/ov5640.c | 55 +++++++++----------------------------- 1 file changed, 12 insertions(+), 43 deletions(-) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index cf2241afe946..7e908f265840 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c -@@ -2496,6 +2496,7 @@ static void ov5640_powerup_sequence(struct ov5640_dev *sensor) +@@ -2497,6 +2497,7 @@ static void ov5640_powerup_sequence(struct ov5640_dev *sensor) static int ov5640_set_power_on(struct ov5640_dev *sensor) { struct i2c_client *client = sensor->i2c_client; @@ -24,7 +24,7 @@ index 111111111111..222222222222 100644 int ret; ret = clk_prepare_enable(sensor->xclk); -@@ -2519,6 +2520,13 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor) +@@ -2520,6 +2521,13 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor) if (ret) goto power_off; @@ -38,7 +38,7 @@ index 111111111111..222222222222 100644 return 0; power_off: -@@ -3840,28 +3848,6 @@ static int ov5640_get_regulators(struct ov5640_dev *sensor) +@@ -3841,28 +3849,6 @@ static int ov5640_get_regulators(struct ov5640_dev *sensor) sensor->supplies); } @@ -67,7 +67,7 @@ index 111111111111..222222222222 100644 static int ov5640_probe(struct i2c_client *client) { struct device *dev = &client->dev; -@@ -3962,35 +3948,16 @@ static int ov5640_probe(struct i2c_client *client) +@@ -3963,35 +3949,16 @@ static int ov5640_probe(struct i2c_client *client) if (ret) goto entity_cleanup; @@ -105,7 +105,7 @@ index 111111111111..222222222222 100644 free_ctrls: v4l2_ctrl_handler_free(&sensor->ctrls.handler); entity_cleanup: -@@ -4005,6 +3972,8 @@ static void ov5640_remove(struct i2c_client *client) +@@ -4006,6 +3973,8 @@ static void ov5640_remove(struct i2c_client *client) struct ov5640_dev *sensor = to_ov5640_dev(sd); struct device *dev = &client->dev; @@ -115,5 +115,5 @@ index 111111111111..222222222222 100644 if (!pm_runtime_status_suspended(dev)) ov5640_sensor_suspend(dev); -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Experiment-Try-to-disable-denoising-sharpening.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Experiment-Try-to-disable-denoising-sharpening.patch index fb4999af55..cb99fec23e 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Experiment-Try-to-disable-denoising-sharpening.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Experiment-Try-to-disable-denoising-sharpening.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 498b47b5a0bbfbc0905c2176787753a77c3bea38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Fri, 24 Jan 2020 18:25:59 +0100 Subject: media: ov5640: [Experiment] Try to disable denoising/sharpening @@ -7,14 +7,14 @@ Not sure how this works exactly. More tests are needed. Signed-off-by: Ondrej Jirman --- - drivers/media/i2c/ov5640.c | 17 ++++++++++ + drivers/media/i2c/ov5640.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index 8566bc2edde9..91d23100175f 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c -@@ -2326,6 +2326,7 @@ static int ov5640_set_mode(struct ov5640_dev *sensor) +@@ -2327,6 +2327,7 @@ static int ov5640_set_mode(struct ov5640_dev *sensor) bool auto_gain = sensor->ctrls.auto_gain->val == 1; bool auto_exp = sensor->ctrls.auto_exp->val == V4L2_EXPOSURE_AUTO; int ret; @@ -22,7 +22,7 @@ index 111111111111..222222222222 100644 dn_mode = mode->dn_mode; orig_dn_mode = orig_mode->dn_mode; -@@ -2389,6 +2390,22 @@ static int ov5640_set_mode(struct ov5640_dev *sensor) +@@ -2390,6 +2391,22 @@ static int ov5640_set_mode(struct ov5640_dev *sensor) if (ret < 0) return ret; @@ -46,5 +46,5 @@ index 111111111111..222222222222 100644 sensor->last_mode = mode; -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Fix-focus-commands-blocking-until-complete.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Fix-focus-commands-blocking-until-complete.patch index 1b198efa60..f1701b234f 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Fix-focus-commands-blocking-until-complete.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Fix-focus-commands-blocking-until-complete.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 2b1cc4e13f004fbaffa1c435f5f375b4b7bcefcc Mon Sep 17 00:00:00 2001 From: Benjamin Schaaf Date: Mon, 22 Nov 2021 23:38:26 +1100 Subject: media: ov5640: Fix focus commands blocking until complete @@ -6,14 +6,14 @@ Subject: media: ov5640: Fix focus commands blocking until complete Previously setting the focus controls would block until the sensor completed the focus routine. --- - drivers/media/i2c/ov5640.c | 67 +++------- + drivers/media/i2c/ov5640.c | 67 ++++++++++---------------------------- 1 file changed, 18 insertions(+), 49 deletions(-) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index 224e647b8d70..c8027858dae1 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c -@@ -2642,6 +2642,19 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, +@@ -2643,6 +2643,19 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, return -ETIMEDOUT; } @@ -33,7 +33,7 @@ index 111111111111..222222222222 100644 static int ov5640_af_init(struct ov5640_dev *sensor) { struct i2c_client *client = sensor->i2c_client; -@@ -2679,6 +2692,11 @@ static int ov5640_af_init(struct ov5640_dev *sensor) +@@ -2680,6 +2693,11 @@ static int ov5640_af_init(struct ov5640_dev *sensor) // Set lens focus driver on ret = ov5640_write_reg(sensor, OV5640_REG_VCM_CONTROL4, 0x3f); @@ -45,7 +45,7 @@ index 111111111111..222222222222 100644 if (ret) return ret; return ret; -@@ -3303,35 +3321,6 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor, +@@ -3304,35 +3322,6 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor, is_jpeg ? (BIT(5) | BIT(3)) : 0); } @@ -81,7 +81,7 @@ index 111111111111..222222222222 100644 /* * Sensor Controls. */ -@@ -3467,26 +3456,6 @@ static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command) +@@ -3468,26 +3457,6 @@ static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command) return 0; } @@ -109,5 +109,5 @@ index 111111111111..222222222222 100644 } -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Implement-autofocus.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Implement-autofocus.patch index 2bc1658c76..da75045cab 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Implement-autofocus.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Implement-autofocus.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 2a5bd544eb813e6bb6ad9134f3212707f16ed160 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Sun, 7 Aug 2022 15:17:09 +0200 Subject: media: ov5640: Implement autofocus @@ -11,11 +11,11 @@ this at least makes it possible to focus on the center of the sensor. Signed-off-by: Martijn Braam --- - drivers/media/i2c/ov5640.c | 279 ++++++++++ + drivers/media/i2c/ov5640.c | 279 +++++++++++++++++++++++++++++++++++++ 1 file changed, 279 insertions(+) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index 24f755e3ca56..eee2dbf70a0b 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c @@ -9,6 +9,7 @@ @@ -87,7 +87,7 @@ index 111111111111..222222222222 100644 }; static inline struct ov5640_dev *to_ov5640_dev(struct v4l2_subdev *sd) -@@ -2493,6 +2534,118 @@ static void ov5640_powerup_sequence(struct ov5640_dev *sensor) +@@ -2494,6 +2535,118 @@ static void ov5640_powerup_sequence(struct ov5640_dev *sensor) OV5640_REG_SYS_CTRL0_SW_PWDN); } @@ -206,7 +206,7 @@ index 111111111111..222222222222 100644 static int ov5640_set_power_on(struct ov5640_dev *sensor) { struct i2c_client *client = sensor->i2c_client; -@@ -2514,8 +2667,11 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor) +@@ -2515,8 +2668,11 @@ static int ov5640_set_power_on(struct ov5640_dev *sensor) goto xclk_off; } @@ -218,7 +218,7 @@ index 111111111111..222222222222 100644 ret = ov5640_init_slave_id(sensor); if (ret) goto power_off; -@@ -3109,6 +3265,35 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor, +@@ -3110,6 +3266,35 @@ static int ov5640_set_framefmt(struct ov5640_dev *sensor, is_jpeg ? (BIT(5) | BIT(3)) : 0); } @@ -254,7 +254,7 @@ index 111111111111..222222222222 100644 /* * Sensor Controls. */ -@@ -3225,6 +3410,41 @@ static int ov5640_set_ctrl_exposure(struct ov5640_dev *sensor, +@@ -3226,6 +3411,41 @@ static int ov5640_set_ctrl_exposure(struct ov5640_dev *sensor, return ret; } @@ -296,7 +296,7 @@ index 111111111111..222222222222 100644 static int ov5640_set_ctrl_gain(struct ov5640_dev *sensor, bool auto_gain) { struct ov5640_ctrls *ctrls = &sensor->ctrls; -@@ -3340,6 +3560,32 @@ static int ov5640_set_ctrl_vblank(struct ov5640_dev *sensor, int value) +@@ -3341,6 +3561,32 @@ static int ov5640_set_ctrl_vblank(struct ov5640_dev *sensor, int value) mode->height + value); } @@ -329,7 +329,7 @@ index 111111111111..222222222222 100644 static int ov5640_g_volatile_ctrl(struct v4l2_ctrl *ctrl) { struct v4l2_subdev *sd = ctrl_to_sd(ctrl); -@@ -3364,6 +3610,12 @@ static int ov5640_g_volatile_ctrl(struct v4l2_ctrl *ctrl) +@@ -3365,6 +3611,12 @@ static int ov5640_g_volatile_ctrl(struct v4l2_ctrl *ctrl) return val; sensor->ctrls.exposure->val = val; break; @@ -342,7 +342,7 @@ index 111111111111..222222222222 100644 } pm_runtime_mark_last_busy(&sensor->i2c_client->dev); -@@ -3413,6 +3665,18 @@ static int ov5640_s_ctrl(struct v4l2_ctrl *ctrl) +@@ -3414,6 +3666,18 @@ static int ov5640_s_ctrl(struct v4l2_ctrl *ctrl) case V4L2_CID_AUTO_WHITE_BALANCE: ret = ov5640_set_ctrl_white_balance(sensor, ctrl->val); break; @@ -361,7 +361,7 @@ index 111111111111..222222222222 100644 case V4L2_CID_HUE: ret = ov5640_set_ctrl_hue(sensor, ctrl->val); break; -@@ -3513,6 +3777,20 @@ static int ov5640_init_controls(struct ov5640_dev *sensor) +@@ -3514,6 +3778,20 @@ static int ov5640_init_controls(struct ov5640_dev *sensor) ctrls->gain = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_ANALOGUE_GAIN, 0, 1023, 1, 0); @@ -382,7 +382,7 @@ index 111111111111..222222222222 100644 ctrls->saturation = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_SATURATION, 0, 255, 1, 64); ctrls->hue = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_HUE, -@@ -3559,6 +3837,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor) +@@ -3560,6 +3838,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor) v4l2_ctrl_auto_cluster(3, &ctrls->auto_wb, 0, false); v4l2_ctrl_auto_cluster(2, &ctrls->auto_gain, 0, true); v4l2_ctrl_auto_cluster(2, &ctrls->auto_exp, 1, true); @@ -391,5 +391,5 @@ index 111111111111..222222222222 100644 sensor->sd.ctrl_handler = hdl; return 0; -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Improve-error-reporting.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Improve-error-reporting.patch index 9238a3963d..4947492b53 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Improve-error-reporting.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Improve-error-reporting.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 9265f21865eb7172385d286593b5a8df93aa396c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Fri, 22 Oct 2021 19:52:49 +0200 Subject: media: ov5640: Improve error reporting @@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index cdab9b224117..24f755e3ca56 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c -@@ -3939,8 +3939,10 @@ static int ov5640_probe(struct i2c_client *client) +@@ -3940,8 +3940,10 @@ static int ov5640_probe(struct i2c_client *client) return ret; ret = ov5640_get_regulators(sensor); @@ -26,7 +26,7 @@ index 111111111111..222222222222 100644 mutex_init(&sensor->lock); -@@ -3949,8 +3951,10 @@ static int ov5640_probe(struct i2c_client *client) +@@ -3950,8 +3952,10 @@ static int ov5640_probe(struct i2c_client *client) goto entity_cleanup; ret = v4l2_async_register_subdev_sensor(&sensor->sd); @@ -39,5 +39,5 @@ index 111111111111..222222222222 100644 pm_runtime_enable(dev); pm_runtime_set_autosuspend_delay(dev, 1000); -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Improve-firmware-load-time.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Improve-firmware-load-time.patch index 32b8df620f..9d6a2d71aa 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Improve-firmware-load-time.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Improve-firmware-load-time.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 08e78eb0f39b436ef8d214bfda27fa2e320d103d Mon Sep 17 00:00:00 2001 From: Benjamin Schaaf Date: Mon, 22 Nov 2021 23:38:26 +1100 Subject: media: ov5640: Improve firmware load time @@ -9,11 +9,11 @@ loading it, so there's no need for a long timeout or retry. The firmware can also not be loaded when the sensor isn't powered on, so don't bother trying. --- - drivers/media/i2c/ov5640.c | 97 +++++++--- + drivers/media/i2c/ov5640.c | 97 ++++++++++++++++++++++++++++---------- 1 file changed, 71 insertions(+), 26 deletions(-) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index eee2dbf70a0b..224e647b8d70 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c @@ -1232,6 +1232,8 @@ static int ov5640_write_reg(struct ov5640_dev *sensor, u16 reg, u8 val) @@ -68,7 +68,7 @@ index 111111111111..222222222222 100644 static int ov5640_read_reg(struct ov5640_dev *sensor, u16 reg, u8 *val) { struct i2c_client *client = sensor->i2c_client; -@@ -2542,6 +2580,7 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, +@@ -2543,6 +2581,7 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, u8 fw_status; int i; int ret; @@ -76,7 +76,7 @@ index 111111111111..222222222222 100644 // Putting MCU in reset state ret = ov5640_write_reg(sensor, OV5640_REG_SYS_RESET00, 0x20); -@@ -2549,10 +2588,24 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, +@@ -2550,10 +2589,24 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, return ret; // Write firmware @@ -105,7 +105,7 @@ index 111111111111..222222222222 100644 // Reset MCU state ov5640_write_reg(sensor, OV5640_REG_FW_CMD_MAIN, 0x00); -@@ -2574,31 +2627,17 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, +@@ -2575,31 +2628,17 @@ static int ov5640_copy_fw_to_device(struct ov5640_dev *sensor, // Wait for firmware to be ready for (i = 0; i < 5; i++) { ret = ov5640_read_reg(sensor, OV5640_REG_FW_STATUS, &fw_status); @@ -142,7 +142,7 @@ index 111111111111..222222222222 100644 dev_err(&client->dev, "uploaded firmware didn't start, got to 0x%x\n", fw_status); return -ETIMEDOUT; } -@@ -2639,10 +2678,9 @@ static int ov5640_af_init(struct ov5640_dev *sensor) +@@ -2640,10 +2679,9 @@ static int ov5640_af_init(struct ov5640_dev *sensor) return ret; // Set lens focus driver on @@ -154,7 +154,7 @@ index 111111111111..222222222222 100644 return ret; } -@@ -3415,9 +3453,16 @@ static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command) +@@ -3416,9 +3454,16 @@ static int ov5640_set_ctrl_focus(struct ov5640_dev *sensor, int command) struct i2c_client *client = sensor->i2c_client; int ret; @@ -173,5 +173,5 @@ index 111111111111..222222222222 100644 return 0; } -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Sleep-after-poweroff-to-ensure-next-poweron-is-not.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Sleep-after-poweroff-to-ensure-next-poweron-is-not.patch index ed67c8a36c..0cc2e96d4b 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Sleep-after-poweroff-to-ensure-next-poweron-is-not.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-Sleep-after-poweroff-to-ensure-next-poweron-is-not.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From d407d2eef61a416de7c829285959086f168addaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Sun, 26 Jan 2020 00:19:40 +0100 Subject: media: ov5640: Sleep after poweroff to ensure next poweron is not too @@ -13,10 +13,10 @@ Signed-off-by: Ondrej Jirman 1 file changed, 1 insertion(+) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index 91d23100175f..cf2241afe946 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c -@@ -2534,6 +2534,7 @@ static void ov5640_set_power_off(struct ov5640_dev *sensor) +@@ -2535,6 +2535,7 @@ static void ov5640_set_power_off(struct ov5640_dev *sensor) ov5640_power(sensor, false); regulator_bulk_disable(OV5640_NUM_SUPPLIES, sensor->supplies); clk_disable_unprepare(sensor->xclk); @@ -25,5 +25,5 @@ index 111111111111..222222222222 100644 static int ov5640_set_power_mipi(struct ov5640_dev *sensor, bool on) -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-set-default-ae-target-lower.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-set-default-ae-target-lower.patch index c1379b5ca0..622d963061 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-set-default-ae-target-lower.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-set-default-ae-target-lower.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 40e1749a62e323fb0fbd724bc864b0f18f5e956e Mon Sep 17 00:00:00 2001 From: Martijn Braam Date: Wed, 7 Oct 2020 17:33:43 +0200 Subject: media: ov5640: set default ae target lower @@ -10,10 +10,10 @@ the exposure target one stop lower. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index 7e908f265840..cdab9b224117 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c -@@ -3874,7 +3874,7 @@ static int ov5640_probe(struct i2c_client *client) +@@ -3875,7 +3875,7 @@ static int ov5640_probe(struct i2c_client *client) sensor->current_link_freq = ov5640_csi2_link_freqs[OV5640_DEFAULT_LINK_FREQ]; @@ -23,5 +23,5 @@ index 111111111111..222222222222 100644 endpoint = fwnode_graph_get_next_endpoint(dev_fwnode(&client->dev), NULL); -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-use-pm_runtime_force_suspend-resume-for-system-sus.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-use-pm_runtime_force_suspend-resume-for-system-sus.patch index 66427ad143..46c1b339b1 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-use-pm_runtime_force_suspend-resume-for-system-sus.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/media-ov5640-use-pm_runtime_force_suspend-resume-for-system-sus.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 2c90f6e4bd9028ef95251c3c096590a73c3af4a7 Mon Sep 17 00:00:00 2001 From: Andrey Skvortsov Date: Mon, 14 Aug 2023 13:25:07 +0300 Subject: media: ov5640: use pm_runtime_force_suspend/resume for system suspend @@ -14,10 +14,10 @@ Signed-off-by: Andrey Skvortsov 1 file changed, 2 insertions(+) diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c -index 111111111111..222222222222 100644 +index f4978f01561b..208188bfbc2a 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c -@@ -4284,6 +4284,8 @@ static void ov5640_remove(struct i2c_client *client) +@@ -4285,6 +4285,8 @@ static void ov5640_remove(struct i2c_client *client) } static const struct dev_pm_ops ov5640_pm_ops = { @@ -27,5 +27,5 @@ index 111111111111..222222222222 100644 }; -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/opp-core-Avoid-confusing-error-when-no-regulator-is-defined-in-.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/opp-core-Avoid-confusing-error-when-no-regulator-is-defined-in-.patch index 8264ec8065..12e91dc69d 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/opp-core-Avoid-confusing-error-when-no-regulator-is-defined-in-.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/opp-core-Avoid-confusing-error-when-no-regulator-is-defined-in-.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From efd23643c03f1cbc06617053b2557da4abf0986a Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Sat, 29 Oct 2022 23:16:51 +0200 Subject: opp: core: Avoid confusing error when no regulator is defined in DT @@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman 1 file changed, 5 insertions(+) diff --git a/drivers/opp/core.c b/drivers/opp/core.c -index 111111111111..222222222222 100644 +index 5ac209472c0c..22b3eb5f920e 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -2185,6 +2185,11 @@ static int _opp_set_regulators(struct opp_table *opp_table, struct device *dev, +@@ -2208,6 +2208,11 @@ static int _opp_set_regulators(struct opp_table *opp_table, struct device *dev, for (i = 0; i < count; i++) { reg = regulator_get_optional(dev, names[i]); if (IS_ERR(reg)) { @@ -27,5 +27,5 @@ index 111111111111..222222222222 100644 "%s: no regulator (%s) found\n", __func__, names[i]); -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/sunxi-Use-dev_err_probe-to-handle-EPROBE_DEFER-errors.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/sunxi-Use-dev_err_probe-to-handle-EPROBE_DEFER-errors.patch index a6a594d839..94a156b998 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/sunxi-Use-dev_err_probe-to-handle-EPROBE_DEFER-errors.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/sunxi-Use-dev_err_probe-to-handle-EPROBE_DEFER-errors.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 9a22ce84407bb36e04d83d0ea5d5f624b80e2f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Mon, 2 Sep 2019 14:51:17 +0200 Subject: sunxi: Use dev_err_probe to handle EPROBE_DEFER errors @@ -9,13 +9,13 @@ Signed-off-by: Ondrej Jirman --- arch/arm/kernel/topology.c | 2 +- drivers/gpu/drm/panel/panel-sitronix-st7703.c | 2 +- - drivers/i2c/busses/i2c-gpio.c | 11 +++++-- - drivers/phy/allwinner/phy-sun4i-usb.c | 16 ++++++---- - drivers/phy/allwinner/phy-sun6i-mipi-dphy.c | 6 ++-- + drivers/i2c/busses/i2c-gpio.c | 11 +++++++++-- + drivers/phy/allwinner/phy-sun4i-usb.c | 16 ++++++++++------ + drivers/phy/allwinner/phy-sun6i-mipi-dphy.c | 6 ++++-- 5 files changed, 25 insertions(+), 12 deletions(-) diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c -index 111111111111..222222222222 100644 +index 2336ee2aa44a..20efde3cb1c2 100644 --- a/arch/arm/kernel/topology.c +++ b/arch/arm/kernel/topology.c @@ -121,7 +121,7 @@ static void __init parse_dt_topology(void) @@ -28,10 +28,10 @@ index 111111111111..222222222222 100644 } diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index 111111111111..222222222222 100644 +index 6d3ad83be141..18afc2aff29c 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -@@ -904,7 +904,7 @@ static int st7703_probe(struct mipi_dsi_device *dsi) +@@ -887,7 +887,7 @@ static int st7703_probe(struct mipi_dsi_device *dsi) ret = mipi_dsi_attach(dsi); if (ret < 0) { @@ -41,7 +41,7 @@ index 111111111111..222222222222 100644 return ret; } diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c -index 111111111111..222222222222 100644 +index e0bd218e2f14..f8d53bf37944 100644 --- a/drivers/i2c/busses/i2c-gpio.c +++ b/drivers/i2c/busses/i2c-gpio.c @@ -314,6 +314,13 @@ static struct gpio_desc *i2c_gpio_get_desc(struct device *dev, @@ -70,7 +70,7 @@ index 111111111111..222222222222 100644 return retdesc; } diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c -index 111111111111..222222222222 100644 +index 9b6b68eb00f8..be63d60ce738 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -775,14 +775,16 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) @@ -124,10 +124,10 @@ index 111111111111..222222222222 100644 } diff --git a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c -index 111111111111..222222222222 100644 +index 36eab95271b2..f83df7554aac 100644 --- a/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c +++ b/drivers/phy/allwinner/phy-sun6i-mipi-dphy.c -@@ -584,13 +584,15 @@ static int sun6i_dphy_probe(struct platform_device *pdev) +@@ -570,13 +570,15 @@ static int sun6i_dphy_probe(struct platform_device *pdev) dphy->regs = devm_regmap_init_mmio_clk(&pdev->dev, "bus", regs, &sun6i_dphy_regmap_config); if (IS_ERR(dphy->regs)) { @@ -146,5 +146,5 @@ index 111111111111..222222222222 100644 } -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/usb-serial-option-add-reset_resume-callback-for-WWAN-devices.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/usb-serial-option-add-reset_resume-callback-for-WWAN-devices.patch index a1c1730a52..ab1c7a76da 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/usb-serial-option-add-reset_resume-callback-for-WWAN-devices.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/usb-serial-option-add-reset_resume-callback-for-WWAN-devices.patch @@ -1,4 +1,4 @@ -From c4b98967269c353f88e5544988bad6468febd286 Mon Sep 17 00:00:00 2001 +From e1f725426dfc3eb2d91a7f4eaf581933ae5e9108 Mon Sep 17 00:00:00 2001 From: Thomas Thorne Date: Tue, 20 Sep 2022 20:34:57 -0400 Subject: usb: serial: option: add 'reset_resume' callback for WWAN devices @@ -17,10 +17,10 @@ However the rest of the patch is not needed/already upstreamed. 1 file changed, 1 insertion(+) diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index 1e2ae0c6c41c..8ab87dfae501 100644 +index 58bd54e8c483..09b9c19a5178 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -2446,6 +2446,7 @@ static struct usb_serial_driver option_1port_device = { +@@ -2455,6 +2455,7 @@ static struct usb_serial_driver option_1port_device = { #ifdef CONFIG_PM .suspend = usb_wwan_suspend, .resume = usb_wwan_resume, diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/usb-typec-tcpm-Fix-PD-devices-capabilities-registration.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/usb-typec-tcpm-Fix-PD-devices-capabilities-registration.patch index 498ec9f063..ae1374fd51 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/usb-typec-tcpm-Fix-PD-devices-capabilities-registration.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/usb-typec-tcpm-Fix-PD-devices-capabilities-registration.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 21a742946daac1bf85354aa3ca7591fddf02d4d3 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Sat, 18 Feb 2023 00:38:44 +0100 Subject: usb: typec: tcpm: Fix PD devices/capabilities registration @@ -11,14 +11,14 @@ Fixes "sysfs: cannot create duplicate filename Signed-off-by: Ondrej Jirman --- - drivers/usb/typec/tcpm/tcpm.c | 37 ++++++++-- + drivers/usb/typec/tcpm/tcpm.c | 37 +++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c -index 111111111111..222222222222 100644 +index cd6ce4392490..7b8741dff63d 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c -@@ -3009,15 +3009,22 @@ static int tcpm_register_source_caps(struct tcpm_port *port) +@@ -3011,15 +3011,22 @@ static int tcpm_register_source_caps(struct tcpm_port *port) struct usb_power_delivery_desc desc = { port->negotiated_rev }; struct usb_power_delivery_capabilities_desc caps = { }; struct usb_power_delivery_capabilities *cap; @@ -45,7 +45,7 @@ index 111111111111..222222222222 100644 cap = usb_power_delivery_register_capabilities(port->partner_pd, &caps); if (IS_ERR(cap)) return PTR_ERR(cap); -@@ -3032,15 +3039,22 @@ static int tcpm_register_sink_caps(struct tcpm_port *port) +@@ -3034,15 +3041,22 @@ static int tcpm_register_sink_caps(struct tcpm_port *port) struct usb_power_delivery_desc desc = { port->negotiated_rev }; struct usb_power_delivery_capabilities_desc caps = { }; struct usb_power_delivery_capabilities *cap; @@ -72,7 +72,7 @@ index 111111111111..222222222222 100644 cap = usb_power_delivery_register_capabilities(port->partner_pd, &caps); if (IS_ERR(cap)) return PTR_ERR(cap); -@@ -7019,10 +7033,17 @@ static int tcpm_port_register_pd(struct tcpm_port *port) +@@ -7021,10 +7035,17 @@ static int tcpm_port_register_pd(struct tcpm_port *port) port->pds[i] = usb_power_delivery_register(port->dev, &desc); if (IS_ERR(port->pds[i])) { ret = PTR_ERR(port->pds[i]); @@ -91,5 +91,5 @@ index 111111111111..222222222222 100644 cap = usb_power_delivery_register_capabilities(port->pds[i], &port->pd_list[i]->source_desc); -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/usb-typec-tcpm-Improve-logs.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/usb-typec-tcpm-Improve-logs.patch index aac796631b..02644215e0 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/usb-typec-tcpm-Improve-logs.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/usb-typec-tcpm-Improve-logs.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 8570cf87270150be076f51ab0868c082949182b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Tue, 23 Nov 2021 17:58:05 +0100 Subject: usb: typec: tcpm: Improve logs @@ -7,11 +7,11 @@ This adds clarity to debugging. Signed-off-by: Ondrej Jirman --- - drivers/usb/typec/tcpm/tcpm.c | 15 +++++++--- + drivers/usb/typec/tcpm/tcpm.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c -index 111111111111..222222222222 100644 +index 7b8741dff63d..627f10469f80 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c @@ -958,10 +958,13 @@ static int tcpm_pd_transmit(struct tcpm_port *port, @@ -30,7 +30,7 @@ index 111111111111..222222222222 100644 reinit_completion(&port->tx_complete); ret = port->tcpc->pd_transmit(port->tcpc, tx_sop_type, msg, negotiated_rev); -@@ -3681,6 +3684,10 @@ void tcpm_pd_receive(struct tcpm_port *port, const struct pd_message *msg, +@@ -3683,6 +3686,10 @@ void tcpm_pd_receive(struct tcpm_port *port, const struct pd_message *msg, enum tcpm_transmit_type rx_sop_type) { struct pd_rx_event *event; @@ -41,7 +41,7 @@ index 111111111111..222222222222 100644 event = kzalloc(sizeof(*event), GFP_ATOMIC); if (!event) -@@ -5966,7 +5973,7 @@ static void _tcpm_cc_change(struct tcpm_port *port, enum typec_cc_status cc1, +@@ -5968,7 +5975,7 @@ static void _tcpm_cc_change(struct tcpm_port *port, enum typec_cc_status cc1, static void _tcpm_pd_vbus_on(struct tcpm_port *port) { @@ -50,7 +50,7 @@ index 111111111111..222222222222 100644 port->vbus_present = true; /* * When vbus_present is true i.e. Voltage at VBUS is greater than VSAFE5V implicitly -@@ -6056,7 +6063,7 @@ static void _tcpm_pd_vbus_on(struct tcpm_port *port) +@@ -6058,7 +6065,7 @@ static void _tcpm_pd_vbus_on(struct tcpm_port *port) static void _tcpm_pd_vbus_off(struct tcpm_port *port) { @@ -60,5 +60,5 @@ index 111111111111..222222222222 100644 port->vbus_never_low = false; switch (port->state) { -- -Armbian +2.35.3 diff --git a/patch/kernel/archive/sunxi-6.12/patches.megous/video-pwm_bl-Allow-to-change-lth_brightness-via-sysfs.patch b/patch/kernel/archive/sunxi-6.12/patches.megous/video-pwm_bl-Allow-to-change-lth_brightness-via-sysfs.patch index 65d6df07fa..6f8a0a7170 100644 --- a/patch/kernel/archive/sunxi-6.12/patches.megous/video-pwm_bl-Allow-to-change-lth_brightness-via-sysfs.patch +++ b/patch/kernel/archive/sunxi-6.12/patches.megous/video-pwm_bl-Allow-to-change-lth_brightness-via-sysfs.patch @@ -1,4 +1,4 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From c8980261ed458d058974d7966f5d058cc7be2dfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Mon, 7 Jun 2021 20:27:07 +0200 Subject: video: pwm_bl: Allow to change lth_brightness via sysfs @@ -21,11 +21,11 @@ Then make sure to restore this value after each boot by writing it to Signed-off-by: Ondrej Jirman --- - drivers/video/backlight/pwm_bl.c | 72 +++++++++- - 1 file changed, 70 insertions(+), 2 deletions(-) + drivers/video/backlight/pwm_bl.c | 97 +++++++++++++++++++++++++++++++- + 1 file changed, 94 insertions(+), 3 deletions(-) diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c -index 111111111111..222222222222 100644 +index e942908d1275..7a3ddc410c08 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -437,6 +437,61 @@ static int pwm_backlight_initial_power_state(const struct pwm_bl_data *pb) @@ -161,5 +161,5 @@ index 111111111111..222222222222 100644 platform_set_drvdata(pdev, bl); -- -Armbian +2.35.3