[AMD Official Use Only - General] On 2022-05-11 00:08, Wentland, Harry wrote: > From: Wentland, Harry <Harry.Wentland@xxxxxxx> > > On 2022-05-10 14:34, Bhawanpreet Lakha wrote: >> From: Bhawanpreet Lakha >> <Bhawanpreet.Lakha@xxxxxxxxxxxxxxxxxxxxxxxxxxx> >> >> [Why] >> we save the prev_dppclk value using "dpp_inst" but when reading this >> value we use the index "i". In a case where a pipe is fused off we can >> end up reading the incorrect instance because i != dpp_inst in this >> case. >> >> [How] >> read the prev_dppclk using dpp_inst instead of i >> >> Signed-off-by: Bhawanpreet Lakha Bhawanpreet.Lakha@xxxxxxx >> Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@xxxxxxx> > > Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> > > Harry Reviewed-by: Praful Swarnakar <praful.swarnakar@xxxxxxx> Also, verified on various affected systems to confirm fix. Regards, Praful Swarnakar >> --- >> drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c >> b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c >> index 02943ca65807..cf1b5f354ae9 100644 >> --- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c >> +++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c >> @@ -122,7 +122,7 @@ static void rn_update_clocks_update_dpp_dto(struct clk_mgr_internal *clk_mgr, >> dpp_inst = clk_mgr->base.ctx->dc->res_pool->dpps[i]->inst; >> dppclk_khz = context->res_ctx.pipe_ctx[i].plane_res.bw.dppclk_khz; >> >> - prev_dppclk_khz = clk_mgr->dccg->pipe_dppclk_khz[i]; >> + prev_dppclk_khz = clk_mgr->dccg->pipe_dppclk_khz[dpp_inst]; >> >> if (safe_to_lower || prev_dppclk_khz < dppclk_khz) >> clk_mgr->dccg->funcs->update_dpp_dto(