aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1697-drm-amd-display-Pass-init_data-into-DCN-resource-cre.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1697-drm-amd-display-Pass-init_data-into-DCN-resource-cre.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1697-drm-amd-display-Pass-init_data-into-DCN-resource-cre.patch170
1 files changed, 170 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1697-drm-amd-display-Pass-init_data-into-DCN-resource-cre.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1697-drm-amd-display-Pass-init_data-into-DCN-resource-cre.patch
new file mode 100644
index 00000000..b842301c
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1697-drm-amd-display-Pass-init_data-into-DCN-resource-cre.patch
@@ -0,0 +1,170 @@
+From d516df4835025d0add3bbdb4e01cc9ec45c702fb Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Wed, 13 Feb 2019 16:20:27 -0500
+Subject: [PATCH 1697/2940] drm/amd/display: Pass init_data into DCN resource
+ creation
+
+[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 <harry.wentland@amd.com>
+Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
+Acked-by: Hersen Wu <hersenxs.wu@amd.com>
+---
+ 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 fa83781dbd5d..c7c3c383974b 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 788b771efcf4..7d6747ecdeb5 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;
+
+ #ifdef CONFIG_X86
+@@ -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
+