mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 17:44:14 +08:00
drm/amd/display: Use hardware sequencer functions for PG control
[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>
This commit is contained in:
parent
7a214cd846
commit
d2138be383
@ -647,8 +647,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(
|
||||
@ -1082,8 +1087,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);
|
||||
|
@ -1062,8 +1062,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(
|
||||
|
Loading…
Reference in New Issue
Block a user