OSDN Git Service

drm/amd/display: Use config flag to disable dmcu obj creation
authorWyatt Wood <wyatt.wood@amd.com>
Sun, 5 Apr 2020 20:40:49 +0000 (16:40 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 9 Apr 2020 14:43:16 +0000 (10:43 -0400)
[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>
drivers/gpu/drm/amd/display/dc/dc.h
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c

index 9ff239d..fa07244 100644 (file)
@@ -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 {
index 17cef02..0e638a7 100644 (file)
@@ -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,