summary refs log tree commit diff
path: root/drivers
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 /drivers
parent317b07b58c4312358410bf9b50dc7baeda9ed833 (diff)
downloadlinux-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>
Diffstat (limited to 'drivers')
-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,