lkml.org 
[lkml]   [2021]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 131/145] drm/i915: clear the gpu reloc batch
    Date
    From: Matthew Auld <matthew.auld@intel.com>

    commit 641382e9b44fba81a0778e1914ee35b8471121f9 upstream.

    The reloc batch is short lived but can exist in the user visible ppGTT,
    and since it's backed by an internal object, which lacks page clearing,
    we should take care to clear it upfront.

    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20201224151358.401345-2-matthew.auld@intel.com
    Cc: stable@vger.kernel.org
    (cherry picked from commit 26ebc511e799f621357982ccc37a7987a56a00f4)
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
    +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
    @@ -1046,7 +1046,7 @@ static void reloc_gpu_flush(struct i915_
    GEM_BUG_ON(cache->rq_size >= obj->base.size / sizeof(u32));
    cache->rq_cmd[cache->rq_size] = MI_BATCH_BUFFER_END;

    - __i915_gem_object_flush_map(obj, 0, sizeof(u32) * (cache->rq_size + 1));
    + i915_gem_object_flush_map(obj);
    i915_gem_object_unpin_map(obj);

    intel_gt_chipset_flush(cache->rq->engine->gt);
    @@ -1296,6 +1296,8 @@ static int __reloc_gpu_alloc(struct i915
    goto err_pool;
    }

    + memset32(cmd, 0, pool->obj->base.size / sizeof(u32));
    +
    batch = i915_vma_instance(pool->obj, vma->vm, NULL);
    if (IS_ERR(batch)) {
    err = PTR_ERR(batch);

    \
     
     \ /
      Last update: 2021-01-11 14:21    [W:4.419 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site