drm/amd/display: Use hardware sequencer functions for PG control
[ Upstream commit c74f865f14318217350aa33363577cb95b06eb82 ] [Why & How] These can differ per ASIC or not be present. Don't call the dcn20 ones directly but rather the ones defined by the ASIC init table. Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Eric Yang <eric.yang2@amd.com> Acked-by: Anson Jacob <anson.jacob@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
95850b9d0b
commit
932ab13b8a
@ -646,8 +646,13 @@ static void power_on_plane(
|
||||
if (REG(DC_IP_REQUEST_CNTL)) {
|
||||
REG_SET(DC_IP_REQUEST_CNTL, 0,
|
||||
IP_REQUEST_EN, 1);
|
||||
hws->funcs.dpp_pg_control(hws, plane_id, true);
|
||||
hws->funcs.hubp_pg_control(hws, plane_id, true);
|
||||
|
||||
if (hws->funcs.dpp_pg_control)
|
||||
hws->funcs.dpp_pg_control(hws, plane_id, true);
|
||||
|
||||
if (hws->funcs.hubp_pg_control)
|
||||
hws->funcs.hubp_pg_control(hws, plane_id, true);
|
||||
|
||||
REG_SET(DC_IP_REQUEST_CNTL, 0,
|
||||
IP_REQUEST_EN, 0);
|
||||
DC_LOG_DEBUG(
|
||||
@ -1079,8 +1084,13 @@ void dcn10_plane_atomic_power_down(struct dc *dc,
|
||||
if (REG(DC_IP_REQUEST_CNTL)) {
|
||||
REG_SET(DC_IP_REQUEST_CNTL, 0,
|
||||
IP_REQUEST_EN, 1);
|
||||
hws->funcs.dpp_pg_control(hws, dpp->inst, false);
|
||||
hws->funcs.hubp_pg_control(hws, hubp->inst, false);
|
||||
|
||||
if (hws->funcs.dpp_pg_control)
|
||||
hws->funcs.dpp_pg_control(hws, dpp->inst, false);
|
||||
|
||||
if (hws->funcs.hubp_pg_control)
|
||||
hws->funcs.hubp_pg_control(hws, hubp->inst, false);
|
||||
|
||||
dpp->funcs->dpp_reset(dpp);
|
||||
REG_SET(DC_IP_REQUEST_CNTL, 0,
|
||||
IP_REQUEST_EN, 0);
|
||||
|
@ -1069,8 +1069,13 @@ static void dcn20_power_on_plane(
|
||||
if (REG(DC_IP_REQUEST_CNTL)) {
|
||||
REG_SET(DC_IP_REQUEST_CNTL, 0,
|
||||
IP_REQUEST_EN, 1);
|
||||
dcn20_dpp_pg_control(hws, pipe_ctx->plane_res.dpp->inst, true);
|
||||
dcn20_hubp_pg_control(hws, pipe_ctx->plane_res.hubp->inst, true);
|
||||
|
||||
if (hws->funcs.dpp_pg_control)
|
||||
hws->funcs.dpp_pg_control(hws, pipe_ctx->plane_res.dpp->inst, true);
|
||||
|
||||
if (hws->funcs.hubp_pg_control)
|
||||
hws->funcs.hubp_pg_control(hws, pipe_ctx->plane_res.hubp->inst, true);
|
||||
|
||||
REG_SET(DC_IP_REQUEST_CNTL, 0,
|
||||
IP_REQUEST_EN, 0);
|
||||
DC_LOG_DEBUG(
|
||||
|
Reference in New Issue
Block a user