mirror_ubuntu-kernels/drivers/gpu/drm/vmwgfx
Zack Rusin d1a73c641a drm/vmwgfx: Make sure we unpin no longer needed buffers
We were not correctly unpinning no longer needed buffers. In particular
vmw_buffer_object, which is internally often pinned on creation wasn't
unpinned on destruction and none of the internal MOB buffers were
unpinned before being put back. Technically this existed for a
long time but commit 57fcd550eb ("drm/ttm: Warn on pinning without
holding a reference") introduced a WARN_ON which was filling up the
kernel logs rather quickly.

Quite frankly internal usage of vmw_buffer_object and in general
pinning needs to be refactored in vmwgfx but for now this makes
it work.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Fixes: 57fcd550eb ("drm/ttm: Warn on pinning without holding a reference")
Link: https://patchwork.freedesktop.org/patch/414984/?series=86052&rev=1
Cc: Huang Rui <ray.huang@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Christian Koenig <christian.koenig@amd.com>
Cc: dri-devel@lists.freedesktop.org
2021-01-20 17:04:56 -05:00
..
device_include drm/vmwgfx: Sync virtual device headers for new feature 2020-03-23 22:39:34 +01:00
Kconfig drm/vmwgfx: Implement an infrastructure for write-coherent resources 2019-11-06 13:04:54 +01:00
Makefile drm/vmwgfx: Cleanup the cmd/fifo split 2021-01-14 12:15:49 -05:00
ttm_lock.c drm/vmwgfx: Kill unneeded legacy security features 2019-08-15 08:39:27 +02:00
ttm_lock.h drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
ttm_object.c drm/vmwgfx/ttm_object: Reorder header to immediately precede its struct 2021-01-19 14:19:12 -05:00
ttm_object.h drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_binding.c drm/vmwgfx/vmwgfx_binding: Provide some missing param descriptions and remove others 2021-01-19 14:19:07 -05:00
vmwgfx_binding.h drm/vmwgfx: Add support for streamoutput with mob commands 2020-03-23 22:39:35 +01:00
vmwgfx_blit.c drm/vmwgfx/vmwgfx_blit: Add description for 'vmw_bo_cpu_blit's 'diff' param 2021-01-19 14:19:09 -05:00
vmwgfx_bo.c drm/vmwgfx/vmwgfx_bo: Remove superfluous param description and supply another 2021-01-19 14:18:41 -05:00
vmwgfx_cmd.c drm/vmwgfx/vmwgfx_fifo: Demote non-conformant kernel-doc header 2021-01-19 14:18:38 -05:00
vmwgfx_cmdbuf_res.c drm/vmwgfx/vmwgfx_cmdbuf_res: Remove unused variable 'ret' 2021-01-19 14:18:47 -05:00
vmwgfx_cmdbuf.c drm/vmwgfx/vmwgfx_cmdbuf: Fix misnaming of 'headers' should be plural 2021-01-19 14:19:05 -05:00
vmwgfx_context.c drm/vmwgfx/vmwgfx_context: Demote kernel-doc abuses 2021-01-19 14:18:42 -05:00
vmwgfx_cotable.c drm/vmwgfx/vmwgfx_cotable: Fix a couple of simple documentation problems 2021-01-19 14:19:06 -05:00
vmwgfx_drv.c drm/vmwgfx/vmwgfx_drv: Fix some kernel-doc misdemeanours 2021-01-19 14:18:34 -05:00
vmwgfx_drv.h drm/vmwgfx: Make sure we unpin no longer needed buffers 2021-01-20 17:04:56 -05:00
vmwgfx_execbuf.c drm/vmwgfx/vmwgfx_execbuf: Fix some kernel-doc related issues 2021-01-19 14:18:32 -05:00
vmwgfx_fb.c drm/vmwgfx: Cleanup the cmd/fifo split 2021-01-14 12:15:49 -05:00
vmwgfx_fence.c drm/vmwgfx/vmwgfx_fence: Add, remove and demote various documentation params/headers 2021-01-19 14:18:41 -05:00
vmwgfx_fence.h drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_gmr.c drm/vmwgfx: Cleanup the cmd/fifo split 2021-01-14 12:15:49 -05:00
vmwgfx_gmrid_manager.c drm/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
vmwgfx_ioctl.c drm/vmwgfx/vmwgfx_ioctl: Provide missing '@' sign required by kernel-doc 2021-01-19 14:18:35 -05:00
vmwgfx_irq.c drm/vmwgfx: Remove the throttling code 2021-01-14 12:14:10 -05:00
vmwgfx_kms.c drm/vmwgfx/vmwgfx_kms: Update worthy function headers and demote others 2021-01-19 14:18:39 -05:00
vmwgfx_kms.h drm/vmwgfx/vmwgfx_kms: Mark vmw_{cursor,primary}_plane_formats as __maybe_unused 2021-01-19 14:18:34 -05:00
vmwgfx_ldu.c drm/vmwgfx/vmwgfx_ldu: Supply descriptions for 'state' function parameter 2021-01-19 14:18:38 -05:00
vmwgfx_mob.c drm/vmwgfx: Make sure we unpin no longer needed buffers 2021-01-20 17:04:56 -05:00
vmwgfx_msg.c drm/vmwgfx/vmwgfx_msg: Fix misspelling of 'msg' 2021-01-19 14:19:08 -05:00
vmwgfx_msg.h drm/vmwgfx: Update the backdoor call with support for new instructions 2019-08-28 13:36:46 +02:00
vmwgfx_overlay.c drm/vmwgfx/vmwgfx_overlay: Demote kernel-doc abuses to standard comment blocks 2021-01-19 14:18:40 -05:00
vmwgfx_page_dirty.c drm/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
vmwgfx_prime.c drm/vmwgfx: Delete mmaping functions 2019-11-25 22:36:14 +01:00
vmwgfx_reg.h
vmwgfx_resource_priv.h drm/vmwgfx: Implement an infrastructure for read-coherent resources 2019-11-06 13:30:27 +01:00
vmwgfx_resource.c drm/vmwgfx/vmwgfx_resource: Fix worthy function headers demote some others 2021-01-19 14:18:36 -05:00
vmwgfx_scrn.c drm/vmwgfx/vmwgfx_scrn: Demote unworthy kernel-doc headers and update others 2021-01-19 14:18:43 -05:00
vmwgfx_shader.c drm/vmwgfx/vmwgfx_shader: Demote kernel-doc abuses and fix-up worthy headers 2021-01-19 14:18:45 -05:00
vmwgfx_simple_resource.c
vmwgfx_so.c drm/vmwgfx/vmwgfx_so: Add description for 'vmw_view's 'rcu' member 2021-01-19 14:19:07 -05:00
vmwgfx_so.h drm/vmwgfx: Add support for streamoutput with mob commands 2020-03-23 22:39:35 +01:00
vmwgfx_stdu.c drm/vmwgfx/vmwgfx_stdu: Add some missing param/member descriptions 2021-01-19 14:18:48 -05:00
vmwgfx_streamoutput.c drm/vmwgfx: Cleanup the cmd/fifo split 2021-01-14 12:15:49 -05:00
vmwgfx_surface.c drm/vmwgfx/vmwgfx_surface: Fix some kernel-doc related issues 2021-01-19 14:18:44 -05:00
vmwgfx_thp.c drm/vmwgfx/vmwgfx_thp: Add description for 'vmw_thp_manager's member 'manager' 2021-01-19 14:19:11 -05:00
vmwgfx_ttm_buffer.c drm/vmwgfx/vmwgfx_ttm_buffer: Supply some missing parameter descriptions 2021-01-19 14:18:37 -05:00
vmwgfx_ttm_glue.c drm/vmwgfx: Support huge page faults 2020-03-24 18:48:55 +01:00
vmwgfx_va.c
vmwgfx_validation.c drm/vmwgfx/vmwgfx_validation: Add some missing struct member/function param descriptions 2021-01-19 14:19:10 -05:00
vmwgfx_validation.h drm/vmwgfx: Implement an infrastructure for write-coherent resources 2019-11-06 13:04:54 +01:00