[Intel-gfx] [PATCH 1/2] drm/i915: Use drm_crtc_vblank_wait_one_vblank instead the legacy one.

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Aug 4 07:52:28 UTC 2016


On Thu, Aug 04, 2016 at 10:38:02AM +0300, Jani Nikula wrote:
> On Thu, 04 Aug 2016, Rodrigo Vivi <rodrigo.vivi at intel.com> wrote:
> > No functional change.
> >
> > This is the last user of legacy function so we will be able
> > to clean up drm_irq.c a bit.
> >
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_drv.h | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> > index 50cdc89..37a3ae8 100644
> > --- a/drivers/gpu/drm/i915/intel_drv.h
> > +++ b/drivers/gpu/drm/i915/intel_drv.h
> > @@ -1202,7 +1202,10 @@ intel_crtc_has_dp_encoder(const struct intel_crtc_state *crtc_state)
> >  static inline void
> >  intel_wait_for_vblank(struct drm_device *dev, int pipe)
> >  {
> > -	drm_wait_one_vblank(dev, pipe);
> > +	struct drm_i915_private *dev_priv = to_i915(dev);
> > +	struct drm_crtc *crtc = dev_priv->pipe_to_crtc_mapping[pipe];
> > +
> > +	drm_crtc_wait_one_vblank(crtc);
> 
> With these changes, in almost all intel_wait_for_vblank() call paths
> we'll have crtc available, so we end up calling
> intel_wait_for_vblank(intel_crtc->pipe), which will then be converted
> back to drm_crtc via dev_priv->pipe_to_crtc_mapping[pipe], and again to
> pipe using drm_crtc_index(crtc)...
> 
> I'm tempted to say we should *first* replace all intel_wait_for_vblank()
> calls with drm_crtc_wait_one_vblank() where possible. After that, we
> might just call
> drm_crtc_wait_one_vblank(dev_priv->pipe_to_crtc_mapping[pipe])
> everywhere else.

On a slight tangent, I'd like to see patches to 
s/dev_priv->pipe_to_crtc_mapping[pipe]/whatever_is_the_function_name(pipe)/
and make those functions return intel_crtc instead of drm_crtc.

-- 
Ville Syrjälä
Intel OTC


More information about the dri-devel mailing list