From: Greg Kroah-Hartman Date: Mon, 19 Nov 2018 14:49:25 +0000 (+0100) Subject: 4.4-stable patches X-Git-Tag: v4.19.3~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f14ddf95d5de225927a33cc3cd21da6377d59b9a;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: drm-dp_mst-check-if-primary-mstb-is-null.patch drm-i915-hdmi-add-hdmi-2.0-audio-clock-recovery-n-values.patch drm-rockchip-allow-driver-to-be-shutdown-on-reboot-kexec.patch --- diff --git a/queue-4.4/drm-dp_mst-check-if-primary-mstb-is-null.patch b/queue-4.4/drm-dp_mst-check-if-primary-mstb-is-null.patch new file mode 100644 index 00000000000..053334b112c --- /dev/null +++ b/queue-4.4/drm-dp_mst-check-if-primary-mstb-is-null.patch @@ -0,0 +1,48 @@ +From 23d8003907d094f77cf959228e2248d6db819fa7 Mon Sep 17 00:00:00 2001 +From: Stanislav Lisovskiy +Date: Fri, 9 Nov 2018 11:00:12 +0200 +Subject: drm/dp_mst: Check if primary mstb is null + +From: Stanislav Lisovskiy + +commit 23d8003907d094f77cf959228e2248d6db819fa7 upstream. + +Unfortunately drm_dp_get_mst_branch_device which is called from both +drm_dp_mst_handle_down_rep and drm_dp_mst_handle_up_rep seem to rely +on that mgr->mst_primary is not NULL, which seem to be wrong as it can be +cleared with simultaneous mode set, if probing fails or in other case. +mgr->lock mutex doesn't protect against that as it might just get +assigned to NULL right before, not simultaneously. + +There are currently bugs 107738, 108616 bugs which crash in +drm_dp_get_mst_branch_device, caused by this issue. + +v2: Refactored the code, as it was nicely noticed. + Fixed Bugzilla bug numbers(second was 108616, but not 108816) + and added links. + +[changed title and added stable cc] +Signed-off-by: Lyude Paul +Signed-off-by: Stanislav Lisovskiy +Cc: stable@vger.kernel.org +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108616 +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107738 +Link: https://patchwork.freedesktop.org/patch/msgid/20181109090012.24438-1-stanislav.lisovskiy@intel.com +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/drm_dp_mst_topology.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/gpu/drm/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/drm_dp_mst_topology.c +@@ -1225,6 +1225,9 @@ static struct drm_dp_mst_branch *drm_dp_ + mutex_lock(&mgr->lock); + mstb = mgr->mst_primary; + ++ if (!mstb) ++ goto out; ++ + for (i = 0; i < lct - 1; i++) { + int shift = (i % 2) ? 0 : 4; + int port_num = (rad[i / 2] >> shift) & 0xf; diff --git a/queue-4.4/drm-i915-hdmi-add-hdmi-2.0-audio-clock-recovery-n-values.patch b/queue-4.4/drm-i915-hdmi-add-hdmi-2.0-audio-clock-recovery-n-values.patch new file mode 100644 index 00000000000..48106013d24 --- /dev/null +++ b/queue-4.4/drm-i915-hdmi-add-hdmi-2.0-audio-clock-recovery-n-values.patch @@ -0,0 +1,60 @@ +From 6503493145cba4413ecd3d4d153faeef4a1e9b85 Mon Sep 17 00:00:00 2001 +From: Clint Taylor +Date: Thu, 25 Oct 2018 11:52:00 -0700 +Subject: drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values + +From: Clint Taylor + +commit 6503493145cba4413ecd3d4d153faeef4a1e9b85 upstream. + +HDMI 2.0 594Mhz modes were incorrectly selecting 25.200Mhz Automatic N value +mode instead of HDMI specification values. + +V2: Fix 88.2 Hz N value + +Cc: Jani Nikula +Cc: stable@vger.kernel.org +Signed-off-by: Clint Taylor +Signed-off-by: Jani Nikula +Link: https://patchwork.freedesktop.org/patch/msgid/1540493521-1746-2-git-send-email-clinton.a.taylor@intel.com +(cherry picked from commit 5a400aa3c562c4a726b4da286e63c96db905ade1) +Signed-off-by: Joonas Lahtinen +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/i915/intel_audio.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +--- a/drivers/gpu/drm/i915/intel_audio.c ++++ b/drivers/gpu/drm/i915/intel_audio.c +@@ -76,6 +76,9 @@ static const struct { + /* HDMI N/CTS table */ + #define TMDS_297M 297000 + #define TMDS_296M 296703 ++#define TMDS_594M 594000 ++#define TMDS_593M 593407 ++ + static const struct { + int sample_rate; + int clock; +@@ -96,6 +99,20 @@ static const struct { + { 176400, TMDS_297M, 18816, 247500 }, + { 192000, TMDS_296M, 23296, 281250 }, + { 192000, TMDS_297M, 20480, 247500 }, ++ { 44100, TMDS_593M, 8918, 937500 }, ++ { 44100, TMDS_594M, 9408, 990000 }, ++ { 48000, TMDS_593M, 5824, 562500 }, ++ { 48000, TMDS_594M, 6144, 594000 }, ++ { 32000, TMDS_593M, 5824, 843750 }, ++ { 32000, TMDS_594M, 3072, 445500 }, ++ { 88200, TMDS_593M, 17836, 937500 }, ++ { 88200, TMDS_594M, 18816, 990000 }, ++ { 96000, TMDS_593M, 11648, 562500 }, ++ { 96000, TMDS_594M, 12288, 594000 }, ++ { 176400, TMDS_593M, 35672, 937500 }, ++ { 176400, TMDS_594M, 37632, 990000 }, ++ { 192000, TMDS_593M, 23296, 562500 }, ++ { 192000, TMDS_594M, 24576, 594000 }, + }; + + /* get AUD_CONFIG_PIXEL_CLOCK_HDMI_* value for mode */ diff --git a/queue-4.4/drm-rockchip-allow-driver-to-be-shutdown-on-reboot-kexec.patch b/queue-4.4/drm-rockchip-allow-driver-to-be-shutdown-on-reboot-kexec.patch new file mode 100644 index 00000000000..49431677214 --- /dev/null +++ b/queue-4.4/drm-rockchip-allow-driver-to-be-shutdown-on-reboot-kexec.patch @@ -0,0 +1,54 @@ +From 7f3ef5dedb146e3d5063b6845781ad1bb59b92b5 Mon Sep 17 00:00:00 2001 +From: Marc Zyngier +Date: Sun, 5 Aug 2018 13:48:07 +0100 +Subject: drm/rockchip: Allow driver to be shutdown on reboot/kexec + +From: Marc Zyngier + +commit 7f3ef5dedb146e3d5063b6845781ad1bb59b92b5 upstream. + +Leaving the DRM driver enabled on reboot or kexec has the annoying +effect of leaving the display generating transactions whilst the +IOMMU has been shut down. + +In turn, the IOMMU driver (which shares its interrupt line with +the VOP) starts warning either on shutdown or when entering the +secondary kernel in the kexec case (nothing is expected on that +front). + +A cheap way of ensuring that things are nicely shut down is to +register a shutdown callback in the platform driver. + +Signed-off-by: Marc Zyngier +Tested-by: Vicente Bergas +Signed-off-by: Heiko Stuebner +Link: https://patchwork.freedesktop.org/patch/msgid/20180805124807.18169-1-marc.zyngier@arm.com +Cc: stable@vger.kernel.org +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c ++++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +@@ -547,6 +547,11 @@ static int rockchip_drm_platform_remove( + return 0; + } + ++static void rockchip_drm_platform_shutdown(struct platform_device *pdev) ++{ ++ rockchip_drm_platform_remove(pdev); ++} ++ + static const struct of_device_id rockchip_drm_dt_ids[] = { + { .compatible = "rockchip,display-subsystem", }, + { /* sentinel */ }, +@@ -556,6 +561,7 @@ MODULE_DEVICE_TABLE(of, rockchip_drm_dt_ + static struct platform_driver rockchip_drm_platform_driver = { + .probe = rockchip_drm_platform_probe, + .remove = rockchip_drm_platform_remove, ++ .shutdown = rockchip_drm_platform_shutdown, + .driver = { + .name = "rockchip-drm", + .of_match_table = rockchip_drm_dt_ids, diff --git a/queue-4.4/series b/queue-4.4/series index 08168b61601..6c7c119bdd8 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -155,3 +155,6 @@ fuse-fix-leaked-notify-reply.patch configfs-replace-strncpy-with-memcpy.patch hugetlbfs-fix-kernel-bug-at-fs-hugetlbfs-inode.c-444.patch mm-migration-fix-migration-of-huge-pmd-shared-pages.patch +drm-rockchip-allow-driver-to-be-shutdown-on-reboot-kexec.patch +drm-dp_mst-check-if-primary-mstb-is-null.patch +drm-i915-hdmi-add-hdmi-2.0-audio-clock-recovery-n-values.patch