diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2013-11-28 01:46:56 -0800 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2013-12-04 12:03:56 -0800 |
commit | 308d17ef9530f236466a31a7855fc3d5176292d4 (patch) | |
tree | bf0ef85f31331efbcffc47b8ae2a7d042af18875 /drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | |
parent | d69d51d73f9509dbb727e36a3a7ddac8b003ac6b (diff) | |
download | talos-op-linux-308d17ef9530f236466a31a7855fc3d5176292d4.tar.gz talos-op-linux-308d17ef9530f236466a31a7855fc3d5176292d4.zip |
drm/vmwgfx: Fix dma buffer memory size accounting
Also request kernel ttm_buffer objects for buffer objects that obviously
aren't visible to user-space, and save some device address space.
The accounting was broken in a couple of ways:
1) We did not differentiate between user dma buffers and kernel dma buffers.
2) The ttm_bo_acc_size function is broken in that it
a) Doesn't take into account the size of the optional dma address array,
b) Doesn't take into account the fact that drivers typically embed the
ttm_tt structure.
This needs to be fixed in ttm, but meanwhile provide a vmwgfx-specific
function to do the job.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c')
-rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c index 7776e6f0aef6..0489c6152482 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c @@ -150,6 +150,8 @@ struct vmw_ttm_tt { bool mapped; }; +const size_t vmw_tt_size = sizeof(struct vmw_ttm_tt); + /** * Helper functions to advance a struct vmw_piter iterator. * |