From 36d6e7ed864a16b62d44f1a7d7c751a533b97bd1 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 23 Jan 2014 10:17:29 -0800 Subject: [PATCH] 3.10-stable patches added patches: arm-7938-1-omap4-highbank-flush-l2-cache-before-disabling.patch drm-i915-don-t-grab-crtc-mutexes-in-intel_modeset_gem_init.patch --- ...bank-flush-l2-cache-before-disabling.patch | 51 +++++++++++++++++++ ...tc-mutexes-in-intel_modeset_gem_init.patch | 51 +++++++++++++++++++ queue-3.10/series | 2 + 3 files changed, 104 insertions(+) create mode 100644 queue-3.10/arm-7938-1-omap4-highbank-flush-l2-cache-before-disabling.patch create mode 100644 queue-3.10/drm-i915-don-t-grab-crtc-mutexes-in-intel_modeset_gem_init.patch diff --git a/queue-3.10/arm-7938-1-omap4-highbank-flush-l2-cache-before-disabling.patch b/queue-3.10/arm-7938-1-omap4-highbank-flush-l2-cache-before-disabling.patch new file mode 100644 index 00000000000..0e76c85acba --- /dev/null +++ b/queue-3.10/arm-7938-1-omap4-highbank-flush-l2-cache-before-disabling.patch @@ -0,0 +1,51 @@ +From b25f3e1c358434bf850220e04f28eebfc45eb634 Mon Sep 17 00:00:00 2001 +From: Taras Kondratiuk +Date: Fri, 10 Jan 2014 01:27:08 +0100 +Subject: ARM: 7938/1: OMAP4/highbank: Flush L2 cache before disabling + +From: Taras Kondratiuk + +commit b25f3e1c358434bf850220e04f28eebfc45eb634 upstream. + +Kexec disables outer cache before jumping to reboot code, but it doesn't +flush it explicitly. Flush is done implicitly inside of l2x0_disable(). +But some SoC's override default .disable handler and don't flush cache. +This may lead to a corrupted memory during Kexec reboot on these +platforms. + +This patch adds cache flush inside of OMAP4 and Highbank outer_cache.disable() +handlers to make it consistent with default l2x0_disable(). + +Acked-by: Rob Herring +Acked-by: Santosh Shilimkar +Acked-by: Tony Lindgren +Signed-off-by: Taras Kondratiuk +Signed-off-by: Russell King +Cc: Wang Nan +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/mach-highbank/highbank.c | 1 + + arch/arm/mach-omap2/omap4-common.c | 1 + + 2 files changed, 2 insertions(+) + +--- a/arch/arm/mach-highbank/highbank.c ++++ b/arch/arm/mach-highbank/highbank.c +@@ -68,6 +68,7 @@ void highbank_set_cpu_jump(int cpu, void + #ifdef CONFIG_CACHE_L2X0 + static void highbank_l2x0_disable(void) + { ++ outer_flush_all(); + /* Disable PL310 L2 Cache controller */ + highbank_smc1(0x102, 0x0); + } +--- a/arch/arm/mach-omap2/omap4-common.c ++++ b/arch/arm/mach-omap2/omap4-common.c +@@ -162,6 +162,7 @@ void __iomem *omap4_get_l2cache_base(voi + + static void omap4_l2x0_disable(void) + { ++ outer_flush_all(); + /* Disable PL310 L2 Cache controller */ + omap_smc1(0x102, 0x0); + } diff --git a/queue-3.10/drm-i915-don-t-grab-crtc-mutexes-in-intel_modeset_gem_init.patch b/queue-3.10/drm-i915-don-t-grab-crtc-mutexes-in-intel_modeset_gem_init.patch new file mode 100644 index 00000000000..0c707fc9174 --- /dev/null +++ b/queue-3.10/drm-i915-don-t-grab-crtc-mutexes-in-intel_modeset_gem_init.patch @@ -0,0 +1,51 @@ +From 7ad228b11ec26a820291c9f5a1168d6176580dc1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= +Date: Tue, 7 Jan 2014 16:15:36 +0200 +Subject: drm/i915: Don't grab crtc mutexes in intel_modeset_gem_init() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Ville Syrjälä + +commit 7ad228b11ec26a820291c9f5a1168d6176580dc1 upstream. + +When the pipe A force quirk is applied the code will attempt to grab +a crtc mutex during intel_modeset_setup_hw_state(). If we're already +holding all crtc mutexes this will obviously deadlock every time. + +So instead of using drm_modeset_lock_all() just grab the +mode_config.mutex. This is enough to avoid the unlocked mutex warnings +from certain lower level functions. + +The regression was introduced in: + + commit 027476642811f8559cbe00ef6cc54db230e48a20 + Author: Ville Syrjälä + Date: Mon Dec 2 11:08:06 2013 +0200 + + drm/i915: Take modeset locks around intel_modeset_setup_hw_state() + +Signed-off-by: Ville Syrjälä +[danvet: Add cc: stable since the offending commit has that, too.] +Signed-off-by: Daniel Vetter +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/i915/intel_display.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/i915/intel_display.c ++++ b/drivers/gpu/drm/i915/intel_display.c +@@ -9456,9 +9456,9 @@ void intel_modeset_gem_init(struct drm_d + + intel_setup_overlay(dev); + +- drm_modeset_lock_all(dev); ++ mutex_lock(&dev->mode_config.mutex); + intel_modeset_setup_hw_state(dev, false); +- drm_modeset_unlock_all(dev); ++ mutex_unlock(&dev->mode_config.mutex); + } + + void intel_modeset_cleanup(struct drm_device *dev) diff --git a/queue-3.10/series b/queue-3.10/series index 3514baffa4b..5679528003a 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -19,3 +19,5 @@ md-raid10-fix-two-bugs-in-handling-of-known-bad-blocks.patch md-raid5-fix-possible-confusion-when-multiple-write-errors-occur.patch mm-make-set-page_address-static-inline-if-want_page_virtual.patch serial-amba-pl011-use-port-lock-to-guard-control-register-access.patch +drm-i915-don-t-grab-crtc-mutexes-in-intel_modeset_gem_init.patch +arm-7938-1-omap4-highbank-flush-l2-cache-before-disabling.patch -- 2.47.2