diff options
| author | Thomas Zimmermann <tzimmermann@suse.de> | 2021-01-12 09:10:31 +0100 | 
|---|---|---|
| committer | Thomas Zimmermann <tzimmermann@suse.de> | 2021-01-13 14:22:29 +0100 | 
| commit | 3abc66706385e08f7003ca746be005e4c2152b09 (patch) | |
| tree | ff9073a9424c95d96b2088f44f00a9feb044358e /drivers/gpu/drm/drm_memory.c | |
| parent | ff28a9f8d3b4e2e6d07e37e0f5e15119ee4aff55 (diff) | |
drm: Implement drm_need_swiotlb() in drm_cache.c
The function is declared in drm_cache.h. I also removed the curly
braces from the for loop to adhere to kernel coding style.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210112081035.6882-3-tzimmermann@suse.de
Diffstat (limited to 'drivers/gpu/drm/drm_memory.c')
| -rw-r--r-- | drivers/gpu/drm/drm_memory.c | 33 | 
1 files changed, 0 insertions, 33 deletions
| diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c index f4f2bffdd5bd..e4f20a2eb6e7 100644 --- a/drivers/gpu/drm/drm_memory.c +++ b/drivers/gpu/drm/drm_memory.c @@ -37,7 +37,6 @@  #include <linux/highmem.h>  #include <linux/pci.h>  #include <linux/vmalloc.h> -#include <xen/xen.h>  #include <drm/drm_agpsupport.h>  #include <drm/drm_cache.h> @@ -138,35 +137,3 @@ void drm_legacy_ioremapfree(struct drm_local_map *map, struct drm_device *dev)  		iounmap(map->handle);  }  EXPORT_SYMBOL(drm_legacy_ioremapfree); - -bool drm_need_swiotlb(int dma_bits) -{ -	struct resource *tmp; -	resource_size_t max_iomem = 0; - -	/* -	 * Xen paravirtual hosts require swiotlb regardless of requested dma -	 * transfer size. -	 * -	 * NOTE: Really, what it requires is use of the dma_alloc_coherent -	 *       allocator used in ttm_dma_populate() instead of -	 *       ttm_populate_and_map_pages(), which bounce buffers so much in -	 *       Xen it leads to swiotlb buffer exhaustion. -	 */ -	if (xen_pv_domain()) -		return true; - -	/* -	 * Enforce dma_alloc_coherent when memory encryption is active as well -	 * for the same reasons as for Xen paravirtual hosts. -	 */ -	if (mem_encrypt_active()) -		return true; - -	for (tmp = iomem_resource.child; tmp; tmp = tmp->sibling) { -		max_iomem = max(max_iomem,  tmp->end); -	} - -	return max_iomem > ((u64)1 << dma_bits); -} -EXPORT_SYMBOL(drm_need_swiotlb); | 
