diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2014-11-20 16:24:13 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-11-20 16:51:25 -0500 |
commit | 89a35ecdc6aa5a88165313ca5cfd52b8e8e7fbbd (patch) | |
tree | a1f3768ce4a23fe37183ef49ad7b0ed459301ec2 | |
parent | d9e600b2e4a5e9f1dfe80cfcb453c8f5067a2a8a (diff) |
drm/i915/g4x: fix g4x infoframe readout
Need to check the port too.
Reported-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index f58e8834ebfb..ec873338e84d 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -170,9 +170,13 @@ static bool g4x_infoframe_enabled(struct drm_encoder *encoder) | |||
170 | { | 170 | { |
171 | struct drm_device *dev = encoder->dev; | 171 | struct drm_device *dev = encoder->dev; |
172 | struct drm_i915_private *dev_priv = dev->dev_private; | 172 | struct drm_i915_private *dev_priv = dev->dev_private; |
173 | struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); | ||
173 | u32 val = I915_READ(VIDEO_DIP_CTL); | 174 | u32 val = I915_READ(VIDEO_DIP_CTL); |
174 | 175 | ||
175 | return val & VIDEO_DIP_ENABLE; | 176 | if (VIDEO_DIP_PORT(intel_dig_port->port) == (val & VIDEO_DIP_PORT_MASK)) |
177 | return val & VIDEO_DIP_ENABLE; | ||
178 | |||
179 | return false; | ||
176 | } | 180 | } |
177 | 181 | ||
178 | static void ibx_write_infoframe(struct drm_encoder *encoder, | 182 | static void ibx_write_infoframe(struct drm_encoder *encoder, |