From: Thomas Hellstrom Date: Wed, 26 Sep 2018 13:38:13 +0000 (+0200) Subject: drm/vmwgfx: Reduce the size of buffer object relocations X-Git-Tag: v4.20-rc1~81^2~16^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cc1e3b796b463c1cb2e8225b456af939b3bf21c3;p=thirdparty%2Fkernel%2Flinux.git drm/vmwgfx: Reduce the size of buffer object relocations With the new allocator this leads to less consumed memory for each user-space command submission Signed-off-by: Thomas Hellstrom Reviewed-by: Deepak Rawat --- diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c index da341cc6ff476..641b75110dc65 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c @@ -39,15 +39,17 @@ * struct vmw_relocation - Buffer object relocation * * @head: List head for the command submission context's relocation list + * @vbo: Non ref-counted pointer to buffer object * @mob_loc: Pointer to location for mob id to be modified * @location: Pointer to location for guest pointer to be modified - * @vbo: Non ref-counted pointer to buffer object */ struct vmw_relocation { struct list_head head; - SVGAMobId *mob_loc; - SVGAGuestPtr *location; struct vmw_buffer_object *vbo; + union { + SVGAMobId *mob_loc; + SVGAGuestPtr *location; + }; }; /** @@ -1167,7 +1169,6 @@ static int vmw_translate_mob_ptr(struct vmw_private *dev_priv, goto out_no_reloc; reloc->mob_loc = id; - reloc->location = NULL; reloc->vbo = vmw_bo; ret = vmw_validation_add_bo(sw_context->ctx, vmw_bo, true, false);