summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin M. Forbes <jforbes@fedoraproject.org>2022-10-21 10:21:15 -0500
committerJustin M. Forbes <jforbes@fedoraproject.org>2022-10-21 10:21:15 -0500
commit5110de1bf77af2a3d620f255c7136ca8367adef4 (patch)
treeac42ac06339fa8067f9ae552ad5503a1274e6523
parentf1d27881d052d6d9be294e6a767f516964d556fc (diff)
downloadkernel-5110de1bf77af2a3d620f255c7136ca8367adef4.tar.gz
kernel-5110de1bf77af2a3d620f255c7136ca8367adef4.tar.xz
kernel-5110de1bf77af2a3d620f255c7136ca8367adef4.zip
kernel-5.19.16-101
* Fri Oct 21 2022 Justin M. Forbes <jforbes@fedoraproject.org> [5.19.16-1] - Bump for build (Justin M. Forbes) - drm/vc4: hdmi: Fix HSM clock too low on Pi4 (maxime@cerno.tech) Resolves: Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
-rw-r--r--Makefile.rhelver2
-rw-r--r--Patchlist.changelog3
-rwxr-xr-xkernel.spec8
-rw-r--r--patch-5.19-redhat.patch75
-rw-r--r--sources4
5 files changed, 76 insertions, 16 deletions
diff --git a/Makefile.rhelver b/Makefile.rhelver
index bedf1e208..aa2689307 100644
--- a/Makefile.rhelver
+++ b/Makefile.rhelver
@@ -12,7 +12,7 @@ RHEL_MINOR = 99
#
# Use this spot to avoid future merge conflicts.
# Do not trim this comment.
-RHEL_RELEASE = 0
+RHEL_RELEASE = 1
#
# ZSTREAM
diff --git a/Patchlist.changelog b/Patchlist.changelog
index f135fb331..b02c60146 100644
--- a/Patchlist.changelog
+++ b/Patchlist.changelog
@@ -1,3 +1,6 @@
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/382edc42e3e53cfc18b9a47f4d2f8ed8355804a3
+ 382edc42e3e53cfc18b9a47f4d2f8ed8355804a3 drm/vc4: hdmi: Fix HSM clock too low on Pi4
+
"https://gitlab.com/cki-project/kernel-ark/-/commit"/b7ac3893a05dddcf85e47e0f9fc3868bb80cba8e
b7ac3893a05dddcf85e47e0f9fc3868bb80cba8e mctp: prevent double key removal and unref
diff --git a/kernel.spec b/kernel.spec
index 18a41fa23..94a1af51e 100755
--- a/kernel.spec
+++ b/kernel.spec
@@ -124,13 +124,13 @@ Summary: The Linux kernel
# define buildid .local
%define specversion 5.19.16
%define patchversion 5.19
-%define pkgrelease 100
+%define pkgrelease 101
%define kversion 5
%define tarfile_release 5.19.16
# This is needed to do merge window version magic
%define patchlevel 19
# This allows pkg_release to have configurable %%{?dist} tag
-%define specrelease 100%{?buildid}%{?dist}
+%define specrelease 101%{?buildid}%{?dist}
# This defines the kabi tarball version
%define kabiversion 5.19.16
@@ -3138,6 +3138,10 @@ fi
#
#
%changelog
+* Fri Oct 21 2022 Justin M. Forbes <jforbes@fedoraproject.org> [5.19.16-1]
+- Bump for build (Justin M. Forbes)
+- drm/vc4: hdmi: Fix HSM clock too low on Pi4 (maxime@cerno.tech)
+
* Sat Oct 15 2022 Justin M. Forbes <jforbes@fedoraproject.org> [5.19.16-0]
- Reset build for version bump (Justin M. Forbes)
- Linux v5.19.16
diff --git a/patch-5.19-redhat.patch b/patch-5.19-redhat.patch
index 3a8675f90..86d7979c4 100644
--- a/patch-5.19-redhat.patch
+++ b/patch-5.19-redhat.patch
@@ -33,7 +33,8 @@
drivers/gpu/drm/v3d/v3d_debugfs.c | 18 +-
drivers/gpu/drm/v3d/v3d_drv.c | 12 +-
drivers/gpu/drm/v3d/v3d_gem.c | 12 +-
- drivers/gpu/drm/vc4/vc4_hdmi.c | 29 +
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 46 +-
+ drivers/gpu/drm/vc4/vc4_hdmi.h | 1 +
drivers/hid/hid-rmi.c | 64 --
drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 +
drivers/input/rmi4/rmi_driver.c | 124 +--
@@ -65,7 +66,7 @@
security/lockdown/lockdown.c | 1 +
security/security.c | 6 +
tools/testing/selftests/net/fib_nexthops.sh | 5 +
- 67 files changed, 1823 insertions(+), 356 deletions(-)
+ 68 files changed, 1839 insertions(+), 358 deletions(-)
diff --git a/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml b/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
index e6485f7b046f..217c42874f41 100644
@@ -1301,29 +1302,69 @@ index 2352e9640922..725a252e837b 100644
kfree(*container);
*container = NULL;
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
-index 199bc398817f..eb3aaaca2b80 100644
+index 199bc398817f..3519b0c23d3b 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -2889,12 +2889,37 @@ static int vc4_hdmi_runtime_resume(struct device *dev)
+@@ -2732,9 +2732,16 @@ static int vc4_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi)
+ DRM_ERROR("Failed to get HDMI state machine clock\n");
+ return PTR_ERR(vc4_hdmi->hsm_clock);
+ }
++
+ vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock;
+ vc4_hdmi->cec_clock = vc4_hdmi->hsm_clock;
+
++ vc4_hdmi->hsm_rpm_clock = devm_clk_get(dev, "hdmi");
++ if (IS_ERR(vc4_hdmi->hsm_rpm_clock)) {
++ DRM_ERROR("Failed to get HDMI state machine clock\n");
++ return PTR_ERR(vc4_hdmi->hsm_rpm_clock);
++ }
++
+ return 0;
+ }
+
+@@ -2816,6 +2823,12 @@ static int vc5_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi)
+ return PTR_ERR(vc4_hdmi->hsm_clock);
+ }
+
++ vc4_hdmi->hsm_rpm_clock = devm_clk_get(dev, "hdmi");
++ if (IS_ERR(vc4_hdmi->hsm_rpm_clock)) {
++ DRM_ERROR("Failed to get HDMI state machine clock\n");
++ return PTR_ERR(vc4_hdmi->hsm_rpm_clock);
++ }
++
+ vc4_hdmi->pixel_bvb_clock = devm_clk_get(dev, "bvb");
+ if (IS_ERR(vc4_hdmi->pixel_bvb_clock)) {
+ DRM_ERROR("Failed to get pixel bvb clock\n");
+@@ -2879,7 +2892,7 @@ static int vc4_hdmi_runtime_suspend(struct device *dev)
+ {
+ struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
+
+- clk_disable_unprepare(vc4_hdmi->hsm_clock);
++ clk_disable_unprepare(vc4_hdmi->hsm_rpm_clock);
+
+ return 0;
+ }
+@@ -2889,12 +2902,37 @@ static int vc4_hdmi_runtime_resume(struct device *dev)
struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
unsigned long __maybe_unused flags;
u32 __maybe_unused value;
+ unsigned long rate;
int ret;
+- ret = clk_prepare_enable(vc4_hdmi->hsm_clock);
+ /*
+ * The HSM clock is in the HDMI power domain, so we need to set
+ * its frequency while the power domain is active so that it
+ * keeps its rate.
+ */
-+ ret = clk_set_min_rate(vc4_hdmi->hsm_clock, HSM_MIN_CLOCK_FREQ);
-+ if (ret)
-+ return ret;
-+
- ret = clk_prepare_enable(vc4_hdmi->hsm_clock);
++ ret = clk_set_min_rate(vc4_hdmi->hsm_rpm_clock, HSM_MIN_CLOCK_FREQ);
if (ret)
return ret;
++ ret = clk_prepare_enable(vc4_hdmi->hsm_rpm_clock);
++ if (ret)
++ return ret;
++
+ /*
+ * Whenever the RaspberryPi boots without an HDMI monitor
+ * plugged in, the firmware won't have initialized the HSM clock
@@ -1333,7 +1374,7 @@ index 199bc398817f..eb3aaaca2b80 100644
+ * case, it will lead to a silent CPU stall. Let's make sure we
+ * prevent such a case.
+ */
-+ rate = clk_get_rate(vc4_hdmi->hsm_clock);
++ rate = clk_get_rate(vc4_hdmi->hsm_rpm_clock);
+ if (!rate) {
+ ret = -EINVAL;
+ goto err_disable_clk;
@@ -1342,7 +1383,7 @@ index 199bc398817f..eb3aaaca2b80 100644
if (vc4_hdmi->variant->reset)
vc4_hdmi->variant->reset(vc4_hdmi);
-@@ -2916,6 +2941,10 @@ static int vc4_hdmi_runtime_resume(struct device *dev)
+@@ -2916,6 +2954,10 @@ static int vc4_hdmi_runtime_resume(struct device *dev)
#endif
return 0;
@@ -1353,6 +1394,18 @@ index 199bc398817f..eb3aaaca2b80 100644
}
static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
+diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h
+index 1520387b317f..fbc0a55f18e1 100644
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.h
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h
+@@ -171,6 +171,7 @@ struct vc4_hdmi {
+ struct clk *cec_clock;
+ struct clk *pixel_clock;
+ struct clk *hsm_clock;
++ struct clk *hsm_rpm_clock;
+ struct clk *audio_clock;
+ struct clk *pixel_bvb_clock;
+
diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
index 311eee599ce9..2460c6bd46f8 100644
--- a/drivers/hid/hid-rmi.c
diff --git a/sources b/sources
index 5ed6bd926..d4a8bb4d6 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (linux-5.19.16.tar.xz) = 47163cd1429a09077134de1bc7f9e6fa3462a030a127a9d8f5268e9ecd1c26894e3edfeb002fff01fdc008a3c61d333d272d6a0d73df5528bc15079e3f93a993
-SHA512 (kernel-abi-stablelists-5.19.16.tar.bz2) = 2053036956bb39cb72f60e4aae9575a948ce0dac0585973bed78f20d59ffb97bda0f90db7b12ac950d7521cdc42fcfc2cd54fa5d734ff6863e9f28e1c725db11
-SHA512 (kernel-kabi-dw-5.19.16.tar.bz2) = 497dbd372c3c0a66f12c9a506b0e6e66f40ed7822891f20c554f345a7538f4cb44f8d0911e69c06d918707b99c4aae0c110d485b16ce36adc0e2535fc0b9167e
+SHA512 (kernel-abi-stablelists-5.19.16.tar.bz2) = a8b1d3439b781f72257c65b7812aff563e08949efdecf987aae461fa5e3983d97584c14a96b3ac493c6b2cde38822755b829a99cf49338cf7a8cf89076ff73cf
+SHA512 (kernel-kabi-dw-5.19.16.tar.bz2) = e649054eca21dd03263304df8b17c30a7f86bd546e516d8371569905cb36648cf35cb24d05d36c20f6806580892200bf5f0254dd8d3bae9dee9b3ad57f2fd462