aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2998-drm-amd-display-Error-print-when-ATOM-BIOS-implement.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2998-drm-amd-display-Error-print-when-ATOM-BIOS-implement.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2998-drm-amd-display-Error-print-when-ATOM-BIOS-implement.patch201
1 files changed, 201 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2998-drm-amd-display-Error-print-when-ATOM-BIOS-implement.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2998-drm-amd-display-Error-print-when-ATOM-BIOS-implement.patch
new file mode 100644
index 00000000..cf87999f
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2998-drm-amd-display-Error-print-when-ATOM-BIOS-implement.patch
@@ -0,0 +1,201 @@
+From 15c17a786e6dfc0db28eb10a6d2a09cebb3edaea Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Mon, 27 Nov 2017 09:50:01 -0500
+Subject: [PATCH 2998/4131] drm/amd/display: Error print when ATOM BIOS
+ implementation is missing
+
+We fail apply_ctx_to_hw when crtc_source_select is missing. This isn't
+really helpful at this point. It would aid ASIC bringup if we log an error
+when we can't find the implementation for the ATOM version.
+
+Do the same for all other function points in the command table that do a
+NULL check before being called.
+
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Reviewed-by: Roman Li <Roman.Li@amd.com>
+Reviewed-by: Jordan Lazare <Jordan.Lazare@amd.com>
+Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/bios/command_table.c | 21 +++++++++++++++++++++
+ .../gpu/drm/amd/display/dc/bios/command_table2.c | 13 +++++++++++++
+ 2 files changed, 34 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table.c b/drivers/gpu/drm/amd/display/dc/bios/command_table.c
+index 3f7b2da..1aefed8 100644
+--- a/drivers/gpu/drm/amd/display/dc/bios/command_table.c
++++ b/drivers/gpu/drm/amd/display/dc/bios/command_table.c
+@@ -387,6 +387,7 @@ static void init_transmitter_control(struct bios_parser *bp)
+ bp->cmd_tbl.transmitter_control = transmitter_control_v1_6;
+ break;
+ default:
++ dm_error("Don't have transmitter_control for v%d\n", crev);
+ bp->cmd_tbl.transmitter_control = NULL;
+ break;
+ }
+@@ -910,6 +911,8 @@ static void init_set_pixel_clock(struct bios_parser *bp)
+ bp->cmd_tbl.set_pixel_clock = set_pixel_clock_v7;
+ break;
+ default:
++ dm_error("Don't have set_pixel_clock for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(SetPixelClock));
+ bp->cmd_tbl.set_pixel_clock = NULL;
+ break;
+ }
+@@ -1227,6 +1230,8 @@ static void init_enable_spread_spectrum_on_ppll(struct bios_parser *bp)
+ enable_spread_spectrum_on_ppll_v3;
+ break;
+ default:
++ dm_error("Don't have enable_spread_spectrum_on_ppll for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(EnableSpreadSpectrumOnPPLL));
+ bp->cmd_tbl.enable_spread_spectrum_on_ppll = NULL;
+ break;
+ }
+@@ -1422,6 +1427,8 @@ static void init_adjust_display_pll(struct bios_parser *bp)
+ bp->cmd_tbl.adjust_display_pll = adjust_display_pll_v3;
+ break;
+ default:
++ dm_error("Don't have adjust_display_pll for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(AdjustDisplayPll));
+ bp->cmd_tbl.adjust_display_pll = NULL;
+ break;
+ }
+@@ -1695,6 +1702,8 @@ static void init_set_crtc_timing(struct bios_parser *bp)
+ set_crtc_using_dtd_timing_v3;
+ break;
+ default:
++ dm_error("Don't have set_crtc_timing for dtd v%d\n",
++ dtd_version);
+ bp->cmd_tbl.set_crtc_timing = NULL;
+ break;
+ }
+@@ -1704,6 +1713,8 @@ static void init_set_crtc_timing(struct bios_parser *bp)
+ bp->cmd_tbl.set_crtc_timing = set_crtc_timing_v1;
+ break;
+ default:
++ dm_error("Don't have set_crtc_timing for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(SetCRTC_Timing));
+ bp->cmd_tbl.set_crtc_timing = NULL;
+ break;
+ }
+@@ -1890,6 +1901,8 @@ static void init_select_crtc_source(struct bios_parser *bp)
+ bp->cmd_tbl.select_crtc_source = select_crtc_source_v3;
+ break;
+ default:
++ dm_error("Don't select_crtc_source enable_crtc for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(SelectCRTC_Source));
+ bp->cmd_tbl.select_crtc_source = NULL;
+ break;
+ }
+@@ -1997,6 +2010,8 @@ static void init_enable_crtc(struct bios_parser *bp)
+ bp->cmd_tbl.enable_crtc = enable_crtc_v1;
+ break;
+ default:
++ dm_error("Don't have enable_crtc for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(EnableCRTC));
+ bp->cmd_tbl.enable_crtc = NULL;
+ break;
+ }
+@@ -2103,6 +2118,8 @@ static void init_program_clock(struct bios_parser *bp)
+ bp->cmd_tbl.program_clock = program_clock_v6;
+ break;
+ default:
++ dm_error("Don't have program_clock for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(SetPixelClock));
+ bp->cmd_tbl.program_clock = NULL;
+ break;
+ }
+@@ -2324,6 +2341,8 @@ static void init_enable_disp_power_gating(
+ enable_disp_power_gating_v2_1;
+ break;
+ default:
++ dm_error("Don't enable_disp_power_gating enable_crtc for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(EnableDispPowerGating));
+ bp->cmd_tbl.enable_disp_power_gating = NULL;
+ break;
+ }
+@@ -2371,6 +2390,8 @@ static void init_set_dce_clock(struct bios_parser *bp)
+ bp->cmd_tbl.set_dce_clock = set_dce_clock_v2_1;
+ break;
+ default:
++ dm_error("Don't have set_dce_clock for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(SetDCEClock));
+ bp->cmd_tbl.set_dce_clock = NULL;
+ break;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table2.c b/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
+index ba68693..946db12 100644
+--- a/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
++++ b/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
+@@ -118,6 +118,7 @@ static void init_dig_encoder_control(struct bios_parser *bp)
+ bp->cmd_tbl.dig_encoder_control = encoder_control_digx_v1_5;
+ break;
+ default:
++ dm_error("Don't have dig_encoder_control for v%d\n", version);
+ bp->cmd_tbl.dig_encoder_control = NULL;
+ break;
+ }
+@@ -205,6 +206,7 @@ static void init_transmitter_control(struct bios_parser *bp)
+ bp->cmd_tbl.transmitter_control = transmitter_control_v1_6;
+ break;
+ default:
++ dm_error("Don't have transmitter_control for v%d\n", crev);
+ bp->cmd_tbl.transmitter_control = NULL;
+ break;
+ }
+@@ -268,6 +270,8 @@ static void init_set_pixel_clock(struct bios_parser *bp)
+ bp->cmd_tbl.set_pixel_clock = set_pixel_clock_v7;
+ break;
+ default:
++ dm_error("Don't have set_pixel_clock for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(setpixelclock));
+ bp->cmd_tbl.set_pixel_clock = NULL;
+ break;
+ }
+@@ -379,6 +383,7 @@ static void init_set_crtc_timing(struct bios_parser *bp)
+ set_crtc_using_dtd_timing_v3;
+ break;
+ default:
++ dm_error("Don't have set_crtc_timing for v%d\n", dtd_version);
+ bp->cmd_tbl.set_crtc_timing = NULL;
+ break;
+ }
+@@ -498,6 +503,8 @@ static void init_select_crtc_source(struct bios_parser *bp)
+ bp->cmd_tbl.select_crtc_source = select_crtc_source_v3;
+ break;
+ default:
++ dm_error("Don't select_crtc_source enable_crtc for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(selectcrtc_source));
+ bp->cmd_tbl.select_crtc_source = NULL;
+ break;
+ }
+@@ -565,6 +572,8 @@ static void init_enable_crtc(struct bios_parser *bp)
+ bp->cmd_tbl.enable_crtc = enable_crtc_v1;
+ break;
+ default:
++ dm_error("Don't have enable_crtc for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(enablecrtc));
+ bp->cmd_tbl.enable_crtc = NULL;
+ break;
+ }
+@@ -661,6 +670,8 @@ static void init_enable_disp_power_gating(
+ enable_disp_power_gating_v2_1;
+ break;
+ default:
++ dm_error("Don't enable_disp_power_gating enable_crtc for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(enabledisppowergating));
+ bp->cmd_tbl.enable_disp_power_gating = NULL;
+ break;
+ }
+@@ -710,6 +721,8 @@ static void init_set_dce_clock(struct bios_parser *bp)
+ bp->cmd_tbl.set_dce_clock = set_dce_clock_v2_1;
+ break;
+ default:
++ dm_error("Don't have set_dce_clock for v%d\n",
++ BIOS_CMD_TABLE_PARA_REVISION(setdceclock));
+ bp->cmd_tbl.set_dce_clock = NULL;
+ break;
+ }
+--
+2.7.4
+