summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h
diff options
context:
space:
mode:
authorFelipe Clark <felipe.clark@amd.com>2021-03-07 21:27:30 +0300
committerAlex Deucher <alexander.deucher@amd.com>2022-06-15 04:38:41 +0300
commitc2fbe663ec4f991832d67f936d3941f781884156 (patch)
tree5c07defd0735bac8e62f7a7ee775bd7e3c1e9bac /drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h
parenta34136a3b3526369e1b3e678590e3760e7653f0f (diff)
downloadlinux-c2fbe663ec4f991832d67f936d3941f781884156.tar.xz
drm/amd/display: Firmware assisted MCLK switch and FS
[WHY] Memory clock switching has great potential for power savings. [HOW] The driver code was modified to notify the DMCUB firmware that it should stretch the vertical blank of frames when a memory clock switch is about to start so that no blackouts happen on the screen due to unavailability of the frame buffer. The driver logic to determine when such firmware assisted strategy can be initiated is also implemented and consists on checking prerequisites of the feature. Acked-by: Alan Liu <HaoPing.Liu@amd.com> Signed-off-by: Felipe Clark <felipe.clark@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/dcn30/dcn30_hwseq.h')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h
index 73e7b690e82c..a24a8e33a3d2 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h
@@ -47,9 +47,6 @@ void dcn30_disable_writeback(
struct dc *dc,
unsigned int dwb_pipe_inst);
-void dcn30_prepare_bandwidth(struct dc *dc,
- struct dc_state *context);
-
bool dcn30_mmhubbub_warmup(
struct dc *dc,
unsigned int num_dwb,
@@ -83,4 +80,12 @@ void dcn30_set_disp_pattern_generator(const struct dc *dc,
const struct tg_color *solid_color,
int width, int height, int offset);
+void dcn30_set_hubp_blank(const struct dc *dc,
+ struct pipe_ctx *pipe_ctx,
+ bool blank_enable);
+
+void dcn30_prepare_bandwidth(struct dc *dc,
+ struct dc_state *context);
+
+
#endif /* __DC_HWSS_DCN30_H__ */