]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: add set ips disable
authorChiawen Huang <chiawen.huang@amd.com>
Mon, 20 May 2024 03:17:42 +0000 (11:17 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jun 2024 19:24:10 +0000 (15:24 -0400)
[How&Why]
Once IPS active, all the DCN resources are
not be allowed to access.
It needs to a function for 3rd party to
on/off IPS.

Reviewed-by: Duncan Ma <duncan.ma@amd.com>
Acked-by: Zaeem Mohamed <zaeem.mohamed@amd.com>
Signed-off-by: Chiawen Huang <chiawen.huang@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c
drivers/gpu/drm/amd/display/dc/dc.h

index 0d97611c4817435c90f30f2ab22f0a4104efeb10..25a498f65c1c9359cfd8c01d639f895b03118a53 100644 (file)
@@ -5332,6 +5332,16 @@ bool dc_set_replay_allow_active(struct dc *dc, bool active)
        return true;
 }
 
+/* set IPS disable state */
+bool dc_set_ips_disable(struct dc *dc, unsigned int disable_ips)
+{
+       dc_exit_ips_for_hw_access(dc);
+
+       dc->config.disable_ips = disable_ips;
+
+       return true;
+}
+
 void dc_allow_idle_optimizations_internal(struct dc *dc, bool allow, char const *caller_name)
 {
        if (dc->debug.disable_idle_power_optimizations)
index 86a76c582f2ed4853feb7100cc66829ece4a7839..f4ba916003628ce91b4c3f638d5c7d02b4ac6f98 100644 (file)
@@ -2468,6 +2468,8 @@ bool dc_set_psr_allow_active(struct dc *dc, bool enable);
 
 bool dc_set_replay_allow_active(struct dc *dc, bool active);
 
+bool dc_set_ips_disable(struct dc *dc, unsigned int disable_ips);
+
 void dc_z10_restore(const struct dc *dc);
 void dc_z10_save_init(struct dc *dc);