#include "xe_dma_buf.h"
#include <kunit/test.h>
#include <linux/dma-buf.h>
#include <linux/pci-p2pdma.h>
#include <drm/drm_device.h>
#include <drm/drm_prime.h>
#include <drm/ttm/ttm_tt.h>
#include "tests/xe_test.h"
#include "xe_bo.h"
#include "xe_device.h"
#include "xe_pm.h"
#include "xe_ttm_vram_mgr.h"
#include "xe_vm.h"
MODULE_IMPORT_NS(…);
static int xe_dma_buf_attach(struct dma_buf *dmabuf,
struct dma_buf_attachment *attach)
{ … }
static void xe_dma_buf_detach(struct dma_buf *dmabuf,
struct dma_buf_attachment *attach)
{ … }
static int xe_dma_buf_pin(struct dma_buf_attachment *attach)
{ … }
static void xe_dma_buf_unpin(struct dma_buf_attachment *attach)
{ … }
static struct sg_table *xe_dma_buf_map(struct dma_buf_attachment *attach,
enum dma_data_direction dir)
{ … }
static void xe_dma_buf_unmap(struct dma_buf_attachment *attach,
struct sg_table *sgt,
enum dma_data_direction dir)
{ … }
static int xe_dma_buf_begin_cpu_access(struct dma_buf *dma_buf,
enum dma_data_direction direction)
{ … }
static const struct dma_buf_ops xe_dmabuf_ops = …;
struct dma_buf *xe_gem_prime_export(struct drm_gem_object *obj, int flags)
{ … }
static struct drm_gem_object *
xe_dma_buf_init_obj(struct drm_device *dev, struct xe_bo *storage,
struct dma_buf *dma_buf)
{ … }
static void xe_dma_buf_move_notify(struct dma_buf_attachment *attach)
{ … }
static const struct dma_buf_attach_ops xe_dma_buf_attach_ops = …;
#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
struct dma_buf_test_params { … };
#define to_dma_buf_test_params(_priv) …
#endif
struct drm_gem_object *xe_gem_prime_import(struct drm_device *dev,
struct dma_buf *dma_buf)
{ … }
#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
#include "tests/xe_dma_buf.c"
#endif