Commit e216431b authored by Aurabindo Pillai's avatar Aurabindo Pillai Committed by Alex Deucher

drm/amd/display: Add dc_ctx to link_enc_create() parameters

[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: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Acked-by: default avatarAlan Liu <HaoPing.Liu@amd.com>
Acked-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 4074f96d
...@@ -1703,7 +1703,7 @@ static bool dc_link_construct_legacy(struct dc_link *link, ...@@ -1703,7 +1703,7 @@ static bool dc_link_construct_legacy(struct dc_link *link,
enc_init_data.transmitter = enc_init_data.transmitter =
translate_encoder_to_transmitter(enc_init_data.encoder); translate_encoder_to_transmitter(enc_init_data.encoder);
link->link_enc = 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) { if (!link->link_enc) {
DC_ERROR("Failed to create link encoder!\n"); DC_ERROR("Failed to create link encoder!\n");
......
...@@ -612,6 +612,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -612,6 +612,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dce100_link_encoder_create( static struct link_encoder *dce100_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dce110_link_encoder *enc110 = struct dce110_link_encoder *enc110 =
......
...@@ -660,6 +660,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -660,6 +660,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dce110_link_encoder_create( static struct link_encoder *dce110_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dce110_link_encoder *enc110 = struct dce110_link_encoder *enc110 =
......
...@@ -618,6 +618,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -618,6 +618,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dce112_link_encoder_create( static struct link_encoder *dce112_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dce110_link_encoder *enc110 = struct dce110_link_encoder *enc110 =
......
...@@ -697,6 +697,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -697,6 +697,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dce120_link_encoder_create( static struct link_encoder *dce120_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dce110_link_encoder *enc110 = struct dce110_link_encoder *enc110 =
......
...@@ -710,6 +710,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -710,6 +710,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dce60_link_encoder_create( static struct link_encoder *dce60_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dce110_link_encoder *enc110 = struct dce110_link_encoder *enc110 =
......
...@@ -713,6 +713,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -713,6 +713,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dce80_link_encoder_create( static struct link_encoder *dce80_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dce110_link_encoder *enc110 = struct dce110_link_encoder *enc110 =
......
...@@ -740,6 +740,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -740,6 +740,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn10_link_encoder_create( static struct link_encoder *dcn10_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn10_link_encoder *enc10 = struct dcn10_link_encoder *enc10 =
......
...@@ -925,6 +925,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -925,6 +925,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
struct link_encoder *dcn20_link_encoder_create( struct link_encoder *dcn20_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -50,6 +50,7 @@ struct resource_pool *dcn20_create_resource_pool( ...@@ -50,6 +50,7 @@ struct resource_pool *dcn20_create_resource_pool(
struct dc *dc); struct dc *dc);
struct link_encoder *dcn20_link_encoder_create( struct link_encoder *dcn20_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data); const struct encoder_init_data *enc_init_data);
unsigned int dcn20_calc_max_scaled_time( unsigned int dcn20_calc_max_scaled_time(
......
...@@ -788,6 +788,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -788,6 +788,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn201_link_encoder_create( static struct link_encoder *dcn201_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -1325,6 +1325,7 @@ static int map_transmitter_id_to_phy_instance( ...@@ -1325,6 +1325,7 @@ static int map_transmitter_id_to_phy_instance(
} }
static struct link_encoder *dcn21_link_encoder_create( static struct link_encoder *dcn21_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn21_link_encoder *enc21 = struct dcn21_link_encoder *enc21 =
......
...@@ -927,6 +927,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -927,6 +927,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn30_link_encoder_create( static struct link_encoder *dcn30_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -890,6 +890,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -890,6 +890,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn301_link_encoder_create( static struct link_encoder *dcn301_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -891,7 +891,9 @@ static const struct dcn10_link_enc_hpd_registers link_enc_hpd_regs[] = { ...@@ -891,7 +891,9 @@ static const struct dcn10_link_enc_hpd_registers link_enc_hpd_regs[] = {
hpd_regs(4) 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); struct dcn20_link_encoder *enc20 = kzalloc(sizeof(struct dcn20_link_encoder), GFP_KERNEL);
......
...@@ -819,7 +819,9 @@ static const struct dcn10_link_enc_hpd_registers link_enc_hpd_regs[] = { ...@@ -819,7 +819,9 @@ static const struct dcn10_link_enc_hpd_registers link_enc_hpd_regs[] = {
hpd_regs(1) 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); struct dcn20_link_encoder *enc20 = kzalloc(sizeof(struct dcn20_link_encoder), GFP_KERNEL);
......
...@@ -1093,6 +1093,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -1093,6 +1093,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn31_link_encoder_create( static struct link_encoder *dcn31_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -1262,6 +1262,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -1262,6 +1262,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn31_link_encoder_create( static struct link_encoder *dcn31_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -1089,6 +1089,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -1089,6 +1089,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn31_link_encoder_create( static struct link_encoder *dcn31_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -1088,6 +1088,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -1088,6 +1088,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn31_link_encoder_create( static struct link_encoder *dcn31_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -1117,6 +1117,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -1117,6 +1117,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn32_link_encoder_create( static struct link_encoder *dcn32_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -1119,6 +1119,7 @@ static const struct encoder_feature_support link_enc_feature = { ...@@ -1119,6 +1119,7 @@ static const struct encoder_feature_support link_enc_feature = {
}; };
static struct link_encoder *dcn321_link_encoder_create( static struct link_encoder *dcn321_link_encoder_create(
struct dc_context *ctx,
const struct encoder_init_data *enc_init_data) const struct encoder_init_data *enc_init_data)
{ {
struct dcn20_link_encoder *enc20 = struct dcn20_link_encoder *enc20 =
......
...@@ -96,6 +96,7 @@ struct resource_funcs { ...@@ -96,6 +96,7 @@ struct resource_funcs {
struct panel_cntl*(*panel_cntl_create)( struct panel_cntl*(*panel_cntl_create)(
const struct panel_cntl_init_data *panel_cntl_init_data); const struct panel_cntl_init_data *panel_cntl_init_data);
struct link_encoder *(*link_enc_create)( struct link_encoder *(*link_enc_create)(
struct dc_context *ctx,
const struct encoder_init_data *init); const struct encoder_init_data *init);
/* Create a minimal link encoder object with no dc_link object /* Create a minimal link encoder object with no dc_link object
* associated with it. */ * associated with it. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment