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 ef54b96..9e51338 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 9ad8ad4..5480580 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 4180405..f808315 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 62da6bc..e179e80 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 c4353a0..1b70b78 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 dcfa0a3..fc6aa09 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 0c3695e..b280259 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 e75be79..174eebb 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 1483de8..621767e 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 7cbe1e9..da0241e 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 e549a79..407d995 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 d958759..7cb35bb 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 8bdf357..64320e0 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 a5df741..db17267 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 f537888..4fab537 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 76f863e..0a67f8a 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 6d25fcf..468a893 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 b5672fb..63861cd 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 1a5f597..7463b12 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 53dea46..d56a212 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 314dec5..bb1d880 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 9ac0fcf..73d2a65 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 e4b4102..b3d0a4e 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. */