From: Joshua Aberback <joshua.aberb...@amd.com>

[Why]
When the DML2 wrapper explicitly accesses context->dml2, that creates a
dependency on where dc saves the DML object. This dependency makes it
harder to have multiple co-existing DML objects, which we would like to
have for upcoming functionality.

[How]
 - make all DML21 interfaces take in a DML2 object as parameter
 - remove all references to context->dml2, use parameter instead

Reviewed-by: Jun Lei <jun....@amd.com>
Reviewed-by: Aric Cyr <aric....@amd.com>
Acked-by: Roman Li <roman...@amd.com>
Signed-off-by: Joshua Aberback <joshua.aberb...@amd.com>
Tested-by: Daniel Wheeler <daniel.whee...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c          | 6 +++---
 drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h          | 1 +
 .../gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c  | 2 +-
 .../gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c  | 2 +-
 .../drm/amd/display/dc/resource/dcn351/dcn351_resource.c    | 2 +-
 5 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c 
b/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c
index e2489eaabb20..abf946f089b3 100644
--- a/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c
+++ b/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c
@@ -690,13 +690,13 @@ static void dml2_apply_debug_options(const struct dc *dc, 
struct dml2_context *d
        }
 }
 
-bool dml2_validate(const struct dc *in_dc, struct dc_state *context, bool 
fast_validate)
+bool dml2_validate(const struct dc *in_dc, struct dc_state *context, struct 
dml2_context *dml2, bool fast_validate)
 {
        bool out = false;
 
-       if (!(context->bw_ctx.dml2))
+       if (!dml2)
                return false;
-       dml2_apply_debug_options(in_dc, context->bw_ctx.dml2);
+       dml2_apply_debug_options(in_dc, dml2);
 
 
        /* Use dml_validate_only for fast_validate path */
diff --git a/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h 
b/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h
index 54aff9beb73a..20fd5b8e5117 100644
--- a/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h
+++ b/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h
@@ -268,6 +268,7 @@ void dml2_reinit(const struct dc *in_dc,
  */
 bool dml2_validate(const struct dc *in_dc,
                                   struct dc_state *context,
+                                  struct dml2_context *dml2,
                                   bool fast_validate);
 
 /*
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c 
b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
index 0c8dd71148b4..61fd0f2e69fe 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
@@ -1799,7 +1799,7 @@ bool dcn32_validate_bandwidth(struct dc *dc,
        bool out = false;
 
        if (dc->debug.using_dml2)
-               out = dml2_validate(dc, context, fast_validate);
+               out = dml2_validate(dc, context, context->bw_ctx.dml2, 
fast_validate);
        else
                out = dml1_validate(dc, context, fast_validate);
        return out;
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c 
b/drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
index 479641fedcd4..e0544484e8c0 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
@@ -1734,7 +1734,7 @@ static bool dcn35_validate_bandwidth(struct dc *dc,
 {
        bool out = false;
 
-       out = dml2_validate(dc, context, fast_validate);
+       out = dml2_validate(dc, context, context->bw_ctx.dml2, fast_validate);
 
        if (fast_validate)
                return out;
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c 
b/drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
index 07ac9f3130b7..690e1ade361e 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
@@ -1714,7 +1714,7 @@ static bool dcn351_validate_bandwidth(struct dc *dc,
 {
        bool out = false;
 
-       out = dml2_validate(dc, context, fast_validate);
+       out = dml2_validate(dc, context, context->bw_ctx.dml2, fast_validate);
 
        if (fast_validate)
                return out;
-- 
2.34.1

Reply via email to