summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Bernstein <eric.bernstein@amd.com>2017-11-24 17:51:34 -0500
committerAlex Deucher <alexander.deucher@amd.com>2017-12-14 10:57:50 -0500
commitf23d558466cf14e58ec7f666a3af1a6708681bcc (patch)
tree10e80654be1d74f6147cf2064f250aa2cae46146
parent043b19bdedf5d76d4a614f508baaf83aaf7c4b6e (diff)
downloadlinux-f23d558466cf14e58ec7f666a3af1a6708681bcc.tar.bz2
drm/amd/display: Move OPP mpc tree initialization to hw_init
Move OPP initialization of mpc tree parameters to hw_init function. Signed-off-by: Eric Bernstein <eric.bernstein@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c2
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c7
-rw-r--r--drivers/gpu/drm/amd/display/dc/inc/hw/opp.h1
3 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
index 7ec87fcb22be..f0be2b872668 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
@@ -782,6 +782,8 @@ static void dcn10_init_hw(struct dc *dc)
hubp->opp_id = 0xf;
hubp->power_gated = false;
+ dc->res_pool->opps[i]->mpc_tree_params.opp_id = dc->res_pool->opps[i]->inst;
+ dc->res_pool->opps[i]->mpc_tree_params.opp_list = NULL;
dc->res_pool->opps[i]->mpcc_disconnect_pending[i] = true;
pipe_ctx->stream_res.opp = dc->res_pool->opps[i];
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c
index 20d78cf46ab0..5f078868676c 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c
@@ -330,18 +330,11 @@ void dcn10_opp_construct(struct dcn10_opp *oppn10,
const struct dcn10_opp_shift *opp_shift,
const struct dcn10_opp_mask *opp_mask)
{
- int i;
oppn10->base.ctx = ctx;
oppn10->base.inst = inst;
oppn10->base.funcs = &dcn10_opp_funcs;
- oppn10->base.mpc_tree_params.opp_id = inst;
- oppn10->base.mpc_tree_params.opp_list = NULL;
-
- for (i = 0; i < MAX_PIPES; i++)
- oppn10->base.mpcc_disconnect_pending[i] = false;
-
oppn10->regs = regs;
oppn10->opp_shift = opp_shift;
oppn10->opp_mask = opp_mask;
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/opp.h b/drivers/gpu/drm/amd/display/dc/inc/hw/opp.h
index 42f2bb29a5fc..6da125de9507 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/opp.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/opp.h
@@ -300,6 +300,7 @@ struct opp_funcs {
struct output_pixel_processor *opp,
bool enable,
bool polarity);
+
};
#endif