kernel-5.19.16-201
* 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>
This commit is contained in:
parent
d02e371a0e
commit
8b5f585e9c
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -124,13 +124,13 @@ Summary: The Linux kernel
|
||||
# define buildid .local
|
||||
%define specversion 5.19.16
|
||||
%define patchversion 5.19
|
||||
%define pkgrelease 200
|
||||
%define pkgrelease 201
|
||||
%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 200%{?buildid}%{?dist}
|
||||
%define specrelease 201%{?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
|
||||
|
@ -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
|
||||
|
4
sources
4
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (linux-5.19.16.tar.xz) = 47163cd1429a09077134de1bc7f9e6fa3462a030a127a9d8f5268e9ecd1c26894e3edfeb002fff01fdc008a3c61d333d272d6a0d73df5528bc15079e3f93a993
|
||||
SHA512 (kernel-abi-stablelists-5.19.16.tar.bz2) = f8cd7fc9fb8284aa99bb2e00435d0d262f6f6da784e0dea87441d35be93b888e78704188ed2625b74ffe76d995dcaef203d882a7335016df25109fcc18a2dc19
|
||||
SHA512 (kernel-kabi-dw-5.19.16.tar.bz2) = 497dbd372c3c0a66f12c9a506b0e6e66f40ed7822891f20c554f345a7538f4cb44f8d0911e69c06d918707b99c4aae0c110d485b16ce36adc0e2535fc0b9167e
|
||||
SHA512 (kernel-abi-stablelists-5.19.16.tar.bz2) = 92259ef6e9b72d76eca69d780be746585177f84140125ef9fce1e4d8e6b22964d0e5fc6149fdf98a659f8011f8283687cff7dc2154e5fa11db472d7cde7c6f7f
|
||||
SHA512 (kernel-kabi-dw-5.19.16.tar.bz2) = e649054eca21dd03263304df8b17c30a7f86bd546e516d8371569905cb36648cf35cb24d05d36c20f6806580892200bf5f0254dd8d3bae9dee9b3ad57f2fd462
|
||||
|
Loading…
Reference in New Issue
Block a user