summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-10-10 16:41:46 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-10 16:41:46 -0700
commit171d0389ae01af629cb54fb8fd24dce20366e616 (patch)
tree67dc8b703d3dd3690746e55701689bd796be9b7a
parent0b520cc36800cde9fdf394686ea5c3426e153726 (diff)
downloadstable-queue-171d0389ae01af629cb54fb8fd24dce20366e616.tar.gz
3.0 patches
-rw-r--r--queue-3.0/arm-mach-ux500-enable-fix-for-arm-errata-754322.patch29
-rw-r--r--queue-3.0/drm-radeon-kms-retry-aux-transactions-if-there-are-status-flags.patch59
-rw-r--r--queue-3.0/drm-radeon-kms-use-hardcoded-dig-encoder-to-transmitter-mapping-for-dce4.1.patch43
-rw-r--r--queue-3.0/exec-do-not-call-request_module-twice-from-search_binary_handler.patch44
-rw-r--r--queue-3.0/series4
5 files changed, 179 insertions, 0 deletions
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
index 0000000000..01536eed2d
--- /dev/null
+++ b/queue-3.0/arm-mach-ux500-enable-fix-for-arm-errata-754322.patch
@@ -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
index 0000000000..2f9c530890
--- /dev/null
+++ b/queue-3.0/drm-radeon-kms-retry-aux-transactions-if-there-are-status-flags.patch
@@ -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
index 0000000000..c6b0674f25
--- /dev/null
+++ b/queue-3.0/drm-radeon-kms-use-hardcoded-dig-encoder-to-transmitter-mapping-for-dce4.1.patch
@@ -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
index 0000000000..aa54ddbbf8
--- /dev/null
+++ b/queue-3.0/exec-do-not-call-request_module-twice-from-search_binary_handler.patch
@@ -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
+ }
diff --git a/queue-3.0/series b/queue-3.0/series
index 1fa161a341..99d0b521be 100644
--- a/queue-3.0/series
+++ b/queue-3.0/series
@@ -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