linux: bump Amlogic 6.12.y kernel and patches

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
This commit is contained in:
Christian Hewitt 2024-11-24 03:32:12 +00:00
parent 05d0bf25ce
commit bf1c528af1
No known key found for this signature in database
39 changed files with 183 additions and 1162 deletions

View File

@ -16,8 +16,8 @@ PKG_PATCH_DIRS="${LINUX}"
case "${LINUX}" in case "${LINUX}" in
amlogic) amlogic)
PKG_VERSION="adc218676eef25575469234709c2d87185ca223a" # 6.12.0 PKG_VERSION="47edb26c8ed9dd1877f8623ee1cd3b998874ca65" # 6.12.3
PKG_SHA256="8787cc90ca7740ab7c955b6fad83010dc600f14a6d94511b548703e4f0f40caa" PKG_SHA256="400f47b06a05798b215842950baf918439c0e2f026f71160bd5d547b6ac10edb"
PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz"
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
PKG_PATCH_DIRS="default rtlwifi/after-6.12" PKG_PATCH_DIRS="default rtlwifi/after-6.12"

View File

@ -1,7 +1,7 @@
From ae45bee318f2e099ad18653f7fba72c68013823d Mon Sep 17 00:00:00 2001 From 2d2fade84ccde0cd0675b66a1924a6196caea2ba Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 13 Apr 2019 05:41:51 +0000 Date: Sat, 13 Apr 2019 05:41:51 +0000
Subject: [PATCH 01/36] LOCAL: set meson-gx cma pool to 896MB Subject: [PATCH 01/33] LOCAL: set meson-gx cma pool to 896MB
This change sets the CMA pool to a larger 896MB! value for vdec use This change sets the CMA pool to a larger 896MB! value for vdec use

View File

@ -1,7 +1,7 @@
From 289e538ffbb00ad95b8825ac42bc310809022a3f Mon Sep 17 00:00:00 2001 From 9aa18b4f2b73b028999f2ce89728e294f2debc78 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 14 Aug 2019 19:58:14 +0000 Date: Wed, 14 Aug 2019 19:58:14 +0000
Subject: [PATCH 02/36] LOCAL: set meson-g12 cma pool to 896MB Subject: [PATCH 02/33] LOCAL: set meson-g12 cma pool to 896MB
This change sets the CMA pool to a larger 896MB! value for vdec use This change sets the CMA pool to a larger 896MB! value for vdec use

View File

@ -1,7 +1,7 @@
From d4874464291f301cadc008da9dd592c12395ea17 Mon Sep 17 00:00:00 2001 From 8d06b6fbce75e0dba5467c8fd74ee90a07d4827e Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 13 Apr 2019 05:45:18 +0000 Date: Sat, 13 Apr 2019 05:45:18 +0000
Subject: [PATCH 03/36] LOCAL: arm64: fix Kodi sysinfo CPU information Subject: [PATCH 03/33] LOCAL: arm64: fix Kodi sysinfo CPU information
This allows the CPU information to show in the Kodi sysinfo screen, e.g. This allows the CPU information to show in the Kodi sysinfo screen, e.g.

View File

@ -1,7 +1,7 @@
From 0c5d37a5f6ad2281f71c66a8acffef2c2a67b6c2 Mon Sep 17 00:00:00 2001 From 8a00f12605bfd2696598a833fa1f9ae688a99393 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com> From: Neil Armstrong <narmstrong@baylibre.com>
Date: Thu, 3 Nov 2016 15:29:23 +0100 Date: Thu, 3 Nov 2016 15:29:23 +0100
Subject: [PATCH 04/36] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend Subject: [PATCH 04/33] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend
The Amlogic Meson GX SoCs uses a non-standard argument to the The Amlogic Meson GX SoCs uses a non-standard argument to the
PSCI CPU_SUSPEND call to enter system suspend. PSCI CPU_SUSPEND call to enter system suspend.

View File

@ -1,7 +1,7 @@
From 86ffbbed967edf0974ca3c242faaa3c38ceed7c3 Mon Sep 17 00:00:00 2001 From f506a68611749da1f4b1077d68c3fd70209f5860 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com> From: Neil Armstrong <narmstrong@baylibre.com>
Date: Thu, 3 Nov 2016 15:29:25 +0100 Date: Thu, 3 Nov 2016 15:29:25 +0100
Subject: [PATCH 05/36] LOCAL: arm64: dts: meson: add support for GX PM and Subject: [PATCH 05/33] LOCAL: arm64: dts: meson: add support for GX PM and
Virtual RTC Virtual RTC
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>

View File

@ -1,7 +1,7 @@
From 7ae256c16de158201ec34e0ec7bacc24d713c7af Mon Sep 17 00:00:00 2001 From f7b53f20f3a4e123abebb4ca1f18e80b50ae0243 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 21 Jan 2021 01:35:36 +0000 Date: Thu, 21 Jan 2021 01:35:36 +0000
Subject: [PATCH 06/36] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Subject: [PATCH 06/33] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Khadas VIM Khadas VIM
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1 Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1

View File

@ -1,7 +1,7 @@
From ba73f621cfb1ad3ce4cea6ecee4ed641bdb5e111 Mon Sep 17 00:00:00 2001 From 624dc7572e32231bad189e0b79b5f54f6c977fc7 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 6 Nov 2021 13:01:08 +0000 Date: Sat, 6 Nov 2021 13:01:08 +0000
Subject: [PATCH 07/36] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Subject: [PATCH 07/33] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Khadas VIM2 Khadas VIM2
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1 Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1

View File

@ -1,7 +1,7 @@
From 03f2673869392a11ec941acd4408a4bbcebff1db Mon Sep 17 00:00:00 2001 From 44820e5d97f27b5a829766320e3d161d4a0db8fb Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 1 Feb 2021 19:27:40 +0000 Date: Mon, 1 Feb 2021 19:27:40 +0000
Subject: [PATCH 08/36] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix Subject: [PATCH 08/33] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
NEO U9-H NEO U9-H
Add node aliases to prevent meson-vrtc from claiming /dev/rtc0 Add node aliases to prevent meson-vrtc from claiming /dev/rtc0

View File

@ -1,7 +1,7 @@
From 9097390dd2de048a9060d8161e3e63c3ef6fa60f Mon Sep 17 00:00:00 2001 From da0908efcb33f719f74e8571759de877fffa8520 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi> From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Sun, 17 Apr 2022 04:37:48 +0000 Date: Sun, 17 Apr 2022 04:37:48 +0000
Subject: [PATCH 09/36] LOCAL: ASoC: meson: assign internal PCM Subject: [PATCH 09/33] LOCAL: ASoC: meson: assign internal PCM
chmap/ELD/IEC958 kctls to device 0 chmap/ELD/IEC958 kctls to device 0
On SoC sound devices utilizing codec2codec DAI links with an HDMI codec the kctls On SoC sound devices utilizing codec2codec DAI links with an HDMI codec the kctls

View File

@ -1,7 +1,7 @@
From 918be36f2c344001714de256962c4b69a489056c Mon Sep 17 00:00:00 2001 From f9a06dc2af551e9c54c60b47262f7edadeceb023 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 5 Jan 2023 15:16:46 +0000 Date: Thu, 5 Jan 2023 15:16:46 +0000
Subject: [PATCH 10/36] LOCAL: media: meson: vdec: disable MPEG1/MPEG2 hardware Subject: [PATCH 10/33] LOCAL: media: meson: vdec: disable MPEG1/MPEG2 hardware
decoding decoding
The MPEG1/2 decoder is broken and nobody has volunteered to poke The MPEG1/2 decoder is broken and nobody has volunteered to poke

View File

@ -1,7 +1,7 @@
From 79ca58ba94a4aeee71f24fe055a573655e175899 Mon Sep 17 00:00:00 2001 From 7678776ab7b19cac0b232082deb01cee5a86f180 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se> From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 23 Dec 2018 02:24:38 +0100 Date: Sun, 23 Dec 2018 02:24:38 +0100
Subject: [PATCH 17/36] FROMLIST(v1): ASoC: hdmi-codec: reorder channel Subject: [PATCH 11/33] FROMGIT(6.13): ASoC: hdmi-codec: reorder channel
allocation list allocation list
Wrong channel allocation is selected by hdmi_codec_get_ch_alloc_table_idx(). Wrong channel allocation is selected by hdmi_codec_get_ch_alloc_table_idx().

View File

@ -1,7 +1,7 @@
From 58a6cec25fbb39f025c7e8cd975688e35112c607 Mon Sep 17 00:00:00 2001 From 19e7465b242ecc0c8cfaede20164295b6f660d34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de> From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Date: Sun, 20 Feb 2022 08:23:12 +0000 Date: Sun, 20 Feb 2022 08:23:12 +0000
Subject: [PATCH 11/36] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan Subject: [PATCH 12/33] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan
Micro Electronics Micro Electronics
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
@ -17,10 +17,10 @@ Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index b320a39de7fe..71fb54284813 100644 index fbfce9b4ae6b..92fb517e3f94 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1498,6 +1498,8 @@ patternProperties: @@ -1500,6 +1500,8 @@ patternProperties:
description: Texas Instruments description: Texas Instruments
"^tianma,.*": "^tianma,.*":
description: Tianma Micro-electronics Co., Ltd. description: Tianma Micro-electronics Co., Ltd.

View File

@ -1,7 +1,7 @@
From 0fe489a2679ea71eb7859f99a94c273869ba09a0 Mon Sep 17 00:00:00 2001 From e46deeed69482ec684815f3a531cb8ad251fe142 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com> From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sun, 20 Feb 2022 08:24:47 +0000 Date: Sun, 20 Feb 2022 08:24:47 +0000
Subject: [PATCH 12/36] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan Micro Subject: [PATCH 13/33] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan Micro
Electronics TM1628 Electronics TM1628
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8

View File

@ -1,7 +1,7 @@
From 9fc13ae236cc61c72f144259f3514ea192903e60 Mon Sep 17 00:00:00 2001 From 2a4d5208903d3665578367b6f7865a19f4e3f986 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com> From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sun, 20 Feb 2022 08:26:27 +0000 Date: Sun, 20 Feb 2022 08:26:27 +0000
Subject: [PATCH 13/36] FROMLIST(v5): docs: ABI: document tm1628 attribute Subject: [PATCH 14/33] FROMLIST(v5): docs: ABI: document tm1628 attribute
display-text display-text
Document the attribute for reading / writing the text to be displayed on Document the attribute for reading / writing the text to be displayed on

View File

@ -1,7 +1,7 @@
From dd7b8586cedf32119a3a4b4a52765b6191afd80c Mon Sep 17 00:00:00 2001 From c1711421b2572675ce9d5daae6ea74b553240599 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com> From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 4 Apr 2022 18:51:20 +0000 Date: Mon, 4 Apr 2022 18:51:20 +0000
Subject: [PATCH 14/36] FROMLIST(v5): auxdisplay: add support for Titanmec Subject: [PATCH 15/33] FROMLIST(v5): auxdisplay: add support for Titanmec
TM1628 7 segment display controller TM1628 7 segment display controller
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8

View File

@ -1,7 +1,7 @@
From 35862164f4c63a36e883477213603bcfc87ba0b1 Mon Sep 17 00:00:00 2001 From 02c3bfc2944b0e2d90390319c2da2a5ccfc30231 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com> From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 4 Apr 2022 18:52:34 +0000 Date: Mon, 4 Apr 2022 18:52:34 +0000
Subject: [PATCH 15/36] FROMLIST(v5): arm64: dts: meson-gxl-s905w-tx3-mini: add Subject: [PATCH 16/33] FROMLIST(v5): arm64: dts: meson-gxl-s905w-tx3-mini: add
support for the 7 segment display support for the 7 segment display
This patch adds support for the 7 segment display of the device. This patch adds support for the 7 segment display of the device.

View File

@ -1,7 +1,7 @@
From fbf9c7c1eac2bf9835e53c08083bdadd26fb88fe Mon Sep 17 00:00:00 2001 From 6a54c2089e7c40e29bcf7f0a916a6ac7fc476f6b Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com> From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 4 Apr 2022 18:53:32 +0000 Date: Mon, 4 Apr 2022 18:53:32 +0000
Subject: [PATCH 16/36] FROMLIST(v5): MAINTAINERS: Add entry for tm1628 Subject: [PATCH 17/33] FROMLIST(v5): MAINTAINERS: Add entry for tm1628
auxdisplay driver auxdisplay driver
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
@ -10,7 +10,7 @@ Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS
index b878ddc99f94..f919e8b59031 100644 index 6bb4ec0c162a..b5477689538a 100644
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -23342,6 +23342,13 @@ W: http://sourceforge.net/projects/tlan/ @@ -23342,6 +23342,13 @@ W: http://sourceforge.net/projects/tlan/

View File

@ -1,7 +1,7 @@
From f021d970c15f2788feaa671e8220244fee84e4ac Mon Sep 17 00:00:00 2001 From cdb6e254eb68d10a44fc95b6540f2cfe6f3d9773 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com> From: Neil Armstrong <narmstrong@baylibre.com>
Date: Mon, 22 Nov 2021 09:15:21 +0000 Date: Mon, 22 Nov 2021 09:15:21 +0000
Subject: [PATCH 18/36] FROMLIST(v1): media: meson: vdec: esparser: check Subject: [PATCH 18/33] FROMLIST(v1): media: meson: vdec: esparser: check
parsing state with hardware write pointer parsing state with hardware write pointer
Also check the hardware write pointer to check if ES Parser has stalled. Also check the hardware write pointer to check if ES Parser has stalled.

View File

@ -1,7 +1,7 @@
From 3e13f0b82b6caf37a09f20415eaf8c11d66b2ab3 Mon Sep 17 00:00:00 2001 From 8fb47151a82295fef3997194419d0b5eee5bbda2 Mon Sep 17 00:00:00 2001
From: Benjamin Roszak <benjamin545@gmail.com> From: Benjamin Roszak <benjamin545@gmail.com>
Date: Mon, 23 Jan 2023 10:56:46 +0000 Date: Mon, 23 Jan 2023 10:56:46 +0000
Subject: [PATCH 19/36] FROMLIST(v2): media: meson: vdec: implement 10bit Subject: [PATCH 19/33] FROMLIST(v2): media: meson: vdec: implement 10bit
bitstream handling bitstream handling
In order to support 10bit bitstream decoding, buffers and MMU In order to support 10bit bitstream decoding, buffers and MMU

View File

@ -1,7 +1,7 @@
From 4ee3045dcb983ae8128160ab43aa8e91e0ec036e Mon Sep 17 00:00:00 2001 From 3de3422522f8108586a64a6975035573aa25e854 Mon Sep 17 00:00:00 2001
From: Maxime Jourdan <mjourdan@baylibre.com> From: Maxime Jourdan <mjourdan@baylibre.com>
Date: Mon, 23 Jan 2023 11:07:04 +0000 Date: Mon, 23 Jan 2023 11:07:04 +0000
Subject: [PATCH 20/36] FROMLIST(v2): media: meson: vdec: add HEVC decode codec Subject: [PATCH 20/33] FROMLIST(v2): media: meson: vdec: add HEVC decode codec
Add initial HEVC codec for the Amlogic GXBB/GXL/GXM SoCs using Add initial HEVC codec for the Amlogic GXBB/GXL/GXM SoCs using
the common "HEVC" decoder driver. the common "HEVC" decoder driver.

View File

@ -1,7 +1,7 @@
From ee2125dfba99a2c318e18e5a543c161f1c28fbe2 Mon Sep 17 00:00:00 2001 From 56e84bec23b10cabde822270d302894606e4b713 Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com> From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sat, 23 Mar 2024 20:04:49 +0100 Date: Sat, 23 Mar 2024 20:04:49 +0100
Subject: [PATCH 21/36] FROMLIST(v1): iio: adc: meson: fix voltage reference Subject: [PATCH 21/33] FROMLIST(v1): iio: adc: meson: fix voltage reference
selection field name typo selection field name typo
The field should be called "vref_voltage", without a typo in the word The field should be called "vref_voltage", without a typo in the word

View File

@ -1,7 +1,7 @@
From 09a6c2226f02620606512467a4bbe021a4b27056 Mon Sep 17 00:00:00 2001 From c1aabff59ea22fa738468c6d6b27529486220a3f Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com> From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sat, 23 Mar 2024 20:30:02 +0100 Date: Sat, 23 Mar 2024 20:30:02 +0100
Subject: [PATCH 22/36] FROMLIST(v1): iio: adc: consistently use bool and enum Subject: [PATCH 22/33] FROMLIST(v1): iio: adc: consistently use bool and enum
in struct meson_sar_adc_param in struct meson_sar_adc_param
Consistently use bool for any register bit that enables/disables Consistently use bool for any register bit that enables/disables

View File

@ -1,7 +1,7 @@
From aae5755ab09bbd51bef50e01976151fb63e46e2b Mon Sep 17 00:00:00 2001 From 606148e3e5f9dde444493b5e4ba08875606f938c Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com> From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sat, 23 Mar 2024 20:35:58 +0100 Date: Sat, 23 Mar 2024 20:35:58 +0100
Subject: [PATCH 23/36] FROMLIST(v1): iio: adc: meson: simplify Subject: [PATCH 23/33] FROMLIST(v1): iio: adc: meson: simplify
MESON_SAR_ADC_REG11 register access MESON_SAR_ADC_REG11 register access
Simply check the max_register value to decide whether Simply check the max_register value to decide whether

View File

@ -1,7 +1,7 @@
From 9856dc8263e2a07c78f90b61383e1181d3c59fbd Mon Sep 17 00:00:00 2001 From 5e3029b2cb9d6ab605542073be21fa9800155dd4 Mon Sep 17 00:00:00 2001
From: Da Xue <da@libre.computer> From: Da Xue <da@libre.computer>
Date: Fri, 24 May 2024 15:17:37 +0000 Date: Fri, 24 May 2024 15:17:37 +0000
Subject: [PATCH 24/36] FROMLIST(v1): net: mdio: meson-gxl set 28th bit in Subject: [PATCH 24/33] FROMLIST(v1): net: mdio: meson-gxl set 28th bit in
eth_reg2 eth_reg2
This bit is necessary to enable packets on the interface. Without this This bit is necessary to enable packets on the interface. Without this

View File

@ -1,7 +1,7 @@
From da28daf44c2634a1af3fc1d25ba0650a44944cea Mon Sep 17 00:00:00 2001 From 2576e48d539b38b0bd7dcdde8d6fac41976d3162 Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com> From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sat, 23 Mar 2024 20:38:59 +0100 Date: Sat, 23 Mar 2024 20:38:59 +0100
Subject: [PATCH 25/36] FROMLIST(v1): dt-bindings: iio: adc: Subject: [PATCH 25/33] FROMLIST(v1): dt-bindings: iio: adc:
amlogic,meson-saradc: add GXLX SoC compatible amlogic,meson-saradc: add GXLX SoC compatible
Add support for the GXLX SoC. GXLX is very similar to GXL but has three Add support for the GXLX SoC. GXLX is very similar to GXL but has three

View File

@ -1,7 +1,7 @@
From 6cc6cb159d9268ad5e6a8943a8c6a2d0e716bee3 Mon Sep 17 00:00:00 2001 From 6533ea8356b2834ebeb5093cfd13110cb01e0609 Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com> From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sat, 23 Mar 2024 20:44:41 +0100 Date: Sat, 23 Mar 2024 20:44:41 +0100
Subject: [PATCH 26/36] FROMLIST(v1): iio: adc: meson: add support for the GXLX Subject: [PATCH 26/33] FROMLIST(v1): iio: adc: meson: add support for the GXLX
SoC SoC
The SARADC IP on GXLX is identical to the one found on GXL SoCs: except The SARADC IP on GXLX is identical to the one found on GXL SoCs: except

View File

@ -1,7 +1,7 @@
From e6a63f84d1e20b9949aff6d497dc8ae20b437247 Mon Sep 17 00:00:00 2001 From b3a3dbc7608b4e8c96879b2322889543951c0dfe Mon Sep 17 00:00:00 2001
From: Neil Armstrong <neil.armstrong@linaro.org> From: Neil Armstrong <neil.armstrong@linaro.org>
Date: Wed, 5 Jun 2024 11:15:11 +0200 Date: Wed, 5 Jun 2024 11:15:11 +0200
Subject: [PATCH 27/36] FROMLIST(v1): dt-bindings: usb: dwc2: allow device Subject: [PATCH 27/33] FROMLIST(v1): dt-bindings: usb: dwc2: allow device
sub-nodes sub-nodes
Allow the '#address-cells', '#size-cells' and subnodes as defined in Allow the '#address-cells', '#size-cells' and subnodes as defined in

View File

@ -0,0 +1,110 @@
From feec73f837332b144afb16d137b407192bf8b938 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 3 Jan 2024 03:14:06 +0000
Subject: [PATCH 28/33] FROMLIST(v1): arm64: dts: meson: drop broadcom
compatible from reference board SDIO nodes
Drop the Broadcom compatible and use a generic sdio identifier with the Amlogic
reference boards. This allows a wider range of Android STB devices with QCA9377
and RTL8189ES/FS chips to have working WiFi when booting from the reference dtb
files. There is no observed impact on Broadcom devices.
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi | 3 +--
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 3 +--
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts | 3 +--
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 3 +--
arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts | 3 +--
arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts | 3 +--
6 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
index 52d57773a77f..1736bd2e96e2 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
@@ -178,9 +178,8 @@ &sd_emmc_a {
vmmc-supply = <&vddao_3v3>;
vqmmc-supply = <&vddio_boot>;
- brcmf: wifi@1 {
+ sdio: wifi@1 {
reg = <1>;
- compatible = "brcm,bcm4329-fmac";
};
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
index c1470416faad..7dffeb5931c9 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
@@ -102,8 +102,7 @@ hdmi_tx_tmds_out: endpoint {
};
&sd_emmc_a {
- brcmf: wifi@1 {
+ sdio: wifi@1 {
reg = <1>;
- compatible = "brcm,bcm4329-fmac";
};
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
index 92c425d0259c..ff9145d49090 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
@@ -21,8 +21,7 @@ &ethmac {
};
&sd_emmc_a {
- brcmf: wifi@1 {
+ sdio: wifi@1 {
reg = <1>;
- compatible = "brcm,bcm4329-fmac";
};
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
index 7e7dc87ede2d..b52a830efcce 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
@@ -134,9 +134,8 @@ &sd_emmc_a {
vmmc-supply = <&vddao_3v3>;
vqmmc-supply = <&vddio_boot>;
- brcmf: wifi@1 {
+ sdio: wifi@1 {
reg = <1>;
- compatible = "brcm,bcm4329-fmac";
};
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
index d4858afa0e9c..feb31207773f 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
@@ -72,8 +72,7 @@ external_phy: ethernet-phy@0 {
};
&sd_emmc_a {
- brcmf: wifi@1 {
+ sdio: wifi@1 {
reg = <1>;
- compatible = "brcm,bcm4329-fmac";
};
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts
index d02b80d77378..6c8bec1853ac 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts
@@ -21,8 +21,7 @@ &ethmac {
};
&sd_emmc_a {
- brcmf: wifi@1 {
+ sdio: wifi@1 {
reg = <1>;
- compatible = "brcm,bcm4329-fmac";
};
};
--
2.34.1

View File

@ -1,128 +0,0 @@
From 93814374289368acf352b85a98abfa2cce7f94ca Mon Sep 17 00:00:00 2001
From: Chuan Liu <chuan.liu@amlogic.com>
Date: Mon, 11 Nov 2024 11:37:01 +0800
Subject: [PATCH 28/36] FROMLIST(v2): clk: Fix the CLK_IGNORE_UNUSED failure
issue
When the clk_disable_unused_subtree() function disables an unused clock,
if CLK_OPS_PARENT_ENABLE is configured on the clock,
clk_core_prepare_enable() and clk_core_disable_unprepare() are called
directly, and these two functions do not determine CLK_IGNORE_UNUSED,
This causes the clock to be disabled even if CLK_IGNORE_UNUSED is
configured when clk_core_disable_unprepare() is called.
Two new functions clk_disable_unprepare_unused() and
clk_prepare_enable_unused() are added to resolve the preceding
situation. The CLK_IGNORE_UNUSED judgment logic is added to these two
functions. To prevent clock configuration CLK_IGNORE_UNUSED from
possible failure.
Fixes: a4b3518d146f ("clk: core: support clocks which requires parents
enable (part 1)")
Signed-off-by: Chuan Liu <chuan.liu@amlogic.com>
---
drivers/clk/clk.c | 67 +++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 65 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index d02451f951cf..6def76c30ce6 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -94,6 +94,7 @@ struct clk_core {
struct hlist_node debug_node;
#endif
struct kref ref;
+ bool ignore_enabled;
};
#define CREATE_TRACE_POINTS
@@ -1479,6 +1480,68 @@ static void __init clk_unprepare_unused_subtree(struct clk_core *core)
}
}
+static void __init clk_disable_unprepare_unused(struct clk_core *core)
+{
+ unsigned long flags;
+
+ lockdep_assert_held(&prepare_lock);
+
+ if (!core)
+ return;
+
+ if ((core->enable_count == 0) && core->ops->disable &&
+ !core->ignore_enabled) {
+ flags = clk_enable_lock();
+ core->ops->disable(core->hw);
+ clk_enable_unlock(flags);
+ }
+
+ if ((core->prepare_count == 0) && core->ops->unprepare &&
+ !core->ignore_enabled)
+ core->ops->unprepare(core->hw);
+
+ core->ignore_enabled = false;
+
+ clk_disable_unprepare_unused(core->parent);
+}
+
+static int __init clk_prepare_enable_unused(struct clk_core *core)
+{
+ int ret = 0;
+ unsigned long flags;
+
+ lockdep_assert_held(&prepare_lock);
+
+ if (!core)
+ return 0;
+
+ ret = clk_prepare_enable_unused(core->parent);
+ if (ret)
+ return ret;
+
+ if ((core->flags & CLK_IGNORE_UNUSED) && clk_core_is_enabled(core))
+ core->ignore_enabled = true;
+
+ if ((core->prepare_count == 0) && core->ops->prepare) {
+ ret = core->ops->prepare(core->hw);
+ if (ret)
+ goto disable_unprepare;
+ }
+
+ if ((core->enable_count == 0) && core->ops->enable) {
+ flags = clk_enable_lock();
+ ret = core->ops->enable(core->hw);
+ clk_enable_unlock(flags);
+ if (ret)
+ goto disable_unprepare;
+ }
+
+ return 0;
+disable_unprepare:
+ clk_disable_unprepare_unused(core->parent);
+ return ret;
+}
+
static void __init clk_disable_unused_subtree(struct clk_core *core)
{
struct clk_core *child;
@@ -1490,7 +1553,7 @@ static void __init clk_disable_unused_subtree(struct clk_core *core)
clk_disable_unused_subtree(child);
if (core->flags & CLK_OPS_PARENT_ENABLE)
- clk_core_prepare_enable(core->parent);
+ clk_prepare_enable_unused(core->parent);
flags = clk_enable_lock();
@@ -1517,7 +1580,7 @@ static void __init clk_disable_unused_subtree(struct clk_core *core)
unlock_out:
clk_enable_unlock(flags);
if (core->flags & CLK_OPS_PARENT_ENABLE)
- clk_core_disable_unprepare(core->parent);
+ clk_disable_unprepare_unused(core->parent);
}
static bool clk_ignore_unused __initdata;
--
2.34.1

View File

@ -1,266 +0,0 @@
From 8039e002c8740fe1af9e979ed49f7262b9a774f3 Mon Sep 17 00:00:00 2001
From: Chuan Liu <chuan.liu@amlogic.com>
Date: Mon, 11 Nov 2024 11:37:02 +0800
Subject: [PATCH 29/36] FROMLIST(v2): clk: meson: Fix failure of glitch-free
mux switching
glitch-free mux has two clock channels (channel 0 and channel 1) with
the same configuration.Channel 0 of glitch-free mux is not only the
clock source for the mux, but also the working clock for glitch free
mux. Therefore, when glitch-free mux switches, it is necessary to ensure
that channel 0 has a clock input, otherwise glitch free mux will not
work and cannot switch to the target channel. So adding flag
CLK_OPS_PARENT_ENABLE ensures that both channels 0 and 1 are enabled
when mux switches.
In fact, we just need to make sure that channel 0 is enabled. The
purpose of CLK_OPS_PARENT_ENABLE may not be to solve our situation, but
adding this flag does solve our current problem.
Fixes: 84af914404db ("clk: meson: a1: add Amlogic A1 Peripherals clock
controller driver")
Fixes: 14ebb3154b8f ("clk: meson: axg: add Video Clocks")
Fixes: f06ac3ed04e8 ("clk: meson: c3: add c3 clock peripherals controller
driver")
Fixes: 085a4ea93d54 ("clk: meson: g12a: add peripheral clock controller")
Fixes: fac9a55b66c9 ("clk: meson-gxbb: Add MALI clocks")
Fixes: 74e1f2521f16 ("clk: meson: meson8b: add the GPU clock tree")
Fixes: 57b55c76aaf1 ("clk: meson: S4: add support for Amlogic S4 SoC
peripheral clock controller")
Signed-off-by: Chuan Liu <chuan.liu@amlogic.com>
---
drivers/clk/meson/a1-peripherals.c | 4 ++--
drivers/clk/meson/axg.c | 4 ++--
drivers/clk/meson/c3-peripherals.c | 2 +-
drivers/clk/meson/g12a.c | 6 +++---
drivers/clk/meson/gxbb.c | 6 +++---
drivers/clk/meson/meson8b.c | 21 ++++++++++++++++++---
drivers/clk/meson/s4-peripherals.c | 12 ++++++------
7 files changed, 35 insertions(+), 20 deletions(-)
diff --git a/drivers/clk/meson/a1-peripherals.c b/drivers/clk/meson/a1-peripherals.c
index 7aa6abb2eb1f..4b9686916b17 100644
--- a/drivers/clk/meson/a1-peripherals.c
+++ b/drivers/clk/meson/a1-peripherals.c
@@ -489,7 +489,7 @@ static struct clk_regmap dspa_sel = {
&dspa_b.hw,
},
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -635,7 +635,7 @@ static struct clk_regmap dspb_sel = {
&dspb_b.hw,
},
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
index 757c7a28c53d..6eb7b7a3fbf9 100644
--- a/drivers/clk/meson/axg.c
+++ b/drivers/clk/meson/axg.c
@@ -1150,7 +1150,7 @@ static struct clk_regmap axg_vpu = {
&axg_vpu_1.hw
},
.num_parents = 2,
- .flags = CLK_SET_RATE_NO_REPARENT,
+ .flags = CLK_SET_RATE_NO_REPARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -1266,7 +1266,7 @@ static struct clk_regmap axg_vapb_sel = {
&axg_vapb_1.hw
},
.num_parents = 2,
- .flags = CLK_SET_RATE_NO_REPARENT,
+ .flags = CLK_SET_RATE_NO_REPARENT | CLK_OPS_PARENT_ENABLE,
},
};
diff --git a/drivers/clk/meson/c3-peripherals.c b/drivers/clk/meson/c3-peripherals.c
index 7dcbf4ebee07..4566c2aeeb19 100644
--- a/drivers/clk/meson/c3-peripherals.c
+++ b/drivers/clk/meson/c3-peripherals.c
@@ -1431,7 +1431,7 @@ static struct clk_regmap hcodec = {
.ops = &clk_regmap_mux_ops,
.parent_data = hcodec_parent_data,
.num_parents = ARRAY_SIZE(hcodec_parent_data),
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
index 02dda57105b1..b156da5528bc 100644
--- a/drivers/clk/meson/g12a.c
+++ b/drivers/clk/meson/g12a.c
@@ -2818,7 +2818,7 @@ static struct clk_regmap g12a_vpu = {
&g12a_vpu_1.hw,
},
.num_parents = 2,
- .flags = CLK_SET_RATE_NO_REPARENT,
+ .flags = CLK_SET_RATE_NO_REPARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -3111,7 +3111,7 @@ static struct clk_regmap g12a_vapb_sel = {
&g12a_vapb_1.hw,
},
.num_parents = 2,
- .flags = CLK_SET_RATE_NO_REPARENT,
+ .flags = CLK_SET_RATE_NO_REPARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -4045,7 +4045,7 @@ static struct clk_regmap g12a_mali = {
.ops = &clk_regmap_mux_ops,
.parent_hws = g12a_mali_parent_hws,
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c
index f071faad1ebb..784cdb019140 100644
--- a/drivers/clk/meson/gxbb.c
+++ b/drivers/clk/meson/gxbb.c
@@ -1138,7 +1138,7 @@ static struct clk_regmap gxbb_mali = {
.ops = &clk_regmap_mux_ops,
.parent_hws = gxbb_mali_parent_hws,
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -1619,7 +1619,7 @@ static struct clk_regmap gxbb_vpu = {
&gxbb_vpu_1.hw
},
.num_parents = 2,
- .flags = CLK_SET_RATE_NO_REPARENT,
+ .flags = CLK_SET_RATE_NO_REPARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -1754,7 +1754,7 @@ static struct clk_regmap gxbb_vapb_sel = {
&gxbb_vapb_1.hw
},
.num_parents = 2,
- .flags = CLK_SET_RATE_NO_REPARENT,
+ .flags = CLK_SET_RATE_NO_REPARENT | CLK_OPS_PARENT_ENABLE,
},
};
diff --git a/drivers/clk/meson/meson8b.c b/drivers/clk/meson/meson8b.c
index b7417ac262d3..0a5b65e0247d 100644
--- a/drivers/clk/meson/meson8b.c
+++ b/drivers/clk/meson/meson8b.c
@@ -2002,7 +2002,22 @@ static struct clk_regmap meson8b_mali = {
&meson8b_mali_1.hw,
},
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ /*
+ * glitch-free mux has two clock channels (channel 0 and
+ * channel 1) with the same configuration.Channel 0 of
+ * glitch-free mux is not only the clock source for the mux,
+ * but also the working clock for glitch free mux. Therefore,
+ * when glitch-free mux switches, it is necessary to ensure that
+ * channel 0 has a clock input, otherwise glitch free mux will
+ * not work and cannot switch to the target channel. So adding
+ * flag CLK_OPS_PARENT_ENABLE ensures that both channels 0 and 1
+ * are enabled when mux switches.
+ *
+ * In fact, we just need to make sure that channel 0 is enabled.
+ * The purpose of CLK_OPS_PARENT_ENABLE may not be to solve our
+ * situation, but adding this flag does solve our current problem.
+ */
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -2257,7 +2272,7 @@ static struct clk_regmap meson8b_vpu = {
&meson8b_vpu_1.hw,
},
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -2369,7 +2384,7 @@ static struct clk_regmap meson8b_vdec_1 = {
&meson8b_vdec_1_2.hw,
},
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
diff --git a/drivers/clk/meson/s4-peripherals.c b/drivers/clk/meson/s4-peripherals.c
index c930cf0614a0..79e0240d58e6 100644
--- a/drivers/clk/meson/s4-peripherals.c
+++ b/drivers/clk/meson/s4-peripherals.c
@@ -1404,7 +1404,7 @@ static struct clk_regmap s4_mali_mux = {
.ops = &clk_regmap_mux_ops,
.parent_hws = s4_mali_parent_hws,
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -1536,7 +1536,7 @@ static struct clk_regmap s4_vdec_mux = {
.ops = &clk_regmap_mux_ops,
.parent_hws = s4_vdec_mux_parent_hws,
.num_parents = ARRAY_SIZE(s4_vdec_mux_parent_hws),
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -1656,7 +1656,7 @@ static struct clk_regmap s4_hevcf_mux = {
.ops = &clk_regmap_mux_ops,
.parent_hws = s4_hevcf_mux_parent_hws,
.num_parents = ARRAY_SIZE(s4_hevcf_mux_parent_hws),
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -1774,7 +1774,7 @@ static struct clk_regmap s4_vpu = {
&s4_vpu_1.hw,
},
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -1989,7 +1989,7 @@ static struct clk_regmap s4_vpu_clkc_mux = {
.ops = &clk_regmap_mux_ops,
.parent_hws = s4_vpu_mux_parent_hws,
.num_parents = ARRAY_SIZE(s4_vpu_mux_parent_hws),
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
@@ -2115,7 +2115,7 @@ static struct clk_regmap s4_vapb = {
&s4_vapb_1.hw
},
.num_parents = 2,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE,
},
};
--
2.34.1

View File

@ -1,7 +1,7 @@
From bba724597d7df40df949cd4ebbdb59aa488cd908 Mon Sep 17 00:00:00 2001 From 5f53272ee614cf73ecaf34a7e53ee3654cd7558e Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Tue, 4 Jun 2024 10:49:58 +0000 Date: Tue, 4 Jun 2024 10:49:58 +0000
Subject: [PATCH 32/36] WIP: media: meson: vdec: add HEVC and remove MPEG1/2 Subject: [PATCH 29/33] WIP: media: meson: vdec: add HEVC and remove MPEG1/2
from GXLX from GXLX
This patch is required until GXLX support has been merged upstream. This patch is required until GXLX support has been merged upstream.

View File

@ -1,323 +0,0 @@
From 1262d9d4663eb3dd10cc47dab815d2e8bd1815c1 Mon Sep 17 00:00:00 2001
From: Chuan Liu <chuan.liu@amlogic.com>
Date: Mon, 11 Nov 2024 11:37:03 +0800
Subject: [PATCH 30/36] FROMLIST(v2): clk: meson: Fix glitch occurs when
setting up glitch-free mux
glitch-free mux has two clock channels (channel 0 and channel 1) with
the same configuration. When the frequency needs to be changed, the two
channels ping-pong to ensure clock continuity and suppress glitch.
The glitch-free mux configuration with CLK_SET_RATE_GATE enables the mux
to perform ping-pong switching to suppress glitches.
Fixes: 84af914404db ("clk: meson: a1: add Amlogic A1 Peripherals clock
controller driver")
Fixes: 14ebb3154b8f ("clk: meson: axg: add Video Clocks")
Fixes: f06ac3ed04e8 ("clk: meson: c3: add c3 clock peripherals controller
driver")
Fixes: 085a4ea93d54 ("clk: meson: g12a: add peripheral clock controller")
Fixes: fac9a55b66c9 ("clk: meson-gxbb: Add MALI clocks")
Fixes: 57b55c76aaf1 ("clk: meson: S4: add support for Amlogic S4 SoC
peripheral clock controller")
Signed-off-by: Chuan Liu <chuan.liu@amlogic.com>
---
drivers/clk/meson/a1-peripherals.c | 8 ++++----
drivers/clk/meson/axg.c | 12 ++++++++----
drivers/clk/meson/c3-peripherals.c | 4 ++--
drivers/clk/meson/g12a.c | 12 ++++++++----
drivers/clk/meson/gxbb.c | 12 ++++++++----
drivers/clk/meson/s4-peripherals.c | 20 ++++++++++----------
6 files changed, 40 insertions(+), 28 deletions(-)
diff --git a/drivers/clk/meson/a1-peripherals.c b/drivers/clk/meson/a1-peripherals.c
index 4b9686916b17..7f515e002adb 100644
--- a/drivers/clk/meson/a1-peripherals.c
+++ b/drivers/clk/meson/a1-peripherals.c
@@ -423,7 +423,7 @@ static struct clk_regmap dspa_a = {
&dspa_a_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -471,7 +471,7 @@ static struct clk_regmap dspa_b = {
&dspa_b_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -569,7 +569,7 @@ static struct clk_regmap dspb_a = {
&dspb_a_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -617,7 +617,7 @@ static struct clk_regmap dspb_b = {
&dspb_b_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
index 6eb7b7a3fbf9..746a9b61a890 100644
--- a/drivers/clk/meson/axg.c
+++ b/drivers/clk/meson/axg.c
@@ -1083,7 +1083,8 @@ static struct clk_regmap axg_vpu_0 = {
* We want to avoid CCF to disable the VPU clock if
* display has been set by Bootloader
*/
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -1132,7 +1133,8 @@ static struct clk_regmap axg_vpu_1 = {
* We want to avoid CCF to disable the VPU clock if
* display has been set by Bootloader
*/
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -1200,7 +1202,8 @@ static struct clk_regmap axg_vapb_0 = {
&axg_vapb_0_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -1248,7 +1251,8 @@ static struct clk_regmap axg_vapb_1 = {
&axg_vapb_1_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
diff --git a/drivers/clk/meson/c3-peripherals.c b/drivers/clk/meson/c3-peripherals.c
index 4566c2aeeb19..27343a73a521 100644
--- a/drivers/clk/meson/c3-peripherals.c
+++ b/drivers/clk/meson/c3-peripherals.c
@@ -1364,7 +1364,7 @@ static struct clk_regmap hcodec_0 = {
&hcodec_0_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -1411,7 +1411,7 @@ static struct clk_regmap hcodec_1 = {
&hcodec_1_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
index b156da5528bc..625d991d60e8 100644
--- a/drivers/clk/meson/g12a.c
+++ b/drivers/clk/meson/g12a.c
@@ -2752,7 +2752,8 @@ static struct clk_regmap g12a_vpu_0 = {
.ops = &clk_regmap_gate_ops,
.parent_hws = (const struct clk_hw *[]) { &g12a_vpu_0_div.hw },
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -2796,7 +2797,8 @@ static struct clk_regmap g12a_vpu_1 = {
.ops = &clk_regmap_gate_ops,
.parent_hws = (const struct clk_hw *[]) { &g12a_vpu_1_div.hw },
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -3041,7 +3043,8 @@ static struct clk_regmap g12a_vapb_0 = {
&g12a_vapb_0_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -3089,7 +3092,8 @@ static struct clk_regmap g12a_vapb_1 = {
&g12a_vapb_1_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c
index 784cdb019140..21a5281b6233 100644
--- a/drivers/clk/meson/gxbb.c
+++ b/drivers/clk/meson/gxbb.c
@@ -1549,7 +1549,8 @@ static struct clk_regmap gxbb_vpu_0 = {
.ops = &clk_regmap_gate_ops,
.parent_hws = (const struct clk_hw *[]) { &gxbb_vpu_0_div.hw },
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -1597,7 +1598,8 @@ static struct clk_regmap gxbb_vpu_1 = {
.ops = &clk_regmap_gate_ops,
.parent_hws = (const struct clk_hw *[]) { &gxbb_vpu_1_div.hw },
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -1680,7 +1682,8 @@ static struct clk_regmap gxbb_vapb_0 = {
&gxbb_vapb_0_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
@@ -1732,7 +1735,8 @@ static struct clk_regmap gxbb_vapb_1 = {
&gxbb_vapb_1_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED |
+ CLK_SET_RATE_GATE,
},
};
diff --git a/drivers/clk/meson/s4-peripherals.c b/drivers/clk/meson/s4-peripherals.c
index 79e0240d58e6..cf10be40141d 100644
--- a/drivers/clk/meson/s4-peripherals.c
+++ b/drivers/clk/meson/s4-peripherals.c
@@ -1466,7 +1466,7 @@ static struct clk_regmap s4_vdec_p0 = {
&s4_vdec_p0_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -1516,7 +1516,7 @@ static struct clk_regmap s4_vdec_p1 = {
&s4_vdec_p1_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -1586,7 +1586,7 @@ static struct clk_regmap s4_hevcf_p0 = {
&s4_hevcf_p0_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -1636,7 +1636,7 @@ static struct clk_regmap s4_hevcf_p1 = {
&s4_hevcf_p1_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -1712,7 +1712,7 @@ static struct clk_regmap s4_vpu_0 = {
.ops = &clk_regmap_gate_ops,
.parent_hws = (const struct clk_hw *[]) { &s4_vpu_0_div.hw },
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -1756,7 +1756,7 @@ static struct clk_regmap s4_vpu_1 = {
.ops = &clk_regmap_gate_ops,
.parent_hws = (const struct clk_hw *[]) { &s4_vpu_1_div.hw },
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -1921,7 +1921,7 @@ static struct clk_regmap s4_vpu_clkc_p0 = {
&s4_vpu_clkc_p0_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -1969,7 +1969,7 @@ static struct clk_regmap s4_vpu_clkc_p1 = {
&s4_vpu_clkc_p1_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -2049,7 +2049,7 @@ static struct clk_regmap s4_vapb_0 = {
&s4_vapb_0_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
@@ -2097,7 +2097,7 @@ static struct clk_regmap s4_vapb_1 = {
&s4_vapb_1_div.hw
},
.num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
+ .flags = CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE,
},
};
--
2.34.1

View File

@ -1,7 +1,7 @@
From ad8f1bc66ac060d5a7061dc89d5df656f4d72d20 Mon Sep 17 00:00:00 2001 From 4d2be4c79a07f34759419a82e5939300d3a07725 Mon Sep 17 00:00:00 2001
From: Andreas Baierl <ichgeh@imkreisrum.de> From: Andreas Baierl <ichgeh@imkreisrum.de>
Date: Tue, 2 Apr 2024 14:22:52 +0000 Date: Tue, 2 Apr 2024 14:22:52 +0000
Subject: [PATCH 33/36] WIP: media: meson: vdec: reintroduce wiggle room Subject: [PATCH 30/33] WIP: media: meson: vdec: reintroduce wiggle room
Without the wiggle room, it happens that matching offsets can't be found. Without the wiggle room, it happens that matching offsets can't be found.
This results in non-matches and afterwards in frame drops in userspace apps. This results in non-matches and afterwards in frame drops in userspace apps.

View File

@ -1,372 +0,0 @@
From 42977c8edefd10406ccacb367c6a1ed0696579fe Mon Sep 17 00:00:00 2001
From: Chuan Liu <chuan.liu@amlogic.com>
Date: Mon, 11 Nov 2024 17:37:28 +0800
Subject: [PATCH 31/36] FROMLIST(v2): clk: meson: Fix children of ro_clk may be
tampered with
When setting the rate of a clock using clk_regmap_divider_ro_ops, the
rate of its children may be tampered with.
Fixes: 84af914404db ("clk: meson: a1: add Amlogic A1 Peripherals clock controller driver")
Fixes: 87173557d2f6 ("clk: meson: clk-pll: remove od parameters")
Fixes: 085a4ea93d54 ("clk: meson: g12a: add peripheral clock controller")
Fixes: 64aa7008e957 ("clk: meson: add a driver for the Meson8/8b/8m2 DDR clock controller")
Fixes: 57b55c76aaf1 ("clk: meson: S4: add support for Amlogic S4 SoC peripheral clock controller")
Fixes: e787c9c55eda ("clk: meson: S4: add support for Amlogic S4 SoC PLL clock driver")
Signed-off-by: Chuan Liu <chuan.liu@amlogic.com>
---
drivers/clk/meson/a1-peripherals.c | 2 ++
drivers/clk/meson/axg.c | 5 +++--
drivers/clk/meson/g12a.c | 23 ++++++++++++++---------
drivers/clk/meson/gxbb.c | 18 ++++++++++--------
drivers/clk/meson/meson8-ddr.c | 2 +-
drivers/clk/meson/meson8b.c | 4 +++-
drivers/clk/meson/s4-peripherals.c | 2 ++
drivers/clk/meson/s4-pll.c | 2 +-
8 files changed, 36 insertions(+), 22 deletions(-)
diff --git a/drivers/clk/meson/a1-peripherals.c b/drivers/clk/meson/a1-peripherals.c
index 7f515e002adb..3dfdeb4c579a 100644
--- a/drivers/clk/meson/a1-peripherals.c
+++ b/drivers/clk/meson/a1-peripherals.c
@@ -266,6 +266,7 @@ static struct clk_regmap sys_b_div = {
.offset = SYS_CLK_CTRL0,
.shift = 16,
.width = 10,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "sys_b_div",
@@ -314,6 +315,7 @@ static struct clk_regmap sys_a_div = {
.offset = SYS_CLK_CTRL0,
.shift = 0,
.width = 10,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "sys_a_div",
diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
index 746a9b61a890..ce9605e93b44 100644
--- a/drivers/clk/meson/axg.c
+++ b/drivers/clk/meson/axg.c
@@ -73,7 +73,7 @@ static struct clk_regmap axg_fixed_pll = {
.offset = HHI_MPLL_CNTL,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "fixed_pll",
@@ -132,7 +132,7 @@ static struct clk_regmap axg_sys_pll = {
.offset = HHI_SYS_PLL_CNTL,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "sys_pll",
@@ -473,6 +473,7 @@ static struct clk_regmap axg_mpll_prediv = {
.offset = HHI_MPLL_CNTL5,
.shift = 12,
.width = 1,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "mpll_prediv",
diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
index 625d991d60e8..5d03a02e7b79 100644
--- a/drivers/clk/meson/g12a.c
+++ b/drivers/clk/meson/g12a.c
@@ -78,7 +78,7 @@ static struct clk_regmap g12a_fixed_pll = {
.offset = HHI_FIX_PLL_CNTL0,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "fixed_pll",
@@ -445,6 +445,7 @@ static struct clk_regmap g12a_cpu_clk_mux1_div = {
.offset = HHI_SYS_CPU_CLK_CNTL0,
.shift = 20,
.width = 6,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "cpu_clk_dyn1_div",
@@ -629,6 +630,7 @@ static struct clk_regmap g12b_cpub_clk_mux1_div = {
.offset = HHI_SYS_CPUB_CLK_CNTL,
.shift = 20,
.width = 6,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "cpub_clk_dyn1_div",
@@ -748,6 +750,7 @@ static struct clk_regmap sm1_dsu_clk_mux0_div = {
.offset = HHI_SYS_CPU_CLK_CNTL5,
.shift = 4,
.width = 6,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "dsu_clk_dyn0_div",
@@ -783,6 +786,7 @@ static struct clk_regmap sm1_dsu_clk_mux1_div = {
.offset = HHI_SYS_CPU_CLK_CNTL5,
.shift = 20,
.width = 6,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "dsu_clk_dyn1_div",
@@ -1200,7 +1204,7 @@ static struct clk_regmap g12a_cpu_clk_apb_div = {
.offset = HHI_SYS_CPU_CLK_CNTL1,
.shift = 3,
.width = 3,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "cpu_clk_apb_div",
@@ -1234,7 +1238,7 @@ static struct clk_regmap g12a_cpu_clk_atb_div = {
.offset = HHI_SYS_CPU_CLK_CNTL1,
.shift = 6,
.width = 3,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "cpu_clk_atb_div",
@@ -1268,7 +1272,7 @@ static struct clk_regmap g12a_cpu_clk_axi_div = {
.offset = HHI_SYS_CPU_CLK_CNTL1,
.shift = 9,
.width = 3,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "cpu_clk_axi_div",
@@ -1302,7 +1306,7 @@ static struct clk_regmap g12a_cpu_clk_trace_div = {
.offset = HHI_SYS_CPU_CLK_CNTL1,
.shift = 20,
.width = 3,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "cpu_clk_trace_div",
@@ -1738,7 +1742,7 @@ static struct clk_regmap sm1_gp1_pll = {
.shift = 16,
.width = 3,
.flags = (CLK_DIVIDER_POWER_OF_TWO |
- CLK_DIVIDER_ROUND_CLOSEST),
+ CLK_DIVIDER_ROUND_CLOSEST | CLK_DIVIDER_READ_ONLY),
},
.hw.init = &(struct clk_init_data){
.name = "gp1_pll",
@@ -2001,7 +2005,7 @@ static struct clk_regmap g12a_hdmi_pll_od = {
.offset = HHI_HDMI_PLL_CNTL0,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll_od",
@@ -2019,7 +2023,7 @@ static struct clk_regmap g12a_hdmi_pll_od2 = {
.offset = HHI_HDMI_PLL_CNTL0,
.shift = 18,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll_od2",
@@ -2037,7 +2041,7 @@ static struct clk_regmap g12a_hdmi_pll = {
.offset = HHI_HDMI_PLL_CNTL0,
.shift = 20,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll",
@@ -4058,6 +4062,7 @@ static struct clk_regmap g12a_ts_div = {
.offset = HHI_TS_CLK_CNTL,
.shift = 0,
.width = 8,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "ts_div",
diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c
index 21a5281b6233..176123787ce1 100644
--- a/drivers/clk/meson/gxbb.c
+++ b/drivers/clk/meson/gxbb.c
@@ -133,7 +133,7 @@ static struct clk_regmap gxbb_fixed_pll = {
.offset = HHI_MPLL_CNTL,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "fixed_pll",
@@ -269,7 +269,7 @@ static struct clk_regmap gxbb_hdmi_pll_od = {
.offset = HHI_HDMI_PLL_CNTL2,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll_od",
@@ -287,7 +287,7 @@ static struct clk_regmap gxbb_hdmi_pll_od2 = {
.offset = HHI_HDMI_PLL_CNTL2,
.shift = 22,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll_od2",
@@ -305,7 +305,7 @@ static struct clk_regmap gxbb_hdmi_pll = {
.offset = HHI_HDMI_PLL_CNTL2,
.shift = 18,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll",
@@ -323,7 +323,7 @@ static struct clk_regmap gxl_hdmi_pll_od = {
.offset = HHI_HDMI_PLL_CNTL + 8,
.shift = 21,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll_od",
@@ -341,7 +341,7 @@ static struct clk_regmap gxl_hdmi_pll_od2 = {
.offset = HHI_HDMI_PLL_CNTL + 8,
.shift = 23,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll_od2",
@@ -359,7 +359,7 @@ static struct clk_regmap gxl_hdmi_pll = {
.offset = HHI_HDMI_PLL_CNTL + 8,
.shift = 19,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "hdmi_pll",
@@ -415,7 +415,7 @@ static struct clk_regmap gxbb_sys_pll = {
.offset = HHI_SYS_PLL_CNTL,
.shift = 10,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "sys_pll",
@@ -705,6 +705,7 @@ static struct clk_regmap gxbb_mpll_prediv = {
.offset = HHI_MPLL_CNTL5,
.shift = 12,
.width = 1,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "mpll_prediv",
@@ -917,6 +918,7 @@ static struct clk_regmap gxbb_mpeg_clk_div = {
.offset = HHI_MPEG_CLK_CNTL,
.shift = 0,
.width = 7,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "mpeg_clk_div",
diff --git a/drivers/clk/meson/meson8-ddr.c b/drivers/clk/meson/meson8-ddr.c
index 4b73ea244b63..950f323072fb 100644
--- a/drivers/clk/meson/meson8-ddr.c
+++ b/drivers/clk/meson/meson8-ddr.c
@@ -65,7 +65,7 @@ static struct clk_regmap meson8_ddr_pll = {
.offset = AM_DDR_PLL_CNTL,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "ddr_pll",
diff --git a/drivers/clk/meson/meson8b.c b/drivers/clk/meson/meson8b.c
index 0a5b65e0247d..9c38b3911c0a 100644
--- a/drivers/clk/meson/meson8b.c
+++ b/drivers/clk/meson/meson8b.c
@@ -106,7 +106,7 @@ static struct clk_regmap meson8b_fixed_pll = {
.offset = HHI_MPLL_CNTL,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "fixed_pll",
@@ -459,6 +459,7 @@ static struct clk_regmap meson8b_mpll_prediv = {
.offset = HHI_MPLL_CNTL5,
.shift = 12,
.width = 1,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "mpll_prediv",
@@ -640,6 +641,7 @@ static struct clk_regmap meson8b_mpeg_clk_div = {
.offset = HHI_MPEG_CLK_CNTL,
.shift = 0,
.width = 7,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "mpeg_clk_div",
diff --git a/drivers/clk/meson/s4-peripherals.c b/drivers/clk/meson/s4-peripherals.c
index cf10be40141d..d194d448b343 100644
--- a/drivers/clk/meson/s4-peripherals.c
+++ b/drivers/clk/meson/s4-peripherals.c
@@ -175,6 +175,7 @@ static struct clk_regmap s4_sysclk_b_div = {
.offset = CLKCTRL_SYS_CLK_CTRL0,
.shift = 16,
.width = 10,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "sysclk_b_div",
@@ -221,6 +222,7 @@ static struct clk_regmap s4_sysclk_a_div = {
.offset = CLKCTRL_SYS_CLK_CTRL0,
.shift = 0,
.width = 10,
+ .flags = CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "sysclk_a_div",
diff --git a/drivers/clk/meson/s4-pll.c b/drivers/clk/meson/s4-pll.c
index b0258933fb9d..bca5c92ea2c1 100644
--- a/drivers/clk/meson/s4-pll.c
+++ b/drivers/clk/meson/s4-pll.c
@@ -74,7 +74,7 @@ static struct clk_regmap s4_fixed_pll = {
.offset = ANACTRL_FIXPLL_CTRL0,
.shift = 16,
.width = 2,
- .flags = CLK_DIVIDER_POWER_OF_TWO,
+ .flags = CLK_DIVIDER_POWER_OF_TWO | CLK_DIVIDER_READ_ONLY,
},
.hw.init = &(struct clk_init_data){
.name = "fixed_pll",
--
2.34.1

View File

@ -1,7 +1,7 @@
From 87e7de5ee4abe0a0bc945332fb7648f807dc6f7c Mon Sep 17 00:00:00 2001 From 1308444793f1952c583f1ccd3e8c22a88e1b04f4 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Tue, 14 Mar 2023 01:13:15 +0000 Date: Tue, 14 Mar 2023 01:13:15 +0000
Subject: [PATCH 34/36] WIP: media: meson: vdec: fix memory leak of 'new_frame' Subject: [PATCH 31/33] WIP: media: meson: vdec: fix memory leak of 'new_frame'
Reported-by: kernel test robot <lkp@intel.com> Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com> Reported-by: Dan Carpenter <error27@gmail.com>

View File

@ -1,7 +1,7 @@
From f70aca0039b995753470bc49c6d76dc398c59cfa Mon Sep 17 00:00:00 2001 From dc557b41ff1fb30b13ac3e5fd5db8cbee9b523f6 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 7 Jul 2024 03:16:12 +0000 Date: Sun, 7 Jul 2024 03:16:12 +0000
Subject: [PATCH 35/36] Revert "drm/meson: vclk: fix calculation of 59.94 Subject: [PATCH 32/33] Revert "drm/meson: vclk: fix calculation of 59.94
fractional rates" fractional rates"
This reverts commit bfbc68e4d8695497f858a45a142665e22a512ea3. This reverts commit bfbc68e4d8695497f858a45a142665e22a512ea3.

View File

@ -1,7 +1,7 @@
From 8b81159bdd6fd11c553b40f19d8446129af344b4 Mon Sep 17 00:00:00 2001 From 0f870d373ada156952baab7390bdec859c43b98f Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com> From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sun, 26 May 2024 12:53:07 +0000 Date: Sun, 26 May 2024 12:53:07 +0000
Subject: [PATCH 36/36] WIP: arm64: dts: meson: add Odroid-C2 HiFi-Shield Subject: [PATCH 33/33] WIP: arm64: dts: meson: add Odroid-C2 HiFi-Shield
boards boards
Add experimental device-tree files for Odroid C2 with HiFi-Shield+ (pcm5102a) Add experimental device-tree files for Odroid C2 with HiFi-Shield+ (pcm5102a)

View File

@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm64 6.12.0 Kernel Configuration # Linux/arm64 6.12.3 Kernel Configuration
# #
CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnu-gcc-14.2.0 (GCC) 14.2.0" CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnu-gcc-14.2.0 (GCC) 14.2.0"
CONFIG_CC_IS_GCC=y CONFIG_CC_IS_GCC=y
@ -961,6 +961,7 @@ CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y CONFIG_ZONE_DMA32=y
CONFIG_VMAP_PFN=y
CONFIG_VM_EVENT_COUNTERS=y CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PERCPU_STATS is not set # CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set # CONFIG_GUP_TEST is not set
@ -1806,7 +1807,6 @@ CONFIG_BLK_DEV=y
CONFIG_CDROM=y CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_ZRAM is not set # CONFIG_ZRAM is not set
CONFIG_ZRAM_DEF_COMP="unset-value"
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
# CONFIG_BLK_DEV_DRBD is not set # CONFIG_BLK_DEV_DRBD is not set
@ -5187,7 +5187,6 @@ CONFIG_NINTENDO_FF=y
# CONFIG_HID_NTRIG is not set # CONFIG_HID_NTRIG is not set
# CONFIG_HID_NVIDIA_SHIELD is not set # CONFIG_HID_NVIDIA_SHIELD is not set
CONFIG_HID_ORTEK=y CONFIG_HID_ORTEK=y
CONFIG_HID_OUYA=y
CONFIG_HID_PANTHERLORD=y CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=y CONFIG_HID_PENMOUNT=y
@ -5975,6 +5974,7 @@ CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
CONFIG_FSL_ERRATUM_A008585=y CONFIG_FSL_ERRATUM_A008585=y
# CONFIG_HISILICON_ERRATUM_161010101 is not set # CONFIG_HISILICON_ERRATUM_161010101 is not set
CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_ERRATUM_858921=y
# CONFIG_ARM_TIMER_SP804 is not set
# end of Clock Source drivers # end of Clock Source drivers
CONFIG_MAILBOX=y CONFIG_MAILBOX=y
@ -7537,7 +7537,7 @@ CONFIG_XZ_DEC_ARM64=y
# CONFIG_XZ_DEC_SPARC is not set # CONFIG_XZ_DEC_SPARC is not set
# CONFIG_XZ_DEC_RISCV is not set # CONFIG_XZ_DEC_RISCV is not set
# CONFIG_XZ_DEC_MICROLZMA is not set # CONFIG_XZ_DEC_MICROLZMA is not set
# CONFIG_XZ_DEC_BCJ is not set CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set # CONFIG_XZ_DEC_TEST is not set
CONFIG_GENERIC_ALLOCATOR=y CONFIG_GENERIC_ALLOCATOR=y
CONFIG_XARRAY_MULTI=y CONFIG_XARRAY_MULTI=y