]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 10 Oct 2011 23:41:46 +0000 (16:41 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 10 Oct 2011 23:41:46 +0000 (16:41 -0700)
queue-3.0/arm-mach-ux500-enable-fix-for-arm-errata-754322.patch [new file with mode: 0644]
queue-3.0/drm-radeon-kms-retry-aux-transactions-if-there-are-status-flags.patch [new file with mode: 0644]
queue-3.0/drm-radeon-kms-use-hardcoded-dig-encoder-to-transmitter-mapping-for-dce4.1.patch [new file with mode: 0644]
queue-3.0/exec-do-not-call-request_module-twice-from-search_binary_handler.patch [new file with mode: 0644]
queue-3.0/series

diff --git a/queue-3.0/arm-mach-ux500-enable-fix-for-arm-errata-754322.patch b/queue-3.0/arm-mach-ux500-enable-fix-for-arm-errata-754322.patch
new file mode 100644 (file)
index 0000000..01536ee
--- /dev/null
@@ -0,0 +1,29 @@
+From 98e87d57aab9b1594f9cc53a386fcb6f2f2ba6e2 Mon Sep 17 00:00:00 2001
+From: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
+Date: Tue, 20 Sep 2011 11:15:46 +0530
+Subject: ARM: mach-ux500: enable fix for ARM errata 754322
+
+From: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
+
+commit 98e87d57aab9b1594f9cc53a386fcb6f2f2ba6e2 upstream.
+
+This applies ARM errata fix 754322 for all ux500 platforms.
+
+Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/arm/mach-ux500/Kconfig |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/mach-ux500/Kconfig
++++ b/arch/arm/mach-ux500/Kconfig
+@@ -6,6 +6,7 @@ config UX500_SOC_COMMON
+       select ARM_GIC
+       select HAS_MTU
+       select ARM_ERRATA_753970
++      select ARM_ERRATA_754322
+ menu "Ux500 SoC"
diff --git a/queue-3.0/drm-radeon-kms-retry-aux-transactions-if-there-are-status-flags.patch b/queue-3.0/drm-radeon-kms-retry-aux-transactions-if-there-are-status-flags.patch
new file mode 100644 (file)
index 0000000..2f9c530
--- /dev/null
@@ -0,0 +1,59 @@
+From 4f332844cc87c5f99c5300f788abbe8a8c731390 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Tue, 4 Oct 2011 17:23:15 -0400
+Subject: drm/radeon/kms: retry aux transactions if there are status flags
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 4f332844cc87c5f99c5300f788abbe8a8c731390 upstream.
+
+If there are error flags in the aux status, retry the transaction.
+This makes aux much more reliable, especially on llano systems.
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/atombios_dp.c |   12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/atombios_dp.c
++++ b/drivers/gpu/drm/radeon/atombios_dp.c
+@@ -129,7 +129,9 @@ static int radeon_dp_aux_native_write(st
+       for (retry = 0; retry < 4; retry++) {
+               ret = radeon_process_aux_ch(dig_connector->dp_i2c_bus,
+                                           msg, msg_bytes, NULL, 0, delay, &ack);
+-              if (ret < 0)
++              if (ret == -EBUSY)
++                      continue;
++              else if (ret < 0)
+                       return ret;
+               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
+                       return send_bytes;
+@@ -160,7 +162,9 @@ static int radeon_dp_aux_native_read(str
+       for (retry = 0; retry < 4; retry++) {
+               ret = radeon_process_aux_ch(dig_connector->dp_i2c_bus,
+                                           msg, msg_bytes, recv, recv_bytes, delay, &ack);
+-              if (ret < 0)
++              if (ret == -EBUSY)
++                      continue;
++              else if (ret < 0)
+                       return ret;
+               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
+                       return ret;
+@@ -236,7 +240,9 @@ int radeon_dp_i2c_aux_ch(struct i2c_adap
+       for (retry = 0; retry < 4; retry++) {
+               ret = radeon_process_aux_ch(auxch,
+                                           msg, msg_bytes, reply, reply_bytes, 0, &ack);
+-              if (ret < 0) {
++              if (ret == -EBUSY)
++                      continue;
++              else if (ret < 0) {
+                       DRM_DEBUG_KMS("aux_ch failed %d\n", ret);
+                       return ret;
+               }
diff --git a/queue-3.0/drm-radeon-kms-use-hardcoded-dig-encoder-to-transmitter-mapping-for-dce4.1.patch b/queue-3.0/drm-radeon-kms-use-hardcoded-dig-encoder-to-transmitter-mapping-for-dce4.1.patch
new file mode 100644 (file)
index 0000000..c6b0674
--- /dev/null
@@ -0,0 +1,43 @@
+From cb7cf41961fe10773c491c75ae73539ad4bbed66 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Wed, 5 Oct 2011 18:36:50 -0400
+Subject: drm/radeon/kms: use hardcoded dig encoder to transmitter mapping for DCE4.1
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit cb7cf41961fe10773c491c75ae73539ad4bbed66 upstream.
+
+The encoders are supposedly fully routeable, but changing the mapping
+doesn't always seem to take.  Using a hardcoded mapping is much more
+reliable.
+
+Fixes:
+https://bugs.freedesktop.org/show_bug.cgi?id=41366
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Tested-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/radeon_encoders.c |    9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_encoders.c
++++ b/drivers/gpu/drm/radeon/radeon_encoders.c
+@@ -1755,9 +1755,12 @@ static int radeon_atom_pick_dig_encoder(
+       /* DCE4/5 */
+       if (ASIC_IS_DCE4(rdev)) {
+               dig = radeon_encoder->enc_priv;
+-              if (ASIC_IS_DCE41(rdev))
+-                      return radeon_crtc->crtc_id;
+-              else {
++              if (ASIC_IS_DCE41(rdev)) {
++                      if (dig->linkb)
++                              return 1;
++                      else
++                              return 0;
++              } else {
+                       switch (radeon_encoder->encoder_id) {
+                       case ENCODER_OBJECT_ID_INTERNAL_UNIPHY:
+                               if (dig->linkb)
diff --git a/queue-3.0/exec-do-not-call-request_module-twice-from-search_binary_handler.patch b/queue-3.0/exec-do-not-call-request_module-twice-from-search_binary_handler.patch
new file mode 100644 (file)
index 0000000..aa54ddb
--- /dev/null
@@ -0,0 +1,44 @@
+From 912193521b719fbfc2f16776febf5232fe8ba261 Mon Sep 17 00:00:00 2001
+From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
+Date: Tue, 26 Jul 2011 16:08:41 -0700
+Subject: exec: do not call request_module() twice from search_binary_handler()
+
+From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
+
+commit 912193521b719fbfc2f16776febf5232fe8ba261 upstream.
+
+Currently, search_binary_handler() tries to load binary loader module
+using request_module() if a loader for the requested program is not yet
+loaded.  But second attempt of request_module() does not affect the result
+of search_binary_handler().
+
+If request_module() triggered recursion, calling request_module() twice
+causes 2 to the power of MAX_KMOD_CONCURRENT (= 50) repetitions.  It is
+not an infinite loop but is sufficient for users to consider as a hang up.
+
+Therefore, this patch changes not to call request_module() twice, making 1
+to the power of MAX_KMOD_CONCURRENT repetitions in case of recursion.
+
+Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
+Reported-by: Richard Weinberger <richard@nod.at>
+Tested-by: Richard Weinberger <richard@nod.at>
+Cc: Al Viro <viro@zeniv.linux.org.uk>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Cc: Maxim Uvarov <muvarov@gmail.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+---
+ fs/exec.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/fs/exec.c
++++ b/fs/exec.c
+@@ -1411,6 +1411,8 @@ int search_binary_handler(struct linux_b
+                           printable(bprm->buf[2]) &&
+                           printable(bprm->buf[3]))
+                               break; /* -ENOEXEC */
++                      if (try)
++                              break; /* -ENOEXEC */
+                       request_module("binfmt-%04x", *(unsigned short *)(&bprm->buf[2]));
+ #endif
+               }
index 1fa161a341f2efae4d9b9f5731620e12fbbab001..99d0b521bed72ec002cca39ed2b6ae73cb6d3b16 100644 (file)
@@ -27,3 +27,7 @@ libsas-fix-panic-when-single-phy-is-disabled-on-a-wide-port.patch
 md-avoid-waking-up-a-thread-after-it-has-been-freed.patch
 dm-table-avoid-crash-if-integrity-profile-changes.patch
 mmc-mxs-mmc-fix-clock-rate-setting.patch
+exec-do-not-call-request_module-twice-from-search_binary_handler.patch
+arm-mach-ux500-enable-fix-for-arm-errata-754322.patch
+drm-radeon-kms-retry-aux-transactions-if-there-are-status-flags.patch
+drm-radeon-kms-use-hardcoded-dig-encoder-to-transmitter-mapping-for-dce4.1.patch