#include <linux/delay.h>
#include <drm/drm.h>
#include <drm/drm_file.h>
#include <drm/drm_debugfs.h>
#include <drm/qxl_drm.h>
#include <drm/ttm/ttm_bo.h>
#include <drm/ttm/ttm_placement.h>
#include <drm/ttm/ttm_range_manager.h>
#include <drm/ttm/ttm_tt.h>
#include "qxl_drv.h"
#include "qxl_object.h"
static struct qxl_device *qxl_get_qdev(struct ttm_device *bdev)
{ … }
static void qxl_evict_flags(struct ttm_buffer_object *bo,
struct ttm_placement *placement)
{ … }
int qxl_ttm_io_mem_reserve(struct ttm_device *bdev,
struct ttm_resource *mem)
{ … }
static void qxl_ttm_backend_destroy(struct ttm_device *bdev, struct ttm_tt *ttm)
{ … }
static struct ttm_tt *qxl_ttm_tt_create(struct ttm_buffer_object *bo,
uint32_t page_flags)
{ … }
static void qxl_bo_move_notify(struct ttm_buffer_object *bo,
struct ttm_resource *new_mem)
{ … }
static int qxl_bo_move(struct ttm_buffer_object *bo, bool evict,
struct ttm_operation_ctx *ctx,
struct ttm_resource *new_mem,
struct ttm_place *hop)
{ … }
static void qxl_bo_delete_mem_notify(struct ttm_buffer_object *bo)
{ … }
static struct ttm_device_funcs qxl_bo_driver = …;
static int qxl_ttm_init_mem_type(struct qxl_device *qdev,
unsigned int type,
uint64_t size)
{ … }
int qxl_ttm_init(struct qxl_device *qdev)
{ … }
void qxl_ttm_fini(struct qxl_device *qdev)
{ … }
void qxl_ttm_debugfs_init(struct qxl_device *qdev)
{ … }