[Intel-gfx] [PATCH 82/89] drm/i915/skl: Add a debugfs file to dump the DDB allocation

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Oct 29 20:23:00 CET 2014


On Thu, Sep 04, 2014 at 12:27:48PM +0100, Damien Lespiau wrote:
> v2: minor conflict in i915_debugfs.c
> v3: Rebase on top of the for_each_pipe() change adding dev_priv as first
>     argument.
> v4: minor conflict in the i915_debugfs_files array
> v5: minor conflict in the i915_debugfs_files array
> 
> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 37 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 1520d1f..0468ec9 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2669,6 +2669,42 @@ static int i915_wa_registers(struct seq_file *m, void *unused)
>  	return 0;
>  }
>  
> +static int i915_ddb_info(struct seq_file *m, void *unused)
> +{
> +	struct drm_info_node *node = m->private;
> +	struct drm_device *dev = node->minor->dev;
> +	struct drm_i915_private *dev_priv = dev->dev_private;
> +	struct skl_ddb_allocation *ddb;
> +	struct skl_ddb_entry *entry;
> +	enum pipe pipe;
> +	int plane;
> +
> +	drm_modeset_lock_all(dev);
> +
> +	ddb = &dev_priv->wm.skl_hw.ddb;
> +
> +	seq_printf(m, "%-15s%8s%8s%8s\n", "", "Start", "End", "Size");
> +
> +	for_each_pipe(dev_priv, pipe) {
> +		seq_printf(m, "Pipe %c\n", pipe_name(pipe));
> +
> +		for_each_plane(pipe, plane) {
> +			entry = &ddb->plane[pipe][plane];
> +			seq_printf(m, "  Plane%-8d%8u%8u%8u\n", plane + 1,
> +				   entry->start, entry->end,
> +				   skl_ddb_entry_size(entry));
> +		}
> +
> +		entry = &ddb->cursor[pipe];
> +		seq_printf(m, "  %-13s%8u%8u%8u\n", "Cursor", entry->start,
> +			   entry->end, skl_ddb_entry_size(entry));
> +	}
> +
> +	drm_modeset_unlock_all(dev);
> +
> +	return 0;
> +}
> +
>  struct pipe_crc_info {
>  	const char *name;
>  	struct drm_device *dev;
> @@ -4249,6 +4285,7 @@ static const struct drm_info_list i915_debugfs_list[] = {
>  	{"i915_shared_dplls_info", i915_shared_dplls_info, 0},
>  	{"i915_dp_mst_info", i915_dp_mst_info, 0},
>  	{"i915_wa_registers", i915_wa_registers, 0},
> +	{"i915_ddb_info", i915_ddb_info, 0},
>  };
>  #define I915_DEBUGFS_ENTRIES ARRAY_SIZE(i915_debugfs_list)
>  
> -- 
> 1.8.3.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC



More information about the Intel-gfx mailing list