diff options
author | Amy Zhang | 2017-02-17 17:56:03 +0100 |
---|---|---|
committer | Alex Deucher | 2017-09-26 23:16:02 +0200 |
commit | 3548f0731a2fa823bcb31b5ea662603926b85c43 (patch) | |
tree | 16468a04c372b44edb703fcdd23e89825c2c9fa2 /drivers/gpu/drm/amd/display/dc/inc/hw | |
parent | drm/amd/display: 420 clock divided by 2 twice (diff) | |
download | kernel-qcow2-linux-3548f0731a2fa823bcb31b5ea662603926b85c43.tar.gz kernel-qcow2-linux-3548f0731a2fa823bcb31b5ea662603926b85c43.tar.xz kernel-qcow2-linux-3548f0731a2fa823bcb31b5ea662603926b85c43.zip |
drm/amd/display: DMCU PSR Refactor
- Move PSR programming from link encoder to dmcu
Signed-off-by: Amy Zhang <Amy.Zhang@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/inc/hw')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h b/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h index 62012f091836..656cfdc79891 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h @@ -37,6 +37,10 @@ struct dmcu_funcs { unsigned int start_offset, const char *src, unsigned int bytes); + void (*set_psr_enable)(struct dmcu *dmcu, bool enable); + void (*setup_psr)(struct dmcu *dmcu, + struct core_link *link, + struct psr_context *psr_context); }; #endif diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h b/drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h index 7b37b963666e..7307f96c7679 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h @@ -116,7 +116,7 @@ union psr_sink_psr_status { unsigned char raw; }; -struct psr_dmcu_context { +struct psr_context { /* ddc line */ enum channel_id channel; /* Transmitter id */ @@ -220,9 +220,10 @@ struct link_encoder_funcs { void (*update_mst_stream_allocation_table)( struct link_encoder *enc, const struct link_mst_stream_allocation_table *table); - void (*set_dmcu_psr_enable)(struct link_encoder *enc, bool enable); - void (*setup_dmcu_psr)(struct link_encoder *enc, - struct psr_dmcu_context *psr_context); + void (*psr_program_dp_dphy_fast_training)(struct link_encoder *enc, + bool exit_link_training_required); + void (*psr_program_secondary_packet)(struct link_encoder *enc, + unsigned int sdp_transmit_line_num_deadline); void (*backlight_control) (struct link_encoder *enc, bool enable); void (*power_control) (struct link_encoder *enc, |