mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
drm/amd/display: fix seamless odm transitions
commit 75c2b7ed08 upstream.
Add missing programming and function pointers
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Acked-by: Stylon Wang <stylon.wang@amd.com>
Signed-off-by: Dmytro Laktyushkin <dmytro.laktyushkin@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c41963e50a
commit
31fb25ecbb
@@ -1678,6 +1678,17 @@ static void dcn20_program_pipe(
|
|||||||
|
|
||||||
if (hws->funcs.setup_vupdate_interrupt)
|
if (hws->funcs.setup_vupdate_interrupt)
|
||||||
hws->funcs.setup_vupdate_interrupt(dc, pipe_ctx);
|
hws->funcs.setup_vupdate_interrupt(dc, pipe_ctx);
|
||||||
|
|
||||||
|
if (hws->funcs.calculate_dccg_k1_k2_values && dc->res_pool->dccg->funcs->set_pixel_rate_div) {
|
||||||
|
unsigned int k1_div, k2_div;
|
||||||
|
|
||||||
|
hws->funcs.calculate_dccg_k1_k2_values(pipe_ctx, &k1_div, &k2_div);
|
||||||
|
|
||||||
|
dc->res_pool->dccg->funcs->set_pixel_rate_div(
|
||||||
|
dc->res_pool->dccg,
|
||||||
|
pipe_ctx->stream_res.tg->inst,
|
||||||
|
k1_div, k2_div);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pipe_ctx->update_flags.bits.odm)
|
if (pipe_ctx->update_flags.bits.odm)
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ static void optc32_set_odm_combine(struct timing_generator *optc, int *opp_id, i
|
|||||||
optc1->opp_count = opp_cnt;
|
optc1->opp_count = opp_cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void optc32_set_h_timing_div_manual_mode(struct timing_generator *optc, bool manual_mode)
|
void optc32_set_h_timing_div_manual_mode(struct timing_generator *optc, bool manual_mode)
|
||||||
{
|
{
|
||||||
struct optc *optc1 = DCN10TG_FROM_TG(optc);
|
struct optc *optc1 = DCN10TG_FROM_TG(optc);
|
||||||
|
|
||||||
|
|||||||
@@ -250,5 +250,6 @@
|
|||||||
SF(OTG0_OTG_DRR_CONTROL, OTG_V_TOTAL_LAST_USED_BY_DRR, mask_sh)
|
SF(OTG0_OTG_DRR_CONTROL, OTG_V_TOTAL_LAST_USED_BY_DRR, mask_sh)
|
||||||
|
|
||||||
void dcn32_timing_generator_init(struct optc *optc1);
|
void dcn32_timing_generator_init(struct optc *optc1);
|
||||||
|
void optc32_set_h_timing_div_manual_mode(struct timing_generator *optc, bool manual_mode);
|
||||||
|
|
||||||
#endif /* __DC_OPTC_DCN32_H__ */
|
#endif /* __DC_OPTC_DCN32_H__ */
|
||||||
|
|||||||
Reference in New Issue
Block a user