drm/amd/display: Move vupdate keepout programming from DCN20 to DCN10
[Why] The OTG_VUPDATE_KEEPOUT register and fields is available on DCN10, and named the same in DCN20. [How] Move register definition and programming function to dcn10 optc. There is no functional change. Signed-off-by: Leo Li <sunpeng.li@amd.com> Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
148493a81e
commit
9df857f930
@ -131,6 +131,22 @@ void optc1_setup_vertical_interrupt2(
|
||||
OTG_VERTICAL_INTERRUPT2_LINE_START, start_line);
|
||||
}
|
||||
|
||||
/**
|
||||
* Vupdate keepout can be set to a window to block the update lock for that pipe from changing.
|
||||
* Start offset begins with vstartup and goes for x number of clocks,
|
||||
* end offset starts from end of vupdate to x number of clocks.
|
||||
*/
|
||||
void optc1_set_vupdate_keepout(struct timing_generator *optc,
|
||||
struct vupdate_keepout_params *params)
|
||||
{
|
||||
struct optc *optc1 = DCN10TG_FROM_TG(optc);
|
||||
|
||||
REG_SET_3(OTG_VUPDATE_KEEPOUT, 0,
|
||||
MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_START_OFFSET, params->start_offset,
|
||||
MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_END_OFFSET, params->end_offset,
|
||||
OTG_MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_EN, params->enable);
|
||||
}
|
||||
|
||||
/**
|
||||
* program_timing_generator used by mode timing set
|
||||
* Program CRTC Timing Registers - OTG_H_*, OTG_V_*, Pixel repetition.
|
||||
|
@ -194,6 +194,9 @@ struct dcn_optc_registers {
|
||||
SF(OTG0_OTG_DOUBLE_BUFFER_CONTROL, OTG_UPDATE_PENDING, mask_sh),\
|
||||
SF(OTG0_OTG_DOUBLE_BUFFER_CONTROL, OTG_BLANK_DATA_DOUBLE_BUFFER_EN, mask_sh),\
|
||||
SF(OTG0_OTG_DOUBLE_BUFFER_CONTROL, OTG_RANGE_TIMING_DBUF_UPDATE_MODE, mask_sh),\
|
||||
SF(OTG0_OTG_VUPDATE_KEEPOUT, OTG_MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_EN, mask_sh), \
|
||||
SF(OTG0_OTG_VUPDATE_KEEPOUT, MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_START_OFFSET, mask_sh), \
|
||||
SF(OTG0_OTG_VUPDATE_KEEPOUT, MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_END_OFFSET, mask_sh), \
|
||||
SF(OTG0_OTG_H_TOTAL, OTG_H_TOTAL, mask_sh),\
|
||||
SF(OTG0_OTG_H_BLANK_START_END, OTG_H_BLANK_START, mask_sh),\
|
||||
SF(OTG0_OTG_H_BLANK_START_END, OTG_H_BLANK_END, mask_sh),\
|
||||
|
@ -134,22 +134,6 @@ void optc2_set_gsl_window(struct timing_generator *optc,
|
||||
OTG_GSL_WINDOW_END_Y, params->gsl_window_end_y);
|
||||
}
|
||||
|
||||
/**
|
||||
* Vupdate keepout can be set to a window to block the update lock for that pipe from changing.
|
||||
* Start offset begins with vstartup and goes for x number of clocks,
|
||||
* end offset starts from end of vupdate to x number of clocks.
|
||||
*/
|
||||
void optc2_set_vupdate_keepout(struct timing_generator *optc,
|
||||
const struct vupdate_keepout_params *params)
|
||||
{
|
||||
struct optc *optc1 = DCN10TG_FROM_TG(optc);
|
||||
|
||||
REG_SET_3(OTG_VUPDATE_KEEPOUT, 0,
|
||||
MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_START_OFFSET, params->start_offset,
|
||||
MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_END_OFFSET, params->end_offset,
|
||||
OTG_MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_EN, params->enable);
|
||||
}
|
||||
|
||||
void optc2_set_gsl_source_select(
|
||||
struct timing_generator *optc,
|
||||
int group_idx,
|
||||
|
@ -56,9 +56,6 @@
|
||||
SF(OTG0_OTG_GSL_WINDOW_X, OTG_GSL_WINDOW_END_X, mask_sh), \
|
||||
SF(OTG0_OTG_GSL_WINDOW_Y, OTG_GSL_WINDOW_START_Y, mask_sh),\
|
||||
SF(OTG0_OTG_GSL_WINDOW_Y, OTG_GSL_WINDOW_END_Y, mask_sh),\
|
||||
SF(OTG0_OTG_VUPDATE_KEEPOUT, OTG_MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_EN, mask_sh), \
|
||||
SF(OTG0_OTG_VUPDATE_KEEPOUT, MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_START_OFFSET, mask_sh), \
|
||||
SF(OTG0_OTG_VUPDATE_KEEPOUT, MASTER_UPDATE_LOCK_VUPDATE_KEEPOUT_END_OFFSET, mask_sh), \
|
||||
SF(OTG0_OTG_GSL_CONTROL, OTG_GSL_MASTER_MODE, mask_sh), \
|
||||
SF(OTG0_OTG_GSL_CONTROL, OTG_MASTER_UPDATE_LOCK_GSL_EN, mask_sh), \
|
||||
SF(OTG0_OTG_DSC_START_POSITION, OTG_DSC_START_POSITION_X, mask_sh), \
|
||||
|
Loading…
x
Reference in New Issue
Block a user