On Wed, Sep 05, 2012 at 11:02:15AM -0700, Jesse Barnes wrote: > On Sun, 19 Aug 2012 21:13:05 +0200 > Daniel Vetter <daniel.vetter at ffwll.ch> wrote: > > > The "is this encoder cloned" check will be reused by the lvds encoder, > > hence exract it. > > > > v2: Be a bit more careful about that we need to check the new, staged > > ouput configuration in the check_non_cloned helper ... > > > > Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch> > > --- > > drivers/gpu/drm/i915/intel_display.c | 22 ++++++++++++++++++++++ > > drivers/gpu/drm/i915/intel_drv.h | 1 + > > drivers/gpu/drm/i915/intel_tv.c | 7 ++----- > > 3 files changed, 25 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > > index c7bd573..c59569e 100644 > > --- a/drivers/gpu/drm/i915/intel_display.c > > +++ b/drivers/gpu/drm/i915/intel_display.c > > @@ -6563,6 +6563,28 @@ static struct drm_crtc_helper_funcs intel_helper_funcs = { > > .disable = intel_crtc_disable, > > }; > > > > +bool intel_encoder_check_non_cloned(struct intel_encoder *encoder) > > +{ > > + struct intel_encoder *other_encoder; > > + struct drm_crtc *crtc = &encoder->new_crtc->base; > > + > > + if (WARN_ON(!crtc)) > > + return true; > > + > > + list_for_each_entry(other_encoder, > > + &crtc->dev->mode_config.encoder_list, > > + base.head) { > > + > > + if (&other_encoder->new_crtc->base != crtc || > > + encoder == other_encoder) > > + continue; > > + else > > + return false; > > + } > > + > > + return true; > > +} > > encoder_is_cloned() would make the callers more readable and avoid the > double negative... Ok, got a bit bored and applied this bikeshed here, too. Won't bother with resending though. -Daniel -- Daniel Vetter Mail: daniel at ffwll.ch Mobile: +41 (0)79 365 57 48