* [PATCH 1/1] drm/i915/gtt: Mark newly created ppgtt dirty
@ 2015-09-08 16:20 Mika Kuoppala
2015-09-08 16:31 ` Michel Thierry
0 siblings, 1 reply; 2+ messages in thread
From: Mika Kuoppala @ 2015-09-08 16:20 UTC (permalink / raw)
To: intel-gfx
We mark ppgtt dirty when vm area grows. As one needs
to allocate atleast one batchbuffer object before running
anything in vm space, this was considered adequate. However in
init, we run batch which doesn't need to allocate anything. This
is the render state initialization batch, part of context init.
Newly created ppgtt is not marked dirty as no allocations for it
are done. This results bb emission skip the pdps writing to hw,
and we start the batch with uninitialized (zero) pdp registers
causing gpu hangs early in the init.
Always mark newly created ppgtts dirty to ensure that pdps are
pushed before first bb.
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Arun Siluvery <arun.siluvery@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 8786281..41dcfca 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -2134,6 +2134,8 @@ int i915_ppgtt_init(struct drm_device *dev, struct i915_hw_ppgtt *ppgtt)
i915_init_vm(dev_priv, &ppgtt->base);
}
+ mark_tlbs_dirty(ppgtt);
+
return ret;
}
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 1/1] drm/i915/gtt: Mark newly created ppgtt dirty
2015-09-08 16:20 [PATCH 1/1] drm/i915/gtt: Mark newly created ppgtt dirty Mika Kuoppala
@ 2015-09-08 16:31 ` Michel Thierry
0 siblings, 0 replies; 2+ messages in thread
From: Michel Thierry @ 2015-09-08 16:31 UTC (permalink / raw)
To: Mika Kuoppala, intel-gfx
On 9/8/2015 5:20 PM, Mika Kuoppala wrote:
> We mark ppgtt dirty when vm area grows. As one needs
> to allocate atleast one batchbuffer object before running
> anything in vm space, this was considered adequate. However in
> init, we run batch which doesn't need to allocate anything. This
> is the render state initialization batch, part of context init.
> Newly created ppgtt is not marked dirty as no allocations for it
> are done. This results bb emission skip the pdps writing to hw,
> and we start the batch with uninitialized (zero) pdp registers
> causing gpu hangs early in the init.
That's true, although I was under the impression that the render state
batch was executed in the ggtt.
>
> Always mark newly created ppgtts dirty to ensure that pdps are
> pushed before first bb.
>
> Cc: Michel Thierry <michel.thierry@intel.com>
> Cc: Arun Siluvery <arun.siluvery@linux.intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem_gtt.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 8786281..41dcfca 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -2134,6 +2134,8 @@ int i915_ppgtt_init(struct drm_device *dev, struct i915_hw_ppgtt *ppgtt)
> i915_init_vm(dev_priv, &ppgtt->base);
> }
>
> + mark_tlbs_dirty(ppgtt);
> +
Does this also apply for gen7? (or should only be in gen8_ppgtt_init).
> return ret;
> }
>
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-09-08 16:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-08 16:20 [PATCH 1/1] drm/i915/gtt: Mark newly created ppgtt dirty Mika Kuoppala
2015-09-08 16:31 ` Michel Thierry
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox