]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
drm/amd/display: Add dc_ctx to link_enc_create() parameters
authorAurabindo Pillai <aurabindo.pillai@amd.com>
Fri, 1 Apr 2022 19:29:21 +0000 (15:29 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 25 Jul 2022 21:17:28 +0000 (17:17 -0400)
[Why&How]
Preparation to enable run time initialization of register offsets to add
dc_context to the link_enc_create callback. This is needed to get the
dc_ctx handle where register offset initialization routine is called.

Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Acked-by: Alan Liu <HaoPing.Liu@amd.com>
Acked-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
23 files changed:
drivers/gpu/drm/amd/display/dc/core/dc_link.c
drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.h
drivers/gpu/drm/amd/display/dc/dcn201/dcn201_resource.c
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c
drivers/gpu/drm/amd/display/dc/dcn301/dcn301_resource.c
drivers/gpu/drm/amd/display/dc/dcn302/dcn302_resource.c
drivers/gpu/drm/amd/display/dc/dcn303/dcn303_resource.c
drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c
drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c
drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c
drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c
drivers/gpu/drm/amd/display/dc/inc/core_types.h

index ef54b96affa8aa915227a3c5413294c625e97a0f..9e51338441d079db5fb0cfba982405fb2f4f4080 100644 (file)
@@ -1703,7 +1703,7 @@ static bool dc_link_construct_legacy(struct dc_link *link,
        enc_init_data.transmitter =
                translate_encoder_to_transmitter(enc_init_data.encoder);
        link->link_enc =
-               link->dc->res_pool->funcs->link_enc_create(&enc_init_data);
+               link->dc->res_pool->funcs->link_enc_create(dc_ctx, &enc_init_data);
 
        if (!link->link_enc) {
                DC_ERROR("Failed to create link encoder!\n");
index 9ad8ad4550d97e3b7df7222ccfb931580ff40fb1..54805802cbd5a6020556accbb813b3e9ed39649c 100644 (file)
@@ -612,6 +612,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dce100_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
index 41804059550f020b85fe6038fa4db692741cca52..f808315b2835540d8bb45b116cd3ee0879f7bf7e 100644 (file)
@@ -660,6 +660,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dce110_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
index 62da6bc3094d7fd9cf85b30359ca6c92091985a2..e179e80667d1c84675f7bfe3b2282c64376f323a 100644 (file)
@@ -618,6 +618,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dce112_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
index c4353a03b48abbfa158952e0189753be9744edba..1b70b78e2fa157a27c6f53fe32f5a202e34dea35 100644 (file)
@@ -697,6 +697,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dce120_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
index dcfa0a3efa00d17510d558d6e0ddb5bc883126c5..fc6aa098bda06fb36b76262a146e66bc19caaff6 100644 (file)
@@ -710,6 +710,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dce60_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
index 0c3695e79652ae3a3e0142baaa3856a0059dd116..b28025960050c2af4c42371050629608c2d1e6a5 100644 (file)
@@ -713,6 +713,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dce80_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
index e75be799012e15a16d82ee95a891a9fe0d1b619a..174eebbe8b4fedf285106d50a734f6fd2919ee7d 100644 (file)
@@ -740,6 +740,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn10_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn10_link_encoder *enc10 =
index 1483de85a524e654e52be44a17f16ba21d90f38b..621767e994bd70d313e6fbf6ebbf668f793da6ba 100644 (file)
@@ -925,6 +925,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 struct link_encoder *dcn20_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index 7cbe1e9daa36e6e2d6171f316f53863c2818647e..da0241e8c25525fd3a57d309c2ea1982c73c53a9 100644 (file)
@@ -50,6 +50,7 @@ struct resource_pool *dcn20_create_resource_pool(
                struct dc *dc);
 
 struct link_encoder *dcn20_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data);
 
 unsigned int dcn20_calc_max_scaled_time(
index e549a79f3fe1a38a9f821e24b4bd501d02a80e68..407d995bfa99b3c21058b6da77e040fe0d54bf1d 100644 (file)
@@ -788,6 +788,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn201_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index d95875952fbafeeafa8157b906bdcd0faf7fd0ee..7cb35bb1c0f153608bb3fe47f371807d48029bc5 100644 (file)
@@ -1325,6 +1325,7 @@ static int map_transmitter_id_to_phy_instance(
 }
 
 static struct link_encoder *dcn21_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn21_link_encoder *enc21 =
index 8bdf3573610fb2b4039fdfaccddccbde34de4182..64320e0ca446375af56d5cb5652eb0763479e16d 100644 (file)
@@ -927,6 +927,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn30_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index a5df74110284c1eb2016b7293707a7bf33bcc45b..db172677d61342a8c54c25dbed7766568abdcc0c 100644 (file)
@@ -890,6 +890,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn301_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index f537888f4fa656c9c0046ed72fdee4e0c4b36334..4fab537e822ff83c65729141f695fb3c5e26da13 100644 (file)
@@ -891,7 +891,9 @@ static const struct dcn10_link_enc_hpd_registers link_enc_hpd_regs[] = {
                hpd_regs(4)
 };
 
-static struct link_encoder *dcn302_link_encoder_create(const struct encoder_init_data *enc_init_data)
+static struct link_encoder *dcn302_link_encoder_create(
+       struct dc_context *ctx,
+       const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 = kzalloc(sizeof(struct dcn20_link_encoder), GFP_KERNEL);
 
index 76f863eb86ef2043daaed79bcda944d508c4bf01..0a67f8a5656decee3fdff57a9d9ad446a8874424 100644 (file)
@@ -819,7 +819,9 @@ static const struct dcn10_link_enc_hpd_registers link_enc_hpd_regs[] = {
                hpd_regs(1)
 };
 
-static struct link_encoder *dcn303_link_encoder_create(const struct encoder_init_data *enc_init_data)
+static struct link_encoder *dcn303_link_encoder_create(
+       struct dc_context *ctx,
+       const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 = kzalloc(sizeof(struct dcn20_link_encoder), GFP_KERNEL);
 
index 6d25fcf865bfcc788cc585286fdb3489b2d55041..468a893ff7854e451c1588c8b579ceabc0914269 100644 (file)
@@ -1093,6 +1093,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn31_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index b5672fb90236491ceb24d15ed4f52dc2588a7493..63861cdfb09f2be608d02214c9359cf6fa2112a2 100644 (file)
@@ -1262,6 +1262,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn31_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index 1a5f5977f962b8d3a63b032f6813e5c56a1ec2e8..7463b12ae4a30426e21b5aa8686c480274551da6 100644 (file)
@@ -1089,6 +1089,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn31_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index 53dea466348fc6cc21bd0ac9c13aa74b5e12c97f..d56a212e065cc1ca5f3d74460e67dbf7e5664be8 100644 (file)
@@ -1088,6 +1088,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn31_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index 314dec5712b56376ab280ea6063e312db02e1774..bb1d880eee1ea9fd885ab74df540075587161a54 100644 (file)
@@ -1117,6 +1117,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn32_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index 9ac0fcf79bedf620ee1a6570057fba356a227173..73d2a653a2791e9e911c1f3cac6fc228da92e64a 100644 (file)
@@ -1119,6 +1119,7 @@ static const struct encoder_feature_support link_enc_feature = {
 };
 
 static struct link_encoder *dcn321_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
index e4b4102b1538073f101038c9c0d4797db3573d87..b3d0a4ea244637f874d405735816e6802c68c298 100644 (file)
@@ -96,6 +96,7 @@ struct resource_funcs {
        struct panel_cntl*(*panel_cntl_create)(
                const struct panel_cntl_init_data *panel_cntl_init_data);
        struct link_encoder *(*link_enc_create)(
+                       struct dc_context *ctx,
                        const struct encoder_init_data *init);
        /* Create a minimal link encoder object with no dc_link object
         * associated with it. */