#include "radeon.h"
#include "radeon_asic.h"
#include "r600.h"
#include "evergreend.h"
#include "evergreen_reg_safe.h"
#include "cayman_reg_safe.h"
#ifndef MIN
#define MAX …
#define MIN …
#endif
#define REG_SAFE_BM_SIZE …
struct evergreen_cs_track { … };
static u32 evergreen_cs_get_aray_mode(u32 tiling_flags)
{ … }
static u32 evergreen_cs_get_num_banks(u32 nbanks)
{ … }
static void evergreen_cs_track_init(struct evergreen_cs_track *track)
{ … }
struct eg_surface { … };
static int evergreen_surface_check_linear(struct radeon_cs_parser *p,
struct eg_surface *surf,
const char *prefix)
{ … }
static int evergreen_surface_check_linear_aligned(struct radeon_cs_parser *p,
struct eg_surface *surf,
const char *prefix)
{ … }
static int evergreen_surface_check_1d(struct radeon_cs_parser *p,
struct eg_surface *surf,
const char *prefix)
{ … }
static int evergreen_surface_check_2d(struct radeon_cs_parser *p,
struct eg_surface *surf,
const char *prefix)
{ … }
static int evergreen_surface_check(struct radeon_cs_parser *p,
struct eg_surface *surf,
const char *prefix)
{ … }
static int evergreen_surface_value_conv_check(struct radeon_cs_parser *p,
struct eg_surface *surf,
const char *prefix)
{ … }
static int evergreen_cs_track_validate_cb(struct radeon_cs_parser *p, unsigned id)
{ … }
static int evergreen_cs_track_validate_htile(struct radeon_cs_parser *p,
unsigned nbx, unsigned nby)
{ … }
static int evergreen_cs_track_validate_stencil(struct radeon_cs_parser *p)
{ … }
static int evergreen_cs_track_validate_depth(struct radeon_cs_parser *p)
{ … }
static int evergreen_cs_track_validate_texture(struct radeon_cs_parser *p,
struct radeon_bo *texture,
struct radeon_bo *mipmap,
unsigned idx)
{ … }
static int evergreen_cs_track_check(struct radeon_cs_parser *p)
{ … }
static int evergreen_cs_packet_parse_vline(struct radeon_cs_parser *p)
{ … }
static int evergreen_packet0_check(struct radeon_cs_parser *p,
struct radeon_cs_packet *pkt,
unsigned idx, unsigned reg)
{ … }
static int evergreen_cs_parse_packet0(struct radeon_cs_parser *p,
struct radeon_cs_packet *pkt)
{ … }
static int evergreen_cs_handle_reg(struct radeon_cs_parser *p, u32 reg, u32 idx)
{ … }
static inline bool evergreen_is_safe_reg(struct radeon_cs_parser *p, u32 reg)
{ … }
static int evergreen_packet3_check(struct radeon_cs_parser *p,
struct radeon_cs_packet *pkt)
{ … }
int evergreen_cs_parse(struct radeon_cs_parser *p)
{ … }
int evergreen_dma_cs_parse(struct radeon_cs_parser *p)
{ … }
static bool evergreen_vm_reg_valid(u32 reg)
{ … }
static int evergreen_vm_packet3_check(struct radeon_device *rdev,
u32 *ib, struct radeon_cs_packet *pkt)
{ … }
int evergreen_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib)
{ … }
int evergreen_dma_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib)
{ … }