#include "dcn30/dcn30_hubbub.h"
#include "dcn401_hubbub.h"
#include "dm_services.h"
#include "reg_helper.h"
#define CTX …
#define DC_LOGGER …
#define REG(reg) …
#undef FN
#define FN(reg_name, field_name) …
static void dcn401_init_crb(struct hubbub *hubbub)
{ … }
bool hubbub401_program_urgent_watermarks(
struct hubbub *hubbub,
union dcn_watermark_set *watermarks,
unsigned int refclk_mhz,
bool safe_to_lower)
{ … }
bool hubbub401_program_stutter_watermarks(
struct hubbub *hubbub,
union dcn_watermark_set *watermarks,
unsigned int refclk_mhz,
bool safe_to_lower)
{ … }
bool hubbub401_program_pstate_watermarks(
struct hubbub *hubbub,
union dcn_watermark_set *watermarks,
unsigned int refclk_mhz,
bool safe_to_lower)
{ … }
bool hubbub401_program_usr_watermarks(
struct hubbub *hubbub,
union dcn_watermark_set *watermarks,
unsigned int refclk_mhz,
bool safe_to_lower)
{ … }
static bool hubbub401_program_watermarks(
struct hubbub *hubbub,
union dcn_watermark_set *watermarks,
unsigned int refclk_mhz,
bool safe_to_lower)
{ … }
static void hubbub401_init_watermarks(struct hubbub *hubbub)
{ … }
static void hubbub401_wm_read_state(struct hubbub *hubbub,
struct dcn_hubbub_wm *wm)
{ … }
bool hubbub401_dcc_support_swizzle(
enum swizzle_mode_addr3_values swizzle,
unsigned int plane_pitch,
unsigned int bytes_per_element,
enum segment_order *segment_order_horz,
enum segment_order *segment_order_vert)
{ … }
bool hubbub401_dcc_support_pixel_format(
enum surface_pixel_format format,
unsigned int *plane0_bpe,
unsigned int *plane1_bpe)
{ … }
void hubbub401_get_blk256_size(unsigned int *blk256_width, unsigned int *blk256_height,
unsigned int bytes_per_element)
{ … }
void hubbub401_det_request_size(
unsigned int detile_buf_size,
enum surface_pixel_format format,
unsigned int p0_height,
unsigned int p0_width,
unsigned int p0_bpe,
unsigned int p1_height,
unsigned int p1_width,
unsigned int p1_bpe,
bool *p0_req128_horz_wc,
bool *p0_req128_vert_wc,
bool *p1_req128_horz_wc,
bool *p1_req128_vert_wc)
{ … }
bool hubbub401_get_dcc_compression_cap(struct hubbub *hubbub,
const struct dc_dcc_surface_param *input,
struct dc_surface_dcc_cap *output)
{ … }
static void dcn401_program_det_segments(struct hubbub *hubbub, int hubp_inst, unsigned det_buffer_size_seg)
{ … }
static void dcn401_program_compbuf_segments(struct hubbub *hubbub, unsigned compbuf_size_seg, bool safe_to_increase)
{ … }
static const struct hubbub_funcs hubbub4_01_funcs = …;
void hubbub401_construct(struct dcn20_hubbub *hubbub2,
struct dc_context *ctx,
const struct dcn_hubbub_registers *hubbub_regs,
const struct dcn_hubbub_shift *hubbub_shift,
const struct dcn_hubbub_mask *hubbub_mask,
int det_size_kb,
int pixel_chunk_size_kb,
int config_return_buffer_size_kb)
{ … }