diff options
author | Reza Amini <reza.amini@amd.com> | 2023-06-26 14:50:01 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2023-07-18 11:16:23 -0400 |
commit | da915efaa213a33451965db1314a75a39219df65 (patch) | |
tree | 57ef91ed396b54c8ddc0b01a90d3b49e26947c48 /drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | |
parent | 085f7bd955129191d38314a5189c1c27ae014faa (diff) | |
download | linux-da915efaa213a33451965db1314a75a39219df65.tar.gz linux-da915efaa213a33451965db1314a75a39219df65.tar.bz2 linux-da915efaa213a33451965db1314a75a39219df65.zip |
drm/amd/display: ABM pause toggle
[why]
Allow ABM states to be transferred across display
adapters for smooth display transitions.
[how]
We call DMUB to pause and get ABM states. We
transfer data to other gpu, and deliver data and
ask ABM to un-pause.
Reviewed-by: Harry Vanzylldejong <harry.vanzylldejong@amd.com>
Acked-by: Alan Liu <haoping.liu@amd.com>
Signed-off-by: Reza Amini <reza.amini@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/inc/hw/abm.h')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h b/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h index d2190a3320f6..33db15d69f23 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h @@ -27,6 +27,8 @@ #include "dm_services_types.h" +struct abm_save_restore; + struct abm { struct dc_context *ctx; const struct abm_funcs *funcs; @@ -55,6 +57,10 @@ struct abm_funcs { unsigned int bytes, unsigned int inst); bool (*set_abm_pause)(struct abm *abm, bool pause, unsigned int panel_inst, unsigned int otg_inst); + bool (*save_restore)( + struct abm *abm, + unsigned int panel_inst, + struct abm_save_restore *pData); bool (*set_pipe_ex)(struct abm *abm, unsigned int otg_inst, unsigned int option, |