aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Bernstein <eric.bernstein@amd.com>2018-01-02 17:04:55 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-02-19 14:17:37 -0500
commit529c690ba8ef2da093ea84a64df72bdb8123479f (patch)
tree102b204df4965095822106cf5e241f32f2168c92
parent28dc87e41f0194209c8141400c0c1117c4bee915 (diff)
drm/amd/display: Update dcn10_init_hw for FPGA
Update dcn10_init_hw such that initialization of relevant HW blocks for Maximus FPGA are also initialized (and not skipped). 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.c35
1 files changed, 19 insertions, 16 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 8b6c2499453f..7e99d788f0e0 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
@@ -692,26 +692,25 @@ static void dcn10_init_hw(struct dc *dc)
692 } 692 }
693 693
694 enable_power_gating_plane(dc->hwseq, true); 694 enable_power_gating_plane(dc->hwseq, true);
695 return; 695 } else {
696 }
697 /* end of FPGA. Below if real ASIC */
698 696
699 if (!dcb->funcs->is_accelerated_mode(dcb)) { 697 if (!dcb->funcs->is_accelerated_mode(dcb)) {
700 bios_golden_init(dc); 698 bios_golden_init(dc);
701 disable_vga(dc->hwseq); 699 disable_vga(dc->hwseq);
702 } 700 }
703 701
704 for (i = 0; i < dc->link_count; i++) { 702 for (i = 0; i < dc->link_count; i++) {
705 /* Power up AND update implementation according to the 703 /* Power up AND update implementation according to the
706 * required signal (which may be different from the 704 * required signal (which may be different from the
707 * default signal on connector). 705 * default signal on connector).
708 */ 706 */
709 struct dc_link *link = dc->links[i]; 707 struct dc_link *link = dc->links[i];
710 708
711 if (link->link_enc->connector.id == CONNECTOR_ID_EDP) 709 if (link->link_enc->connector.id == CONNECTOR_ID_EDP)
712 dc->hwss.edp_power_control(link, true); 710 dc->hwss.edp_power_control(link, true);
713 711
714 link->link_enc->funcs->hw_init(link->link_enc); 712 link->link_enc->funcs->hw_init(link->link_enc);
713 }
715 } 714 }
716 715
717 for (i = 0; i < dc->res_pool->pipe_count; i++) { 716 for (i = 0; i < dc->res_pool->pipe_count; i++) {
@@ -779,6 +778,10 @@ static void dcn10_init_hw(struct dc *dc)
779 tg->funcs->tg_init(tg); 778 tg->funcs->tg_init(tg);
780 } 779 }
781 780
781 /* end of FPGA. Below if real ASIC */
782 if (IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment))
783 return;
784
782 for (i = 0; i < dc->res_pool->audio_count; i++) { 785 for (i = 0; i < dc->res_pool->audio_count; i++) {
783 struct audio *audio = dc->res_pool->audios[i]; 786 struct audio *audio = dc->res_pool->audios[i];
784 787