From: Harry Wentland <[email protected]>

[WHY]
The resource constructor currently needs num_virtual_links from
init_data but will need access to other items provided by DM.

[HOW]
Pass init_data into DCN create_resource_pool functions.

Change-Id: I3e250583c1a05c3ee9281fbbe59c42091b4f5ba3
Signed-off-by: Harry Wentland <[email protected]>
Reviewed-by: Nicholas Kazlauskas <[email protected]>
Acked-by: Bhawanpreet Lakha <[email protected]>
Acked-by: Hersen Wu <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c      |  6 +----
 .../gpu/drm/amd/display/dc/core/dc_resource.c | 26 +++++++++----------
 .../drm/amd/display/dc/dcn10/dcn10_resource.c |  4 +--
 .../drm/amd/display/dc/dcn10/dcn10_resource.h |  2 +-
 drivers/gpu/drm/amd/display/dc/inc/resource.h |  8 +++---
 5 files changed, 19 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index cebd083df07a..365af56c4c7e 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -735,11 +735,7 @@ static bool construct(struct dc *dc,
                goto fail;
        }
 
-       dc->res_pool = dc_create_resource_pool(
-                       dc,
-                       init_params->num_virtual_links,
-                       dc_version,
-                       init_params->asic_id);
+       dc->res_pool = dc_create_resource_pool(dc, init_params, dc_version);
        if (!dc->res_pool)
                goto fail;
 
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index 4a651d7dd052..42ef04230ea2 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -106,44 +106,43 @@ enum dce_version resource_parse_asic_id(struct hw_asic_id 
asic_id)
        return dc_version;
 }
 
-struct resource_pool *dc_create_resource_pool(
-                               struct dc  *dc,
-                               int num_virtual_links,
-                               enum dce_version dc_version,
-                               struct hw_asic_id asic_id)
+struct resource_pool *dc_create_resource_pool(struct dc  *dc,
+                                             const struct dc_init_data 
*init_data,
+                                             enum dce_version dc_version)
 {
        struct resource_pool *res_pool = NULL;
 
        switch (dc_version) {
        case DCE_VERSION_8_0:
                res_pool = dce80_create_resource_pool(
-                       num_virtual_links, dc);
+                               init_data->num_virtual_links, dc);
                break;
        case DCE_VERSION_8_1:
                res_pool = dce81_create_resource_pool(
-                       num_virtual_links, dc);
+                               init_data->num_virtual_links, dc);
                break;
        case DCE_VERSION_8_3:
                res_pool = dce83_create_resource_pool(
-                       num_virtual_links, dc);
+                               init_data->num_virtual_links, dc);
                break;
        case DCE_VERSION_10_0:
                res_pool = dce100_create_resource_pool(
-                               num_virtual_links, dc);
+                               init_data->num_virtual_links, dc);
                break;
        case DCE_VERSION_11_0:
                res_pool = dce110_create_resource_pool(
-                       num_virtual_links, dc, asic_id);
+                               init_data->num_virtual_links, dc,
+                               init_data->asic_id);
                break;
        case DCE_VERSION_11_2:
        case DCE_VERSION_11_22:
                res_pool = dce112_create_resource_pool(
-                       num_virtual_links, dc);
+                               init_data->num_virtual_links, dc);
                break;
        case DCE_VERSION_12_0:
        case DCE_VERSION_12_1:
                res_pool = dce120_create_resource_pool(
-                       num_virtual_links, dc);
+                               init_data->num_virtual_links, dc);
                break;
 
 #if defined(CONFIG_DRM_AMD_DC_DCN1_0)
@@ -151,8 +150,7 @@ struct resource_pool *dc_create_resource_pool(
 #if defined(CONFIG_DRM_AMD_DC_DCN1_01)
        case DCN_VERSION_1_01:
 #endif
-               res_pool = dcn10_create_resource_pool(
-                               num_virtual_links, dc);
+               res_pool = dcn10_create_resource_pool(init_data, dc);
                break;
 #endif
 
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c 
b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
index 29f8893e44b6..7c37836bb9cc 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
@@ -1528,7 +1528,7 @@ static bool construct(
 }
 
 struct resource_pool *dcn10_create_resource_pool(
-               uint8_t num_virtual_links,
+               const struct dc_init_data *init_data,
                struct dc *dc)
 {
        struct dcn10_resource_pool *pool =
@@ -1537,7 +1537,7 @@ struct resource_pool *dcn10_create_resource_pool(
        if (!pool)
                return NULL;
 
-       if (construct(num_virtual_links, dc, pool))
+       if (construct(init_data->num_virtual_links, dc, pool))
                return &pool->base;
 
        BREAK_TO_DEBUGGER();
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.h 
b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.h
index 8f71225bc61b..999c684a0b36 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.h
@@ -39,7 +39,7 @@ struct dcn10_resource_pool {
        struct resource_pool base;
 };
 struct resource_pool *dcn10_create_resource_pool(
-               uint8_t num_virtual_links,
+               const struct dc_init_data *init_data,
                struct dc *dc);
 
 
diff --git a/drivers/gpu/drm/amd/display/dc/inc/resource.h 
b/drivers/gpu/drm/amd/display/dc/inc/resource.h
index 028c63061767..0a70254d204f 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/resource.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/resource.h
@@ -70,11 +70,9 @@ bool resource_construct(
        struct resource_pool *pool,
        const struct resource_create_funcs *create_funcs);
 
-struct resource_pool *dc_create_resource_pool(
-                               struct dc *dc,
-                               int num_virtual_links,
-                               enum dce_version dc_version,
-                               struct hw_asic_id asic_id);
+struct resource_pool *dc_create_resource_pool(struct dc  *dc,
+                                             const struct dc_init_data 
*init_data,
+                                             enum dce_version dc_version);
 
 void dc_destroy_resource_pool(struct dc *dc);
 
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to