From fb7aef6633a58c8e70e7a6248793515c28b6a45d Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 1 Mar 2021 15:23:08 +0100 Subject: [PATCH] 5.10-stable patches added patches: drm-i915-reject-446-480mhz-hdmi-clock-on-glk.patch kgdb-fix-to-kill-breakpoints-on-initmem-after-boot.patch --- ...-reject-446-480mhz-hdmi-clock-on-glk.patch | 46 +++++++++++ ...ll-breakpoints-on-initmem-after-boot.patch | 82 +++++++++++++++++++ queue-5.10/series | 2 + 3 files changed, 130 insertions(+) create mode 100644 queue-5.10/drm-i915-reject-446-480mhz-hdmi-clock-on-glk.patch create mode 100644 queue-5.10/kgdb-fix-to-kill-breakpoints-on-initmem-after-boot.patch diff --git a/queue-5.10/drm-i915-reject-446-480mhz-hdmi-clock-on-glk.patch b/queue-5.10/drm-i915-reject-446-480mhz-hdmi-clock-on-glk.patch new file mode 100644 index 00000000000..4d0838a927e --- /dev/null +++ b/queue-5.10/drm-i915-reject-446-480mhz-hdmi-clock-on-glk.patch @@ -0,0 +1,46 @@ +From 7a6c6243b44a439bda4bf099032be35ebcf53406 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= +Date: Wed, 3 Feb 2021 11:30:44 +0200 +Subject: drm/i915: Reject 446-480MHz HDMI clock on GLK +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Ville Syrjälä + +commit 7a6c6243b44a439bda4bf099032be35ebcf53406 upstream. + +The BXT/GLK DPLL can't generate certain frequencies. We already +reject the 233-240MHz range on both. But on GLK the DPLL max +frequency was bumped from 300MHz to 594MHz, so now we get to +also worry about the 446-480MHz range (double the original +problem range). Reject any frequency within the higher +problematic range as well. + +Cc: stable@vger.kernel.org +Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3000 +Signed-off-by: Ville Syrjälä +Link: https://patchwork.freedesktop.org/patch/msgid/20210203093044.30532-1-ville.syrjala@linux.intel.com +Reviewed-by: Mika Kahola +(cherry picked from commit 41751b3e5c1ac656a86f8d45a8891115281b729e) +Signed-off-by: Rodrigo Vivi +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/i915/display/intel_hdmi.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/i915/display/intel_hdmi.c ++++ b/drivers/gpu/drm/i915/display/intel_hdmi.c +@@ -2216,7 +2216,11 @@ hdmi_port_clock_valid(struct intel_hdmi + has_hdmi_sink)) + return MODE_CLOCK_HIGH; + +- /* BXT DPLL can't generate 223-240 MHz */ ++ /* GLK DPLL can't generate 446-480 MHz */ ++ if (IS_GEMINILAKE(dev_priv) && clock > 446666 && clock < 480000) ++ return MODE_CLOCK_RANGE; ++ ++ /* BXT/GLK DPLL can't generate 223-240 MHz */ + if (IS_GEN9_LP(dev_priv) && clock > 223333 && clock < 240000) + return MODE_CLOCK_RANGE; + diff --git a/queue-5.10/kgdb-fix-to-kill-breakpoints-on-initmem-after-boot.patch b/queue-5.10/kgdb-fix-to-kill-breakpoints-on-initmem-after-boot.patch new file mode 100644 index 00000000000..78ab4c8744b --- /dev/null +++ b/queue-5.10/kgdb-fix-to-kill-breakpoints-on-initmem-after-boot.patch @@ -0,0 +1,82 @@ +From d54ce6158e354f5358a547b96299ecd7f3725393 Mon Sep 17 00:00:00 2001 +From: Sumit Garg +Date: Thu, 25 Feb 2021 17:22:38 -0800 +Subject: kgdb: fix to kill breakpoints on initmem after boot + +From: Sumit Garg + +commit d54ce6158e354f5358a547b96299ecd7f3725393 upstream. + +Currently breakpoints in kernel .init.text section are not handled +correctly while allowing to remove them even after corresponding pages +have been freed. + +Fix it via killing .init.text section breakpoints just prior to initmem +pages being freed. + +Doug: "HW breakpoints aren't handled by this patch but it's probably +not such a big deal". + +Link: https://lkml.kernel.org/r/20210224081652.587785-1-sumit.garg@linaro.org +Signed-off-by: Sumit Garg +Suggested-by: Doug Anderson +Acked-by: Doug Anderson +Acked-by: Daniel Thompson +Tested-by: Daniel Thompson +Cc: Masami Hiramatsu +Cc: Steven Rostedt (VMware) +Cc: Jason Wessel +Cc: Peter Zijlstra +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + include/linux/kgdb.h | 2 ++ + init/main.c | 1 + + kernel/debug/debug_core.c | 11 +++++++++++ + 3 files changed, 14 insertions(+) + +--- a/include/linux/kgdb.h ++++ b/include/linux/kgdb.h +@@ -360,9 +360,11 @@ extern atomic_t kgdb_active; + extern bool dbg_is_early; + extern void __init dbg_late_init(void); + extern void kgdb_panic(const char *msg); ++extern void kgdb_free_init_mem(void); + #else /* ! CONFIG_KGDB */ + #define in_dbg_master() (0) + #define dbg_late_init() + static inline void kgdb_panic(const char *msg) {} ++static inline void kgdb_free_init_mem(void) { } + #endif /* ! CONFIG_KGDB */ + #endif /* _KGDB_H_ */ +--- a/init/main.c ++++ b/init/main.c +@@ -1417,6 +1417,7 @@ static int __ref kernel_init(void *unuse + async_synchronize_full(); + kprobe_free_init_mem(); + ftrace_free_init_mem(); ++ kgdb_free_init_mem(); + free_initmem(); + mark_readonly(); + +--- a/kernel/debug/debug_core.c ++++ b/kernel/debug/debug_core.c +@@ -456,6 +456,17 @@ setundefined: + return 0; + } + ++void kgdb_free_init_mem(void) ++{ ++ int i; ++ ++ /* Clear init memory breakpoints. */ ++ for (i = 0; i < KGDB_MAX_BREAKPOINTS; i++) { ++ if (init_section_contains((void *)kgdb_break[i].bpt_addr, 0)) ++ kgdb_break[i].state = BP_UNDEFINED; ++ } ++} ++ + #ifdef CONFIG_KGDB_KDB + void kdb_dump_stack_on_cpu(int cpu) + { diff --git a/queue-5.10/series b/queue-5.10/series index 4ab5cb59c22..b20ed641980 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -652,3 +652,5 @@ dm-era-fix-bitset-memory-leaks.patch dm-era-use-correct-value-size-in-equality-function-of-writeset-tree.patch dm-era-reinitialize-bitset-cache-before-digesting-a-new-writeset.patch dm-era-only-resize-metadata-in-preresume.patch +drm-i915-reject-446-480mhz-hdmi-clock-on-glk.patch +kgdb-fix-to-kill-breakpoints-on-initmem-after-boot.patch -- 2.47.3