Commit eced4bce authored by Ilya Bakoulin's avatar Ilya Bakoulin Committed by Alex Deucher

drm/amd/display: Fix some HUBP programming issues

[Why]
A hubp pointer was being passed to DCN1 functions, which
expect the enclosing structure (for the purpose of container_of macros)
to be dcn10_hubp, but the actual type was dcn20_hubp.

[How]
Copy existing DCN1 functions and alter them slightly for use with
dcn20_hubp.
Signed-off-by: default avatarIlya Bakoulin <Ilya.Bakoulin@amd.com>
Reviewed-by: default avatarCharlene Liu <Charlene.Liu@amd.com>
Acked-by: default avatarLeo Li <sunpeng.li@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 24f1d1ce
...@@ -267,6 +267,24 @@ bool hubp2_program_surface_flip_and_addr( ...@@ -267,6 +267,24 @@ bool hubp2_program_surface_flip_and_addr(
const struct dc_plane_address *address, const struct dc_plane_address *address,
bool flip_immediate); bool flip_immediate);
void hubp2_dcc_control(struct hubp *hubp, bool enable,
bool independent_64b_blks);
void hubp2_program_size(
struct hubp *hubp,
enum surface_pixel_format format,
const union plane_size *plane_size,
struct dc_plane_dcc_param *dcc);
void hubp2_program_rotation(
struct hubp *hubp,
enum dc_rotation_angle rotation,
bool horizontal_mirror);
void hubp2_program_pixel_format(
struct hubp *hubp,
enum surface_pixel_format format);
void hubp2_program_surface_config( void hubp2_program_surface_config(
struct hubp *hubp, struct hubp *hubp,
enum surface_pixel_format format, enum surface_pixel_format format,
...@@ -277,6 +295,25 @@ void hubp2_program_surface_config( ...@@ -277,6 +295,25 @@ void hubp2_program_surface_config(
bool horizontal_mirror, bool horizontal_mirror,
unsigned int compat_level); unsigned int compat_level);
bool hubp2_is_flip_pending(struct hubp *hubp);
void hubp2_set_blank(struct hubp *hubp, bool blank);
void hubp2_cursor_set_position(
struct hubp *hubp,
const struct dc_cursor_position *pos,
const struct dc_cursor_mi_param *param);
void hubp2_clk_cntl(struct hubp *hubp, bool enable);
void hubp2_vtg_sel(struct hubp *hubp, uint32_t otg_inst);
void hubp2_clear_underflow(struct hubp *hubp);
void hubp2_read_state_common(struct hubp *hubp);
void hubp2_read_state(struct hubp *hubp);
#endif /* __DC_MEM_INPUT_DCN20_H__ */ #endif /* __DC_MEM_INPUT_DCN20_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment