mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-07 13:57:54 -04:00
drm/amd/display: correct static screen event mask
[Why] Hardware register definition changed Reviewed-by: Charlene Liu <charlene.liu@amd.com> Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Allen Pan <allen.pan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -1342,8 +1342,8 @@ void dcn35_set_drr(struct pipe_ctx **pipe_ctx,
|
||||
{
|
||||
int i = 0;
|
||||
struct drr_params params = {0};
|
||||
// DRR set trigger event mapped to OTG_TRIG_A (bit 11) for manual control flow
|
||||
unsigned int event_triggers = 0x800;
|
||||
// DRR set trigger event mapped to OTG_TRIG_A
|
||||
unsigned int event_triggers = 0x2;//Bit[1]: OTG_TRIG_A
|
||||
// Note DRR trigger events are generated regardless of whether num frames met.
|
||||
unsigned int num_frames = 2;
|
||||
|
||||
@@ -1377,3 +1377,20 @@ void dcn35_set_drr(struct pipe_ctx **pipe_ctx,
|
||||
}
|
||||
}
|
||||
}
|
||||
void dcn35_set_static_screen_control(struct pipe_ctx **pipe_ctx,
|
||||
int num_pipes, const struct dc_static_screen_params *params)
|
||||
{
|
||||
unsigned int i;
|
||||
unsigned int triggers = 0;
|
||||
|
||||
if (params->triggers.surface_update)
|
||||
triggers |= 0x200;/*bit 9 : 10 0000 0000*/
|
||||
if (params->triggers.cursor_update)
|
||||
triggers |= 0x8;/*bit3*/
|
||||
if (params->triggers.force_trigger)
|
||||
triggers |= 0x1;
|
||||
for (i = 0; i < num_pipes; i++)
|
||||
pipe_ctx[i]->stream_res.tg->funcs->
|
||||
set_static_screen_control(pipe_ctx[i]->stream_res.tg,
|
||||
triggers, params->num_frames);
|
||||
}
|
||||
|
||||
@@ -90,4 +90,7 @@ uint32_t dcn35_get_idle_state(const struct dc *dc);
|
||||
void dcn35_set_drr(struct pipe_ctx **pipe_ctx,
|
||||
int num_pipes, struct dc_crtc_timing_adjust adjust);
|
||||
|
||||
void dcn35_set_static_screen_control(struct pipe_ctx **pipe_ctx,
|
||||
int num_pipes, const struct dc_static_screen_params *params);
|
||||
|
||||
#endif /* __DC_HWSS_DCN35_H__ */
|
||||
|
||||
@@ -70,7 +70,7 @@ static const struct hw_sequencer_funcs dcn35_funcs = {
|
||||
.update_bandwidth = dcn20_update_bandwidth,
|
||||
.set_drr = dcn35_set_drr,
|
||||
.get_position = dcn10_get_position,
|
||||
.set_static_screen_control = dcn31_set_static_screen_control,
|
||||
.set_static_screen_control = dcn35_set_static_screen_control,
|
||||
.setup_stereo = dcn10_setup_stereo,
|
||||
.set_avmute = dcn30_set_avmute,
|
||||
.log_hw_state = dcn10_log_hw_state,
|
||||
|
||||
@@ -69,7 +69,7 @@ static const struct hw_sequencer_funcs dcn351_funcs = {
|
||||
.update_bandwidth = dcn20_update_bandwidth,
|
||||
.set_drr = dcn10_set_drr,
|
||||
.get_position = dcn10_get_position,
|
||||
.set_static_screen_control = dcn31_set_static_screen_control,
|
||||
.set_static_screen_control = dcn35_set_static_screen_control,
|
||||
.setup_stereo = dcn10_setup_stereo,
|
||||
.set_avmute = dcn30_set_avmute,
|
||||
.log_hw_state = dcn10_log_hw_state,
|
||||
|
||||
Reference in New Issue
Block a user