diff options
author | Guillaume Clement <gclement@baobob.org> | 2013-08-10 09:06:04 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-08-22 10:37:49 +1000 |
commit | 6f1e120438144a47463b80c3e113334a6bd0e77c (patch) | |
tree | 8422c3de7e02cf57ea97295fd92a2d415ecff358 /drivers/gpu/drm/gma500/psb_intel_sdvo.c | |
parent | 317b07b58c4312358410bf9b50dc7baeda9ed833 (diff) | |
download | talos-obmc-linux-6f1e120438144a47463b80c3e113334a6bd0e77c.tar.gz talos-obmc-linux-6f1e120438144a47463b80c3e113334a6bd0e77c.zip |
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/gpu/drm/gma500/psb_intel_sdvo.c')
-rw-r--r-- | drivers/gpu/drm/gma500/psb_intel_sdvo.c | 3 |
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, |