From 8ed5f2e4b245c014046beb1f7e978dbabe6c855b Mon Sep 17 00:00:00 2001 From: Nicholas Kazlauskas Date: Wed, 30 Oct 2019 09:02:39 -0400 Subject: [PATCH 4481/4736] drm/amd/display: Add DMUB param to load inst const from driver [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 Reviewed-by: Tony Cheng Acked-by: Rodrigo Siqueira --- drivers/gpu/drm/amd/display/dmub/inc/dmub_srv.h | 2 ++ drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dmub/inc/dmub_srv.h b/drivers/gpu/drm/amd/display/dmub/inc/dmub_srv.h index 76e80138303b..046885940dba 100644 --- a/drivers/gpu/drm/amd/display/dmub/inc/dmub_srv.h +++ b/drivers/gpu/drm/amd/display/dmub/inc/dmub_srv.h @@ -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; }; /** diff --git a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c index 2d63ae80bda9..0dd32edbbcb3 100644 --- a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c +++ b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c @@ -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); } -- 2.17.1