drm/amd/display: Add DMUB param to load inst const from driver
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Wed, 30 Oct 2019 13:02:39 +0000 (09:02 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Nov 2019 15:12:52 +0000 (10:12 -0500)
[Why]
By default we shouldn't be trying to write secure registers during
DMUB hardware init.

[How]
Add a parameter to control whether we put the DMCUB into secure reset
and attempt to load CW0/CW1.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dmub/inc/dmub_srv.h
drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c

index 6f3eca2..fdedbe1 100644 (file)
@@ -281,12 +281,14 @@ struct dmub_srv_create_params {
  * @fb_base: base of the framebuffer aperture
  * @fb_offset: offset of the framebuffer aperture
  * @psp_version: psp version to pass for DMCU init
+ * @load_inst_const: true if DMUB should load inst const fw
  */
 struct dmub_srv_hw_params {
        struct dmub_fb *fb[DMUB_WINDOW_TOTAL];
        uint64_t fb_base;
        uint64_t fb_offset;
        uint32_t psp_version;
+       bool load_inst_const;
 };
 
 /**
index 2d63ae8..0dd32ed 100644 (file)
@@ -278,7 +278,7 @@ enum dmub_status dmub_srv_hw_init(struct dmub_srv *dmub,
                cw1.region.base = DMUB_CW1_BASE;
                cw1.region.top = cw1.region.base + stack_fb->size - 1;
 
-               if (dmub->hw_funcs.backdoor_load)
+               if (params->load_inst_const && dmub->hw_funcs.backdoor_load)
                        dmub->hw_funcs.backdoor_load(dmub, &cw0, &cw1);
        }