Re: [PATCH 09/13] drm/i915: Stash DRRS state under intel_crtc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 10, 2022 at 05:45:49PM +0000, Souza, Jose wrote:
> On Thu, 2022-03-10 at 02:47 +0200, Ville Syrjala wrote:
> >  static void intel_drrs_frontbuffer_update(struct drm_i915_private *dev_priv,
> >  					  unsigned int frontbuffer_bits,
> >  					  bool invalidate)
> >  {
> > -	struct intel_dp *intel_dp;
> > -	struct drm_crtc *crtc;
> > -	enum pipe pipe;
> > +	struct intel_crtc *crtc;
> >  
> > -	if (dev_priv->drrs.type != DRRS_TYPE_SEAMLESS)
> > +	if (dev_priv->vbt.drrs_type != DRRS_TYPE_SEAMLESS)
> >  		return;
> >  
> > -	cancel_delayed_work(&dev_priv->drrs.work);
> > +	for_each_intel_crtc(&dev_priv->drm, crtc) {
> > +		enum pipe pipe = crtc->pipe;
> >  
> > -	mutex_lock(&dev_priv->drrs.mutex);
> > +		cancel_delayed_work(&crtc->drrs.work);
> 
> Not a good idea cancel work at this point, you could be canceling work even if CRTC of eDP is not being updated.

Hmm, yeah. I guess we could in theory end up pushing the timer
forward indefinitely even if nothing actually happens. The
current code already has that issue though, so not specific
to this patch.

-- 
Ville Syrjälä
Intel



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux