summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/dc/dc_types.h
diff options
context:
space:
mode:
authorDavid Zhang <dingchen.zhang@amd.com>2022-05-03 18:12:05 -0400
committerAlex Deucher <alexander.deucher@amd.com>2022-06-07 16:09:57 -0400
commit6651875ad7796ed3cd84b3bafb3885d05bb543ff (patch)
tree64fe0fb5a514386061c32651868ff12ebba2fa68 /drivers/gpu/drm/amd/display/dc/dc_types.h
parent6bad4ff84cb57f548d42a41091159b750eed9ef9 (diff)
downloadlinux-stable-6651875ad7796ed3cd84b3bafb3885d05bb543ff.tar.gz
linux-stable-6651875ad7796ed3cd84b3bafb3885d05bb543ff.tar.bz2
linux-stable-6651875ad7796ed3cd84b3bafb3885d05bb543ff.zip
drm/amd/display: Add PSR-SU-RC support in DC
[Why] PSR-SU Rate Control - or PSR-SU-RC - enables PSR-SU panels to work with variable refresh rate to allow for more power savings. Lowering the refresh rate can increase PSR residency by expanding the eDP main link shut down duration. It can also lower panel power consumption. There is a complication with PSR, since the eDP main link can be shut down. Therefore, the timing controller (TCON) on the eDP sink nees to be able to scan out its remote buffer independent of the main link. To allow the eDP source to specify the sink's refresh rate while the link is off, vendor-specific DPCD registers are used. This allows the eDP source to then "Rate Control" the panel during PSR active. [How] Add DC support to communicate with PSR-SU-RC supported eDP sinks. The sink will need to know the desired VTotal during PSR active. This change only adds support to DC, support in amdgpu_dm is still pending to enable this fully. Signed-off-by: David Zhang <dingchen.zhang@amd.com> Signed-off-by: Leo Li <sunpeng.li@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dc_types.h')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc_types.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h b/drivers/gpu/drm/amd/display/dc/dc_types.h
index 26b62f50ac4e..fa735d5f730f 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_types.h
@@ -684,6 +684,7 @@ struct psr_config {
/* psr2 selective update y granularity capability */
uint8_t su_y_granularity;
unsigned int line_time_in_us;
+ uint8_t rate_control_caps;
};
union dmcu_psr_level {
@@ -794,6 +795,7 @@ struct psr_context {
/* psr2 selective update y granularity capability */
uint8_t su_y_granularity;
unsigned int line_time_in_us;
+ uint8_t rate_control_caps;
};
struct colorspace_transform {