From: Hansen Dsouza <[email protected]>

[WHY]
To allow per panel control of PHY settings.

[HOW]
Extend panel workaround bits and fields.

Reviewed-by: Leo Chen <[email protected]>
Signed-off-by: Hansen Dsouza <[email protected]>
Signed-off-by: Alex Hung <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/dc.h                            | 1 +
 drivers/gpu/drm/amd/display/dc/dc_types.h                      | 3 ++-
 .../drm/amd/display/dc/link/protocols/link_edp_panel_control.c | 3 +++
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
b/drivers/gpu/drm/amd/display/dc/dc.h
index a5a9791ee100..1ccd10533e0b 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -1321,6 +1321,7 @@ struct dc_debug_options {
        bool enable_replay_esd_recovery;
        uint8_t iommu_mismatch_temp_wka;
        bool disable_dynamic_expansion_for_test_pattern;
+       bool psr_phy_force_phy_power_down_up_level_2;
        uint32_t dml21_custom_derate_num_dpms;
        uint32_t dml21_custom_derate_at_dpm[DML2_MAX_NUM_DPM_LVL];
        bool override_utm_client_qc_profile;
diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h 
b/drivers/gpu/drm/amd/display/dc/dc_types.h
index 64b4adee36c4..01f7c9addc6c 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_types.h
@@ -689,7 +689,8 @@ union dmcu_psr_level {
                unsigned int SKIP_SINGLE_OTG_DISABLE:1;
                unsigned int DISABLE_ALPM:1;
                unsigned int ALPM_DEFAULT_PD_MODE:1;
-               unsigned int RESERVED:20;
+               unsigned int FORCE_P2CPM:1;
+               unsigned int RESERVED:19;
        } bits;
        unsigned int u32all;
 };
diff --git 
a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c 
b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
index e3527b14686b..5a8b480bb9dc 100644
--- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
+++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
@@ -883,6 +883,9 @@ bool edp_setup_psr(struct dc_link *link,
 
        psr_context->os_request_force_ffu = psr_config->os_request_force_ffu;
 
+       if (dc->debug.psr_phy_force_phy_power_down_up_level_2)
+               psr_context->psr_level.bits.FORCE_P2CPM = 1;
+
        if (psr) {
                link->psr_settings.psr_feature_enabled = 
psr->funcs->psr_copy_settings(psr,
                        link, psr_context, (uint8_t)panel_inst);
-- 
2.43.0

Reply via email to