aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_hdmi.c
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2012-05-04 16:18:22 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-05-08 08:15:59 -0400
commit60c5ea2dd981d929d873823433294b991d3e3cd8 (patch)
tree597935f9f440fd7b7b9438601141a7cef781b9c1 /drivers/gpu/drm/i915/intel_hdmi.c
parentecb978515c88183b111b8994acd6b572b1361a72 (diff)
drm/i915: mask the video DIP frequency when changing it
Better safe than sorry. Currently we never change the frequency and use the same for every infoframe type, so the only way to reproduce a bug would be with the BIOS doing something. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 6c96bb54e967..4a4ee8b25f2f 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -164,6 +164,7 @@ static void i9xx_write_infoframe(struct drm_encoder *encoder,
164 } 164 }
165 165
166 val |= intel_infoframe_enable(frame); 166 val |= intel_infoframe_enable(frame);
167 val &= ~VIDEO_DIP_FREQ_MASK;
167 val |= intel_infoframe_frequency(frame); 168 val |= intel_infoframe_frequency(frame);
168 169
169 I915_WRITE(VIDEO_DIP_CTL, val); 170 I915_WRITE(VIDEO_DIP_CTL, val);
@@ -203,6 +204,7 @@ static void ironlake_write_infoframe(struct drm_encoder *encoder,
203 } 204 }
204 205
205 val |= intel_infoframe_enable(frame); 206 val |= intel_infoframe_enable(frame);
207 val &= ~VIDEO_DIP_FREQ_MASK;
206 val |= intel_infoframe_frequency(frame); 208 val |= intel_infoframe_frequency(frame);
207 209
208 I915_WRITE(reg, val); 210 I915_WRITE(reg, val);
@@ -236,6 +238,7 @@ static void vlv_write_infoframe(struct drm_encoder *encoder,
236 } 238 }
237 239
238 val |= intel_infoframe_enable(frame); 240 val |= intel_infoframe_enable(frame);
241 val &= ~VIDEO_DIP_FREQ_MASK;
239 val |= intel_infoframe_frequency(frame); 242 val |= intel_infoframe_frequency(frame);
240 243
241 I915_WRITE(reg, val); 244 I915_WRITE(reg, val);