drm/i915/bdw: Populate lrc with aliasing ppgtt if required
A previous commit broke aliasing PPGTT for lrc, resulting in a kernel oops on boot. Add a check so that is full PPGTT is not in use the context is populated with the aliasing PPGTT. Issue: VIZ-4278 Signed-off-by: Thomas Daniel <thomas.daniel@intel.com> Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
d84a0f3280
commit
2d96553613
|
@ -1452,12 +1452,17 @@ static int
|
|||
populate_lr_context(struct intel_context *ctx, struct drm_i915_gem_object *ctx_obj,
|
||||
struct intel_engine_cs *ring, struct intel_ringbuffer *ringbuf)
|
||||
{
|
||||
struct drm_device *dev = ring->dev;
|
||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||
struct drm_i915_gem_object *ring_obj = ringbuf->obj;
|
||||
struct i915_hw_ppgtt *ppgtt = ctx->ppgtt;
|
||||
struct page *page;
|
||||
uint32_t *reg_state;
|
||||
int ret;
|
||||
|
||||
if (!ppgtt)
|
||||
ppgtt = dev_priv->mm.aliasing_ppgtt;
|
||||
|
||||
ret = i915_gem_object_set_to_cpu_domain(ctx_obj, true);
|
||||
if (ret) {
|
||||
DRM_DEBUG_DRIVER("Could not set to CPU domain\n");
|
||||
|
|
Loading…
Reference in New Issue