// SPDX-License-Identifier: GPL-2.0-only/* * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/ * Author: Rob Clark <rob.clark@linaro.org> */#include<linux/dma-mapping.h>#include<linux/seq_file.h>#include<linux/shmem_fs.h>#include<linux/spinlock.h>#include<linux/pfn_t.h>#include<linux/vmalloc.h>#include<drm/drm_prime.h>#include<drm/drm_vma_manager.h>#include"omap_drv.h"#include"omap_dmm_tiler.h"/* * GEM buffer object implementation. *//* note: we use upper 8 bits of flags for driver-internal flags: */#define OMAP_BO_MEM_DMA_API 0x01000000 /* memory allocated with the dma_alloc_* API */#define OMAP_BO_MEM_SHMEM 0x02000000 /* memory allocated through shmem backing */#define OMAP_BO_MEM_DMABUF 0x08000000 /* memory imported from a dmabuf */structomap_gem_object{structdrm_gem_objectbase;structlist_headmm_list;u32flags;/** width/height for tiled formats (rounded up to slot boundaries) */u16width