aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3127-drm-amd-display-Update-dcn10_init_hw-for-FPGA.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3127-drm-amd-display-Update-dcn10_init_hw-for-FPGA.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3127-drm-amd-display-Update-dcn10_init_hw-for-FPGA.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3127-drm-amd-display-Update-dcn10_init_hw-for-FPGA.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3127-drm-amd-display-Update-dcn10_init_hw-for-FPGA.patch
new file mode 100644
index 00000000..103e3151
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3127-drm-amd-display-Update-dcn10_init_hw-for-FPGA.patch
@@ -0,0 +1,75 @@
+From 42ae6312733caf8f889f8eb447c54f4adc2fbc8b Mon Sep 17 00:00:00 2001
+From: Eric Bernstein <eric.bernstein@amd.com>
+Date: Tue, 2 Jan 2018 17:04:55 -0500
+Subject: [PATCH 3127/4131] 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>
+---
+ .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 35 ++++++++++++----------
+ 1 file 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 8b6c249..7e99d78 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)
+ }
+
+ enable_power_gating_plane(dc->hwseq, true);
+- return;
+- }
+- /* end of FPGA. Below if real ASIC */
++ } else {
+
+- if (!dcb->funcs->is_accelerated_mode(dcb)) {
+- bios_golden_init(dc);
+- disable_vga(dc->hwseq);
+- }
++ if (!dcb->funcs->is_accelerated_mode(dcb)) {
++ bios_golden_init(dc);
++ disable_vga(dc->hwseq);
++ }
+
+- for (i = 0; i < dc->link_count; i++) {
+- /* Power up AND update implementation according to the
+- * required signal (which may be different from the
+- * default signal on connector).
+- */
+- struct dc_link *link = dc->links[i];
++ for (i = 0; i < dc->link_count; i++) {
++ /* Power up AND update implementation according to the
++ * required signal (which may be different from the
++ * default signal on connector).
++ */
++ struct dc_link *link = dc->links[i];
+
+- if (link->link_enc->connector.id == CONNECTOR_ID_EDP)
+- dc->hwss.edp_power_control(link, true);
++ if (link->link_enc->connector.id == CONNECTOR_ID_EDP)
++ dc->hwss.edp_power_control(link, true);
+
+- link->link_enc->funcs->hw_init(link->link_enc);
++ link->link_enc->funcs->hw_init(link->link_enc);
++ }
+ }
+
+ for (i = 0; i < dc->res_pool->pipe_count; i++) {
+@@ -779,6 +778,10 @@ static void dcn10_init_hw(struct dc *dc)
+ tg->funcs->tg_init(tg);
+ }
+
++ /* end of FPGA. Below if real ASIC */
++ if (IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment))
++ return;
++
+ for (i = 0; i < dc->res_pool->audio_count; i++) {
+ struct audio *audio = dc->res_pool->audios[i];
+
+--
+2.7.4
+