mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
drm/amd/display: Update DCN31 for DCN35 support
[Why & How] Update DCN31 files for DCN35 usage. Signed-off-by: Qingqing Zhuo <Qingqing.Zhuo@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
0ccd770ab0
commit
efc1d1c989
3 changed files with 17 additions and 2 deletions
|
@ -104,7 +104,10 @@ struct dcn31_hpo_dp_link_encoder_registers {
|
||||||
uint32_t RDPCSTX_PHY_CNTL6[5];
|
uint32_t RDPCSTX_PHY_CNTL6[5];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define DCN3_1_HPO_DP_LINK_ENC_MASK_SH_LIST(mask_sh)\
|
#define DCN3_1_HPO_DP_LINK_ENC_RDPCSTX_MASK_SH_LIST(mask_sh)\
|
||||||
|
SE_SF(RDPCSTX0_RDPCSTX_PHY_CNTL6, RDPCS_PHY_DPALT_DISABLE, mask_sh)
|
||||||
|
|
||||||
|
#define DCN3_1_HPO_DP_LINK_ENC_COMMON_MASK_SH_LIST(mask_sh)\
|
||||||
SE_SF(DP_LINK_ENC0_DP_LINK_ENC_CLOCK_CONTROL, DP_LINK_ENC_CLOCK_EN, mask_sh),\
|
SE_SF(DP_LINK_ENC0_DP_LINK_ENC_CLOCK_CONTROL, DP_LINK_ENC_CLOCK_EN, mask_sh),\
|
||||||
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_CONTROL, DPHY_RESET, mask_sh),\
|
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_CONTROL, DPHY_RESET, mask_sh),\
|
||||||
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_CONTROL, DPHY_ENABLE, mask_sh),\
|
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_CONTROL, DPHY_ENABLE, mask_sh),\
|
||||||
|
@ -126,11 +129,14 @@ struct dcn31_hpo_dp_link_encoder_registers {
|
||||||
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_TP_SQ_PULSE, TP_SQ_PULSE_WIDTH, mask_sh),\
|
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_TP_SQ_PULSE, TP_SQ_PULSE_WIDTH, mask_sh),\
|
||||||
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_SAT_VC0, SAT_STREAM_SOURCE, mask_sh),\
|
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_SAT_VC0, SAT_STREAM_SOURCE, mask_sh),\
|
||||||
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_SAT_VC0, SAT_SLOT_COUNT, mask_sh),\
|
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_SAT_VC0, SAT_SLOT_COUNT, mask_sh),\
|
||||||
SE_SF(RDPCSTX0_RDPCSTX_PHY_CNTL6, RDPCS_PHY_DPALT_DISABLE, mask_sh),\
|
|
||||||
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_VC_RATE_CNTL0, STREAM_VC_RATE_X, mask_sh),\
|
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_VC_RATE_CNTL0, STREAM_VC_RATE_X, mask_sh),\
|
||||||
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_VC_RATE_CNTL0, STREAM_VC_RATE_Y, mask_sh),\
|
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_VC_RATE_CNTL0, STREAM_VC_RATE_Y, mask_sh),\
|
||||||
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_SAT_UPDATE, SAT_UPDATE, mask_sh)
|
SE_SF(DP_DPHY_SYM320_DP_DPHY_SYM32_SAT_UPDATE, SAT_UPDATE, mask_sh)
|
||||||
|
|
||||||
|
#define DCN3_1_HPO_DP_LINK_ENC_MASK_SH_LIST(mask_sh)\
|
||||||
|
DCN3_1_HPO_DP_LINK_ENC_COMMON_MASK_SH_LIST(mask_sh),\
|
||||||
|
DCN3_1_HPO_DP_LINK_ENC_RDPCSTX_MASK_SH_LIST(mask_sh)\
|
||||||
|
|
||||||
#define DCN3_1_HPO_DP_LINK_ENC_REG_FIELD_LIST(type) \
|
#define DCN3_1_HPO_DP_LINK_ENC_REG_FIELD_LIST(type) \
|
||||||
type DP_LINK_ENC_CLOCK_EN;\
|
type DP_LINK_ENC_CLOCK_EN;\
|
||||||
type DPHY_RESET;\
|
type DPHY_RESET;\
|
||||||
|
|
|
@ -62,6 +62,12 @@ static void hubp31_program_extended_blank(struct hubp *hubp,
|
||||||
REG_UPDATE(BLANK_OFFSET_1, MIN_DST_Y_NEXT_START, min_dst_y_next_start_optimized);
|
REG_UPDATE(BLANK_OFFSET_1, MIN_DST_Y_NEXT_START, min_dst_y_next_start_optimized);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void hubp31_program_extended_blank_value(
|
||||||
|
struct hubp *hubp, unsigned int min_dst_y_next_start_optimized)
|
||||||
|
{
|
||||||
|
hubp31_program_extended_blank(hubp, min_dst_y_next_start_optimized);
|
||||||
|
}
|
||||||
|
|
||||||
static struct hubp_funcs dcn31_hubp_funcs = {
|
static struct hubp_funcs dcn31_hubp_funcs = {
|
||||||
.hubp_enable_tripleBuffer = hubp2_enable_triplebuffer,
|
.hubp_enable_tripleBuffer = hubp2_enable_triplebuffer,
|
||||||
.hubp_is_triplebuffer_enabled = hubp2_is_triplebuffer_enabled,
|
.hubp_is_triplebuffer_enabled = hubp2_is_triplebuffer_enabled,
|
||||||
|
|
|
@ -243,4 +243,7 @@ void hubp31_soft_reset(struct hubp *hubp, bool reset);
|
||||||
|
|
||||||
void hubp31_set_unbounded_requesting(struct hubp *hubp, bool enable);
|
void hubp31_set_unbounded_requesting(struct hubp *hubp, bool enable);
|
||||||
|
|
||||||
|
void hubp31_program_extended_blank_value(
|
||||||
|
struct hubp *hubp, unsigned int min_dst_y_next_start_optimized);
|
||||||
|
|
||||||
#endif /* __DC_HUBP_DCN31_H__ */
|
#endif /* __DC_HUBP_DCN31_H__ */
|
||||||
|
|
Loading…
Reference in a new issue