> -----Original Message----- > From: Daniel Vetter [mailto:daniel.vetter@xxxxxxxx] > 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@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > OTC-Jira: VIZ-3724 > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > 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@xxxxxxxxx>
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx