From: Kevin Gao <kgao1...@amd.com>

[Why]
Need option to skip rIOMMU calls for dcn21.

[How]
Added rIOMMU dc config option and check for whether to skip
rIOMMU calls.

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlaus...@amd.com>
Signed-off-by: Kevin Gao <kgao1...@amd.com>
Signed-off-by: Ray Wu <ray...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dc.h                        | 1 +
 drivers/gpu/drm/amd/display/dc/hubbub/dcn21/dcn21_hubbub.c | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
b/drivers/gpu/drm/amd/display/dc/dc.h
index a5cbbee02380..96020bbb1797 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -448,6 +448,7 @@ struct dc_config {
        bool enable_windowed_mpo_odm;
        bool forceHBR2CP2520; // Used for switching between test patterns TPS4 
and CP2520
        uint32_t allow_edp_hotplug_detection;
+       bool skip_riommu_prefetch_wa;
        bool clamp_min_dcfclk;
        uint64_t vblank_alignment_dto_params;
        uint8_t  vblank_alignment_max_frame_time_diff;
diff --git a/drivers/gpu/drm/amd/display/dc/hubbub/dcn21/dcn21_hubbub.c 
b/drivers/gpu/drm/amd/display/dc/hubbub/dcn21/dcn21_hubbub.c
index 2546224b326a..e4496ad203b2 100644
--- a/drivers/gpu/drm/amd/display/dc/hubbub/dcn21/dcn21_hubbub.c
+++ b/drivers/gpu/drm/amd/display/dc/hubbub/dcn21/dcn21_hubbub.c
@@ -132,9 +132,9 @@ int hubbub21_init_dchub(struct hubbub *hubbub,
                // Init VMID 0 based on PA config
                dcn20_vmid_setup(&hubbub1->vmid[0], &phys_config);
        }
-
-       dcn21_dchvm_init(hubbub);
-
+       if (!hubbub1->base.ctx->dc->config.skip_riommu_prefetch_wa) {
+               dcn21_dchvm_init(hubbub);
+       }
        return hubbub1->num_vmid;
 }
 
-- 
2.43.0

Reply via email to