diff options
author | Dave Airlie <airlied@redhat.com> | 2020-11-06 14:37:56 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2020-11-06 15:00:01 +1000 |
commit | c0f98d2f8b076bf3e3183aa547395f919c943a14 (patch) | |
tree | 943ca640139742367c9b22aaec0c9f7b67ab631e /drivers/gpu/drm/ttm/ttm_bo.c | |
parent | e047c7be173caab95f3876ab30c03ebcf654c300 (diff) | |
parent | 24e146cdf9f5a8fb464dd98ba8357d662d37d22f (diff) |
Merge tag 'drm-misc-next-2020-11-05' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.11:
UAPI Changes:
Cross-subsystem Changes:
- arch/arm64: Describe G12b GPU as coherent
- iommu: Support coherency for Mali LPAE
Core Changes:
- atomic: Pass full state to CRTC atomic_{check, begin, flush}(); Use
atomic-state pointers
- drm: Remove SCATTER_LIST_MAX_SEGMENT; Cleanups
- doc: Document legacy_cursor_update better; cleanups
- edid: Don't warn n EDIDs of zero
- ttm: New backend allocation pool; Remove old page allocator; Rework
no_retry handling; Replace flags with booleans in struct ttm_operation_ctx
- vram-helper: Cleanups
- fbdev: Cleanups
- console: Store font size as unsigned value
Driver Changes:
- ast: Support new display mode
- amdgpu: Switch to new TTM allocator
- hisilicon: Cleanups
- nouveau: Switch to new TTM allocator; Fix include of swiotbl.h and
limits.h; Use state helper instead of CRTC state pointer
- panfrost: Support cache-coherent integrations; Fix mutex corruption on
open/close; Cleanupse
- qxl: Cleanups
- radeon: Switch to new TTM allocator
- ticdc: Fix build failure
- vmwgfx: Switch to new TTM allocator
- xlnx: Use dma_request_chan
- fbdev/sh_mobile: Cleanups
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20201105101641.GA13099@linux-uq9g
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_bo.c')
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_bo.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index f51b5e20fa17..e2a124b3affb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -637,7 +637,7 @@ static bool ttm_bo_evict_swapout_allowable(struct ttm_buffer_object *bo, if (bo->base.resv == ctx->resv) { dma_resv_assert_held(bo->base.resv); - if (ctx->flags & TTM_OPT_FLAG_ALLOW_RES_EVICT) + if (ctx->allow_res_evict) ret = true; *locked = false; if (busy) @@ -1283,6 +1283,8 @@ int ttm_bo_device_release(struct ttm_bo_device *bdev) pr_debug("Swap list %d was clean\n", i); spin_unlock(&glob->lru_lock); + ttm_pool_fini(&bdev->pool); + if (!ret) ttm_bo_global_release(); @@ -1307,9 +1309,10 @@ static void ttm_bo_init_sysman(struct ttm_bo_device *bdev) int ttm_bo_device_init(struct ttm_bo_device *bdev, struct ttm_bo_driver *driver, + struct device *dev, struct address_space *mapping, struct drm_vma_offset_manager *vma_manager, - bool need_dma32) + bool use_dma_alloc, bool use_dma32) { struct ttm_bo_global *glob = &ttm_bo_glob; int ret; @@ -1324,12 +1327,12 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev, bdev->driver = driver; ttm_bo_init_sysman(bdev); + ttm_pool_init(&bdev->pool, dev, use_dma_alloc, use_dma32); bdev->vma_manager = vma_manager; INIT_DELAYED_WORK(&bdev->wq, ttm_bo_delayed_workqueue); INIT_LIST_HEAD(&bdev->ddestroy); bdev->dev_mapping = mapping; - bdev->need_dma32 = need_dma32; mutex_lock(&ttm_global_mutex); list_add_tail(&bdev->device_list, &glob->device_list); mutex_unlock(&ttm_global_mutex); |