[Intel-gfx] [PATCH] drm/i915: Only track real ppgtt for a context

Thierry, Michel michel.thierry at intel.com
Mon Aug 4 19:17:11 CEST 2014



> -----Original Message-----
> From: Daniel Vetter [mailto:daniel.vetter at ffwll.ch]
> Sent: Monday, August 04, 2014 3:21 PM
> To: Intel Graphics Development
> Cc: Daniel Vetter; Thierry, Michel; Ville Syrjälä
> Subject: [PATCH] drm/i915: Only track real ppgtt for a context
> 
> There's a bit a confusion since we track the global gtt,
> the aliasing and real ppgtt in the ctx->vm pointer. And not
> all callers really bother to check for the different cases and just
> presume that it points to a real ppgtt.
> 
> Now looking closely we don't actually need ->vm to always point at an
> address space - the only place that cares actually has fixup code
> already to decide whether to look at the per-proces or the global
> address space.
> 
> So switch to just tracking the ppgtt directly and ditch all the
> extraneous code.
> 
> v2: Fixup the ppgtt debugfs file to not oops on a NULL ctx->ppgtt.
> Also drop the early exit - without aliasing ppgtt we want to dump all
> the ppgtts of the contexts if we have full ppgtt.
> 
> Cc: "Thierry, Michel" <michel.thierry at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> OTC-Jira: VIZ-3724
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c        | 11 ++++++++---
>  drivers/gpu/drm/i915/i915_drv.h            |  3 +--
>  drivers/gpu/drm/i915/i915_gem_context.c    | 28 +++++++---------------------
>  drivers/gpu/drm/i915/i915_gem_execbuffer.c |  5 +++--
>  drivers/gpu/drm/i915/i915_gpu_error.c      | 10 +++++++---
>  5 files changed, 26 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index 3bf1d20c598b..2bd4beada1bd 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1774,7 +1774,13 @@ static int per_file_ctx(int id, void *ptr, void *data)
>  {
>  	struct intel_context *ctx = ptr;
>  	struct seq_file *m = data;
> -	struct i915_hw_ppgtt *ppgtt = ctx_to_ppgtt(ctx);
> +	struct i915_hw_ppgtt *ppgtt = ctx->ppgtt;
> +
> +	if (!ppgtt) {
> +		seq_puts(m, "  no ppgtt for context %d\n",
> +			 ctx->user_handle);
Should be seq_printf().

> +		return 0;
> +	}
> 
>  	if (i915_gem_context_is_default(ctx))
>  		seq_puts(m, "  default context:\n");
> @@ -1834,8 +1840,7 @@ static void gen6_ppgtt_info(struct seq_file *m,
> --
> 1.9.3

Apart from that, 

Reviewed-by: Michel Thierry <michel.thierry at intel.com>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6656 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20140804/0a6a7fc5/attachment.bin>


More information about the Intel-gfx mailing list