#define FN(reg_name, field_name) \
mi->mi_shift->field_name, mi->mi_mask->field_name
-static void min10_set_blank(struct mem_input *mem_input, bool blank)
+void min10_set_blank(struct mem_input *mem_input, bool blank)
{
struct dcn10_mem_input *mi = TO_DCN10_MEM_INPUT(mem_input);
uint32_t blank_en = blank ? 1 : 0;
REG_WRITE(HUBPREQ_DEBUG_DB, value);
}
-static void min10_program_tiling(
+void min10_program_tiling(
struct dcn10_mem_input *mi,
const union dc_tiling_info *info,
const enum surface_pixel_format pixel_format)
PIPE_ALIGNED, info->gfx9.pipe_aligned);
}
-static void min10_program_size_and_rotation(
+void min10_program_size_and_rotation(
struct dcn10_mem_input *mi,
enum dc_rotation_angle rotation,
enum surface_pixel_format format,
H_MIRROR_EN, mirror);
}
-static void min10_program_pixel_format(
+void min10_program_pixel_format(
struct dcn10_mem_input *mi,
enum surface_pixel_format format)
{
/* don't see the need of program the xbar in DCN 1.0 */
}
-static bool min10_program_surface_flip_and_addr(
+bool min10_program_surface_flip_and_addr(
struct mem_input *mem_input,
const struct dc_plane_address *address,
bool flip_immediate)
return true;
}
-static void min10_dcc_control(struct mem_input *mem_input, bool enable,
+void min10_dcc_control(struct mem_input *mem_input, bool enable,
bool independent_64b_blks)
{
uint32_t dcc_en = enable ? 1 : 0;
min10_program_pixel_format(mi, format);
}
-static void min10_program_requestor(
+void min10_program_requestor(
struct mem_input *mem_input,
struct _vcs_dpi_display_rq_regs_st *rq_regs)
{
}
-static void min10_program_deadline(
+void min10_program_deadline(
struct mem_input *mem_input,
struct _vcs_dpi_display_dlg_regs_st *dlg_attr,
struct _vcs_dpi_display_ttu_regs_st *ttu_attr)
min10_vready_workaround(mem_input, pipe_dest);
}
-static void min10_program_display_marks(
+void min10_program_display_marks(
struct mem_input *mem_input,
struct dce_watermarks nbp,
struct dce_watermarks stutter,
*/
}
-static bool min10_is_flip_pending(struct mem_input *mem_input)
+bool min10_is_flip_pending(struct mem_input *mem_input)
{
uint32_t flip_pending = 0;
struct dcn10_mem_input *mi = TO_DCN10_MEM_INPUT(mem_input);
SYSTEM_ACCESS_MODE, 3);
}
-static void min_set_viewport(
+void min_set_viewport(
struct mem_input *mem_input,
const struct rect *viewport,
const struct rect *viewport_c)
return line_per_chunk;
}
-static void ippn10_cursor_set_attributes(
+void ippn10_cursor_set_attributes(
struct mem_input *mem_input,
const struct dc_cursor_attributes *attr)
{
attr->color_format);
}
-static void ippn10_cursor_set_position(
+void ippn10_cursor_set_position(
struct mem_input *mem_input,
const struct dc_cursor_position *pos,
const struct dc_cursor_mi_param *param)
const struct dcn_mi_mask *mi_mask;
};
+void min10_program_deadline(
+ struct mem_input *mem_input,
+ struct _vcs_dpi_display_dlg_regs_st *dlg_attr,
+ struct _vcs_dpi_display_ttu_regs_st *ttu_attr);
+
+void min10_program_requestor(
+ struct mem_input *mem_input,
+ struct _vcs_dpi_display_rq_regs_st *rq_regs);
+
+void min10_program_pixel_format(
+ struct dcn10_mem_input *mi,
+ enum surface_pixel_format format);
+
+void min10_program_size_and_rotation(
+ struct dcn10_mem_input *mi,
+ enum dc_rotation_angle rotation,
+ enum surface_pixel_format format,
+ const union plane_size *plane_size,
+ struct dc_plane_dcc_param *dcc,
+ bool horizontal_mirror);
+
+void min10_program_tiling(
+ struct dcn10_mem_input *mi,
+ const union dc_tiling_info *info,
+ const enum surface_pixel_format pixel_format);
+
+void min10_dcc_control(struct mem_input *mem_input,
+ bool enable,
+ bool independent_64b_blks);
+
+void min10_program_display_marks(
+ struct mem_input *mem_input,
+ struct dce_watermarks nbp,
+ struct dce_watermarks stutter,
+ struct dce_watermarks urgent,
+ uint32_t total_dest_line_time_ns);
+
+bool min10_program_surface_flip_and_addr(
+ struct mem_input *mem_input,
+ const struct dc_plane_address *address,
+ bool flip_immediate);
+
+bool min10_is_flip_pending(struct mem_input *mem_input);
+
+void ippn10_cursor_set_attributes(
+ struct mem_input *mem_input,
+ const struct dc_cursor_attributes *attr);
+
+void ippn10_cursor_set_position(
+ struct mem_input *mem_input,
+ const struct dc_cursor_position *pos,
+ const struct dc_cursor_mi_param *param);
+
+void min10_set_blank(struct mem_input *mem_input, bool blank);
+
+void min_set_viewport(struct mem_input *mem_input,
+ const struct rect *viewport,
+ const struct rect *viewport_c);
+
void dcn10_mem_input_construct(
struct dcn10_mem_input *mi,
struct dc_context *ctx,
const struct dcn_mi_shift *mi_shift,
const struct dcn_mi_mask *mi_mask);
+
struct dcn_hubp_state {
uint32_t pixel_format;
uint32_t inuse_addr_hi;