aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_tv.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-07-05 03:50:24 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-07-05 09:06:33 -0400
commit6c2b7c1208b762abc0df318ae53d18d9e5414e1b (patch)
tree258832d81855e0e41b6ec87d067bcf480f04aa5a /drivers/gpu/drm/i915/intel_tv.c
parentc2c75131244507c93f812862fdbd4f3a37139401 (diff)
drm/i915: introduce for_each_encoder_on_crtc
We already have this pattern at quite a few places, and moving part of the modeset helper stuff into the driver will add more. v2: Don't clobber the crtc struct name with the macro parameter ... v3: Convert two more places noticed by Paulo Zanoni. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_tv.c')
-rw-r--r--drivers/gpu/drm/i915/intel_tv.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index a233a51fd7e6..3b413c9042c0 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -895,20 +895,16 @@ intel_tv_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode,
895 struct drm_display_mode *adjusted_mode) 895 struct drm_display_mode *adjusted_mode)
896{ 896{
897 struct drm_device *dev = encoder->dev; 897 struct drm_device *dev = encoder->dev;
898 struct drm_mode_config *drm_config = &dev->mode_config;
899 struct intel_tv *intel_tv = enc_to_intel_tv(encoder); 898 struct intel_tv *intel_tv = enc_to_intel_tv(encoder);
900 const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); 899 const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv);
901 struct drm_encoder *other_encoder; 900 struct intel_encoder *other_encoder;
902 901
903 if (!tv_mode) 902 if (!tv_mode)
904 return false; 903 return false;
905 904
906 /* FIXME: lock encoder list */ 905 for_each_encoder_on_crtc(dev, encoder->crtc, other_encoder)
907 list_for_each_entry(other_encoder, &drm_config->encoder_list, head) { 906 if (&other_encoder->base != encoder)
908 if (other_encoder != encoder &&
909 other_encoder->crtc == encoder->crtc)
910 return false; 907 return false;
911 }
912 908
913 adjusted_mode->clock = tv_mode->clock; 909 adjusted_mode->clock = tv_mode->clock;
914 return true; 910 return true;