summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Clement <gclement@baobob.org>2013-08-10 09:06:04 +0200
committerDave Airlie <airlied@redhat.com>2013-08-22 10:37:49 +1000
commit6f1e120438144a47463b80c3e113334a6bd0e77c (patch)
tree8422c3de7e02cf57ea97295fd92a2d415ecff358
parent317b07b58c4312358410bf9b50dc7baeda9ed833 (diff)
downloadlinux-sh-6f1e120438144a47463b80c3e113334a6bd0e77c.tar.gz
gma500: Fix SDVO turning off randomly
Some Poulsbo cards seem to incorrectly report SDVO_CMD_STATUS_TARGET_NOT_SPECIFIED instead of SDVO_CMD_STATUS_PENDING, which causes the display to be turned off. Signed-off-by: Guillaume Clement <gclement@baobob.org> Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/gma500/psb_intel_sdvo.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
index 19e36603b23b..3bc8414533c9 100644
--- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c
+++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
@@ -500,7 +500,8 @@ static bool psb_intel_sdvo_read_response(struct psb_intel_sdvo *psb_intel_sdvo,
&status))
goto log_fail;
- while (status == SDVO_CMD_STATUS_PENDING && retry--) {
+ while ((status == SDVO_CMD_STATUS_PENDING ||
+ status == SDVO_CMD_STATUS_TARGET_NOT_SPECIFIED) && retry--) {
udelay(15);
if (!psb_intel_sdvo_read_byte(psb_intel_sdvo,
SDVO_I2C_CMD_STATUS,