summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorWyatt Wood <wyatt.wood@amd.com>2020-04-05 22:40:49 +0200
committerAlex Deucher <alexander.deucher@amd.com>2020-04-09 16:43:16 +0200
commit501b4026c95e5f6e8cdbad186b7f70714fdec4a7 (patch)
treed7cabd9e2480a5658f210c3b5c15bf0967a4d063 /drivers/gpu
parentdrm/amd/display: Check power_down functions exist before calling (diff)
downloadlinux-501b4026c95e5f6e8cdbad186b7f70714fdec4a7.tar.xz
linux-501b4026c95e5f6e8cdbad186b7f70714fdec4a7.zip
drm/amd/display: Use config flag to disable dmcu obj creation
[Why] When dmcub is the default we no longer wish to create the psr and dmcu objects. Currently a dc debug flag is used to implement this, but these flags aren't populated until after dcn21_resource_construct is called. This means the dmcub objects will never be created. Therefore we must use a dc config flag, which is populated before dc resource construct. [How] Add a dc config flag. Signed-off-by: Wyatt Wood <wyatt.wood@amd.com> Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc.h2
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c8
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
index 9ff239d35519..fa0724435a3e 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -230,7 +230,7 @@ struct dc_config {
bool forced_clocks;
bool disable_extended_timeout_support; // Used to disable extended timeout and lttpr feature as well
bool multi_mon_pp_mclk_switch;
- bool psr_on_dmub;
+ bool disable_dmcu;
};
enum visual_confirm {
diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
index 17cef02f7327..0e638a77b5ee 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
@@ -993,7 +993,7 @@ static void dcn21_resource_destruct(struct dcn21_resource_pool *pool)
}
if (pool->base.abm != NULL) {
- if (pool->base.abm->ctx->dc->debug.disable_dmcu)
+ if (pool->base.abm->ctx->dc->config.disable_dmcu)
dmub_abm_destroy(&pool->base.abm);
else
dce_abm_destroy(&pool->base.abm);
@@ -1846,7 +1846,7 @@ static bool dcn21_resource_construct(
goto create_fail;
}
- if (!dc->debug.disable_dmcu) {
+ if (!dc->config.disable_dmcu) {
pool->base.dmcu = dcn21_dmcu_create(ctx,
&dmcu_regs,
&dmcu_shift,
@@ -1858,7 +1858,7 @@ static bool dcn21_resource_construct(
}
}
- if (dc->debug.disable_dmcu) {
+ if (dc->config.disable_dmcu) {
pool->base.psr = dmub_psr_create(ctx);
if (pool->base.psr == NULL) {
@@ -1868,7 +1868,7 @@ static bool dcn21_resource_construct(
}
}
- if (dc->debug.disable_dmcu)
+ if (dc->config.disable_dmcu)
pool->base.abm = dmub_abm_create(ctx,
&abm_regs,
&abm_shift,