diff options
author | Dave Airlie <airlied@redhat.com> | 2018-03-22 16:18:48 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2018-03-22 16:18:48 -0400 |
commit | 2a2553cc45c889f15a1df0355891a809f17ca43d (patch) | |
tree | e5664857265d4c1d47c5191ea0b71d569ba69613 /drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | |
parent | f3924ae723d84746546bd74bdefc99c17da2a467 (diff) | |
parent | 43bfefedd0281ef476f8154397cd283a710d8baf (diff) |
Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next
A relative large set of various improvements for vmwgfx. Some of them
have been around for a while, some are relatively new, but functionality
should have been tested in our standalone repo.
* 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux:
drm/vmwgfx: Bump version patchlevel and date
drm/vmwgfx: use monotonic event timestamps
drm/vmwgfx: Unpin the screen object backup buffer when not used
drm/vmwgfx: Stricter count of legacy surface device resources
drm/vmwgfx: Use kasprintf
drm/vmwgfx: Get rid of the device-private suspended member
drm/vmwgfx: Improve on hibernation
drm/vmwgfx: Avoid pinning fbdev framebuffers
drm/vmwgfx: Fix multiple command buffer context use
drm/vmwgfx: Use the cpu blit utility for framebuffer to screen target blits
drm/vmwgfx: Add a cpu blit utility that can be used for page-backed bos
drm/ttm: Export the ttm_k[un]map_atomic_prot API.
drm/ttm: Clean up kmap_atomic_prot selection code
drm/vmwgfx: Cursor update fixes
drm/vmwgfx: Send the correct nonblock option for atomic_commit
drm/vmwgfx: Move the stdu vblank event to atomic function
drm/vmwgfx: Move screen object page flip to atomic function
drm/vmwgfx: Remove drm_crtc_arm_vblank_event from atomic flush
drm/vmwgfx: Move surface copy cmd to atomic function
drm/vmwgfx: Avoid iterating over display unit if crtc is available
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c')
-rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c index 7177eecb8c9f..21111fd091f9 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | |||
@@ -185,6 +185,22 @@ static const struct ttm_place evictable_placement_flags[] = { | |||
185 | } | 185 | } |
186 | }; | 186 | }; |
187 | 187 | ||
188 | static const struct ttm_place nonfixed_placement_flags[] = { | ||
189 | { | ||
190 | .fpfn = 0, | ||
191 | .lpfn = 0, | ||
192 | .flags = TTM_PL_FLAG_SYSTEM | TTM_PL_FLAG_CACHED | ||
193 | }, { | ||
194 | .fpfn = 0, | ||
195 | .lpfn = 0, | ||
196 | .flags = VMW_PL_FLAG_GMR | TTM_PL_FLAG_CACHED | ||
197 | }, { | ||
198 | .fpfn = 0, | ||
199 | .lpfn = 0, | ||
200 | .flags = VMW_PL_FLAG_MOB | TTM_PL_FLAG_CACHED | ||
201 | } | ||
202 | }; | ||
203 | |||
188 | struct ttm_placement vmw_evictable_placement = { | 204 | struct ttm_placement vmw_evictable_placement = { |
189 | .num_placement = 4, | 205 | .num_placement = 4, |
190 | .placement = evictable_placement_flags, | 206 | .placement = evictable_placement_flags, |
@@ -213,6 +229,13 @@ struct ttm_placement vmw_mob_ne_placement = { | |||
213 | .busy_placement = &mob_ne_placement_flags | 229 | .busy_placement = &mob_ne_placement_flags |
214 | }; | 230 | }; |
215 | 231 | ||
232 | struct ttm_placement vmw_nonfixed_placement = { | ||
233 | .num_placement = 3, | ||
234 | .placement = nonfixed_placement_flags, | ||
235 | .num_busy_placement = 1, | ||
236 | .busy_placement = &sys_placement_flags | ||
237 | }; | ||
238 | |||
216 | struct vmw_ttm_tt { | 239 | struct vmw_ttm_tt { |
217 | struct ttm_dma_tt dma_ttm; | 240 | struct ttm_dma_tt dma_ttm; |
218 | struct vmw_private *dev_priv; | 241 | struct vmw_private *dev_priv; |
@@ -841,6 +864,7 @@ static void vmw_move_notify(struct ttm_buffer_object *bo, | |||
841 | */ | 864 | */ |
842 | static void vmw_swap_notify(struct ttm_buffer_object *bo) | 865 | static void vmw_swap_notify(struct ttm_buffer_object *bo) |
843 | { | 866 | { |
867 | vmw_resource_swap_notify(bo); | ||
844 | (void) ttm_bo_wait(bo, false, false); | 868 | (void) ttm_bo_wait(bo, false, false); |
845 | } | 869 | } |
846 | 870 | ||