aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_suspend.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-12-01 14:56:30 -0500
committerEric Anholt <eric@anholt.net>2009-12-01 14:56:30 -0500
commitf0217c42c9ab3d772e543f635ce628b9478f70b6 (patch)
tree01dfcd607f90f250fb27cb303747b3d770879742 /drivers/gpu/drm/i915/i915_suspend.c
parentd09c23de9f967a7b7dcee0ffc57222ddbd821aba (diff)
drm/i915: Fix DDC on some systems by clearing BIOS GMBUS setup.
This is a sync of a fix I made in the old UMS code. If the BIOS uses the GMBUS and doesn't clear that setup, then our bit-banging I2C can fail, leading to monitors not being detected. Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_suspend.c')
-rw-r--r--drivers/gpu/drm/i915/i915_suspend.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index cd10d9b8181f..c5a6df93e1b6 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -27,7 +27,7 @@
27#include "drmP.h" 27#include "drmP.h"
28#include "drm.h" 28#include "drm.h"
29#include "i915_drm.h" 29#include "i915_drm.h"
30#include "i915_drv.h" 30#include "intel_drv.h"
31 31
32static bool i915_pipe_enabled(struct drm_device *dev, enum pipe pipe) 32static bool i915_pipe_enabled(struct drm_device *dev, enum pipe pipe)
33{ 33{
@@ -816,6 +816,9 @@ int i915_restore_state(struct drm_device *dev)
816 for (i = 0; i < 3; i++) 816 for (i = 0; i < 3; i++)
817 I915_WRITE(SWF30 + (i << 2), dev_priv->saveSWF2[i]); 817 I915_WRITE(SWF30 + (i << 2), dev_priv->saveSWF2[i]);
818 818
819 /* I2C state */
820 intel_i2c_reset_gmbus(dev);
821
819 return 0; 822 return 0;
820} 823}
821 824