diff mbox

drm/i915: Show FBC worker status in debugfs

Message ID 20171220205848.8510-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Dec. 20, 2017, 8:58 p.m. UTC
Include the pending update from the FBC worker in i915_fbc_status.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

Comments

Zanoni, Paulo R Dec. 21, 2017, 5:20 p.m. UTC | #1
Em Qua, 2017-12-20 às 20:58 +0000, Chris Wilson escreveu:
> Include the pending update from the FBC worker in i915_fbc_status.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index c4780f085428..931037a458be 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1581,18 +1581,23 @@ static int i915_frontbuffer_tracking(struct
> seq_file *m, void *unused)
>  static int i915_fbc_status(struct seq_file *m, void *unused)
>  {
>  	struct drm_i915_private *dev_priv = node_to_i915(m-
> >private);
> +	struct intel_fbc *fbc = &dev_priv->fbc;
>  
>  	if (!HAS_FBC(dev_priv))
>  		return -ENODEV;
>  
>  	intel_runtime_pm_get(dev_priv);
> -	mutex_lock(&dev_priv->fbc.lock);
> +	mutex_lock(&fbc->lock);
>  
>  	if (intel_fbc_is_active(dev_priv))
>  		seq_puts(m, "FBC enabled\n");
>  	else
> -		seq_printf(m, "FBC disabled: %s\n",
> -			   dev_priv->fbc.no_fbc_reason);
> +		seq_printf(m, "FBC disabled: %s\n", fbc-
> >no_fbc_reason);
> +
> +	if (fbc->work.scheduled)
> +		seq_printf(m, "FBC worker scheduled on vblank %d, 

vblank %u since this is u32?

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>

> now %llu\n",
> +			   fbc->work.scheduled_vblank,
> +			   drm_crtc_vblank_count(&fbc->crtc->base));
>  
>  	if (intel_fbc_is_active(dev_priv)) {
>  		u32 mask;
> @@ -1612,7 +1617,7 @@ static int i915_fbc_status(struct seq_file *m,
> void *unused)
>  		seq_printf(m, "Compressing: %s\n", yesno(mask));
>  	}
>  
> -	mutex_unlock(&dev_priv->fbc.lock);
> +	mutex_unlock(&fbc->lock);
>  	intel_runtime_pm_put(dev_priv);
>  
>  	return 0;
Chris Wilson Dec. 21, 2017, 5:36 p.m. UTC | #2
Quoting Paulo Zanoni (2017-12-21 17:20:50)
> Em Qua, 2017-12-20 às 20:58 +0000, Chris Wilson escreveu:
> > Include the pending update from the FBC worker in i915_fbc_status.
> > 
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_debugfs.c | 13 +++++++++----
> >  1 file changed, 9 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> > b/drivers/gpu/drm/i915/i915_debugfs.c
> > index c4780f085428..931037a458be 100644
> > --- a/drivers/gpu/drm/i915/i915_debugfs.c
> > +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> > @@ -1581,18 +1581,23 @@ static int i915_frontbuffer_tracking(struct
> > seq_file *m, void *unused)
> >  static int i915_fbc_status(struct seq_file *m, void *unused)
> >  {
> >       struct drm_i915_private *dev_priv = node_to_i915(m-
> > >private);
> > +     struct intel_fbc *fbc = &dev_priv->fbc;
> >  
> >       if (!HAS_FBC(dev_priv))
> >               return -ENODEV;
> >  
> >       intel_runtime_pm_get(dev_priv);
> > -     mutex_lock(&dev_priv->fbc.lock);
> > +     mutex_lock(&fbc->lock);
> >  
> >       if (intel_fbc_is_active(dev_priv))
> >               seq_puts(m, "FBC enabled\n");
> >       else
> > -             seq_printf(m, "FBC disabled: %s\n",
> > -                        dev_priv->fbc.no_fbc_reason);
> > +             seq_printf(m, "FBC disabled: %s\n", fbc-
> > >no_fbc_reason);
> > +
> > +     if (fbc->work.scheduled)
> > +             seq_printf(m, "FBC worker scheduled on vblank %d, 
> 
> vblank %u since this is u32?
> 
> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>

Deal. Thanks,
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index c4780f085428..931037a458be 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1581,18 +1581,23 @@  static int i915_frontbuffer_tracking(struct seq_file *m, void *unused)
 static int i915_fbc_status(struct seq_file *m, void *unused)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
+	struct intel_fbc *fbc = &dev_priv->fbc;
 
 	if (!HAS_FBC(dev_priv))
 		return -ENODEV;
 
 	intel_runtime_pm_get(dev_priv);
-	mutex_lock(&dev_priv->fbc.lock);
+	mutex_lock(&fbc->lock);
 
 	if (intel_fbc_is_active(dev_priv))
 		seq_puts(m, "FBC enabled\n");
 	else
-		seq_printf(m, "FBC disabled: %s\n",
-			   dev_priv->fbc.no_fbc_reason);
+		seq_printf(m, "FBC disabled: %s\n", fbc->no_fbc_reason);
+
+	if (fbc->work.scheduled)
+		seq_printf(m, "FBC worker scheduled on vblank %d, now %llu\n",
+			   fbc->work.scheduled_vblank,
+			   drm_crtc_vblank_count(&fbc->crtc->base));
 
 	if (intel_fbc_is_active(dev_priv)) {
 		u32 mask;
@@ -1612,7 +1617,7 @@  static int i915_fbc_status(struct seq_file *m, void *unused)
 		seq_printf(m, "Compressing: %s\n", yesno(mask));
 	}
 
-	mutex_unlock(&dev_priv->fbc.lock);
+	mutex_unlock(&fbc->lock);
 	intel_runtime_pm_put(dev_priv);
 
 	return 0;