#include <linux/io.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <drm/drm_cache.h>
#include <drm/drm_prime.h>
#include <drm/radeon_drm.h>
#include "radeon.h"
#include "radeon_trace.h"
#include "radeon_ttm.h"
static void radeon_bo_clear_surface_reg(struct radeon_bo *bo);
static void radeon_ttm_bo_destroy(struct ttm_buffer_object *tbo)
{ … }
bool radeon_ttm_bo_is_radeon_bo(struct ttm_buffer_object *bo)
{ … }
void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain)
{ … }
int radeon_bo_create(struct radeon_device *rdev,
unsigned long size, int byte_align, bool kernel,
u32 domain, u32 flags, struct sg_table *sg,
struct dma_resv *resv,
struct radeon_bo **bo_ptr)
{ … }
int radeon_bo_kmap(struct radeon_bo *bo, void **ptr)
{ … }
void radeon_bo_kunmap(struct radeon_bo *bo)
{ … }
struct radeon_bo *radeon_bo_ref(struct radeon_bo *bo)
{ … }
void radeon_bo_unref(struct radeon_bo **bo)
{ … }
int radeon_bo_pin_restricted(struct radeon_bo *bo, u32 domain, u64 max_offset,
u64 *gpu_addr)
{ … }
int radeon_bo_pin(struct radeon_bo *bo, u32 domain, u64 *gpu_addr)
{ … }
void radeon_bo_unpin(struct radeon_bo *bo)
{ … }
int radeon_bo_evict_vram(struct radeon_device *rdev)
{ … }
void radeon_bo_force_delete(struct radeon_device *rdev)
{ … }
int radeon_bo_init(struct radeon_device *rdev)
{ … }
void radeon_bo_fini(struct radeon_device *rdev)
{ … }
static u64 radeon_bo_get_threshold_for_moves(struct radeon_device *rdev)
{ … }
int radeon_bo_list_validate(struct radeon_device *rdev,
struct ww_acquire_ctx *ticket,
struct list_head *head, int ring)
{ … }
int radeon_bo_get_surface_reg(struct radeon_bo *bo)
{ … }
static void radeon_bo_clear_surface_reg(struct radeon_bo *bo)
{ … }
int radeon_bo_set_tiling_flags(struct radeon_bo *bo,
uint32_t tiling_flags, uint32_t pitch)
{ … }
void radeon_bo_get_tiling_flags(struct radeon_bo *bo,
uint32_t *tiling_flags,
uint32_t *pitch)
{ … }
int radeon_bo_check_tiling(struct radeon_bo *bo, bool has_moved,
bool force_drop)
{ … }
void radeon_bo_move_notify(struct ttm_buffer_object *bo)
{ … }
vm_fault_t radeon_bo_fault_reserve_notify(struct ttm_buffer_object *bo)
{ … }
void radeon_bo_fence(struct radeon_bo *bo, struct radeon_fence *fence,
bool shared)
{ … }