<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Can this patch be reverted with this change?</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>commit 95f05a3a2e6895ecfd8b4f64b5d6c6cf0b6a3f4a<br>
Author: Alex Deucher <alexander.deucher@amd.com><br>
Date:   Thu Aug 16 15:35:21 2018 -0500<br>
<br>
    drm/amdgpu/display: disable eDP fast boot optimization on DCE8<br>
    <br>
    Seems to cause blank screens.<br>
    <br>
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=106940<br>
    Reviewed-by: Harry Wentland <harry.wentland@amd.com><br>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com><br>
<br>
</div>
Other than that, it looks good to me.
<p></p>
<p style="margin-top:0;margin-bottom:0">Reviewed-by: Alex Deucher <alexander.deucher@amd.com><br>
</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> amd-gfx <amd-gfx-bounces@lists.freedesktop.org> on behalf of sunpeng.li@amd.com <sunpeng.li@amd.com><br>
<b>Sent:</b> Monday, January 14, 2019 5:36:15 PM<br>
<b>To:</b> amd-gfx@lists.freedesktop.org<br>
<b>Cc:</b> Wentland, Harry; Wu, Hersen<br>
<b>Subject:</b> [PATCH] drm/amd/display: eDP fast bootup does not work for pre-raven asic</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">From: hersen wu <hersenxs.wu@amd.com><br>
<br>
[Why] bios will light up eDP before sw driver loaded. sw driver will<br>
check if eDP lighted up by bios by reading BIOS_SCRATCH_3. If yes,<br>
sw driver will not power down eDP power, phy to save time.<br>
definition of BIOS_SCRATCH_3 are missed for pre-raven asic. this<br>
cuase eDP fast boot up not work. for some eDP panel, even AMD dp tx<br>
send NoVideoStream_flag =1 and dpcd 0x600=2, eDP rx may not handle<br>
properly. this may cause short period flash on screen.<br>
<br>
[How] add definition of BIOS_SCRATCH_3 for all asic<br>
<br>
CC: Harry Wentland <harry.wentland@amd.com><br>
Signed-off-by: hersen wu <hersenxs.wu@amd.com><br>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com><br>
Acked-by: Yongqiang Sun <yongqiang.sun@amd.com><br>
Acked-by: Leo Li <sunpeng.li@amd.com><br>
---<br>
 drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c | 3 +--<br>
 drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c  | 2 ++<br>
 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c  | 2 ++<br>
 drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c  | 2 ++<br>
 drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c  | 1 +<br>
 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c    | 2 ++<br>
 6 files changed, 10 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c b/drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c<br>
index fdda8aa..d8275ceb 100644<br>
--- a/drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c<br>
+++ b/drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c<br>
@@ -83,8 +83,7 @@ uint32_t bios_get_vga_enabled_displays(<br>
 {<br>
         uint32_t active_disp = 1;<br>
 <br>
-       if (bios->regs->BIOS_SCRATCH_3) /*follow up with other asic, todo*/<br>
-               active_disp = REG_READ(BIOS_SCRATCH_3) & 0XFFFF;<br>
+       active_disp = REG_READ(BIOS_SCRATCH_3) & 0XFFFF;<br>
         return active_disp;<br>
 }<br>
 <br>
diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c<br>
index c3f616a..23044e6 100644<br>
--- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c<br>
+++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c<br>
@@ -76,6 +76,7 @@<br>
 <br>
 #ifndef mmBIOS_SCRATCH_2<br>
         #define mmBIOS_SCRATCH_2 0x05CB<br>
+       #define mmBIOS_SCRATCH_3 0x05CC<br>
         #define mmBIOS_SCRATCH_6 0x05CF<br>
 #endif<br>
 <br>
@@ -365,6 +366,7 @@ static const struct dce_abm_mask abm_mask = {<br>
 #define DCFE_MEM_PWR_CTRL_REG_BASE 0x1b03<br>
 <br>
 static const struct bios_registers bios_regs = {<br>
+       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,<br>
         .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6<br>
 };<br>
 <br>
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c<br>
index 7d46eb7..7549ada 100644<br>
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c<br>
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c<br>
@@ -84,6 +84,7 @@<br>
 <br>
 #ifndef mmBIOS_SCRATCH_2<br>
         #define mmBIOS_SCRATCH_2 0x05CB<br>
+       #define mmBIOS_SCRATCH_3 0x05CC<br>
         #define mmBIOS_SCRATCH_6 0x05CF<br>
 #endif<br>
 <br>
@@ -369,6 +370,7 @@ static const struct dce110_clk_src_mask cs_mask = {<br>
 };<br>
 <br>
 static const struct bios_registers bios_regs = {<br>
+       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,<br>
         .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6<br>
 };<br>
 <br>
diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c<br>
index d930e09..ea3065d6 100644<br>
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c<br>
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c<br>
@@ -76,6 +76,7 @@<br>
 <br>
 #ifndef mmBIOS_SCRATCH_2<br>
         #define mmBIOS_SCRATCH_2 0x05CB<br>
+       #define mmBIOS_SCRATCH_3 0x05CC<br>
         #define mmBIOS_SCRATCH_6 0x05CF<br>
 #endif<br>
 <br>
@@ -376,6 +377,7 @@ static const struct dce110_clk_src_mask cs_mask = {<br>
 };<br>
 <br>
 static const struct bios_registers bios_regs = {<br>
+       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,<br>
         .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6<br>
 };<br>
 <br>
diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c<br>
index 23d7d4d..312a0ae 100644<br>
--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c<br>
+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c<br>
@@ -442,6 +442,7 @@ struct dce_i2c_hw *dce120_i2c_hw_create(<br>
         return dce_i2c_hw;<br>
 }<br>
 static const struct bios_registers bios_regs = {<br>
+       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3 + NBIO_BASE(mmBIOS_SCRATCH_3_BASE_IDX),<br>
         .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6 + NBIO_BASE(mmBIOS_SCRATCH_6_BASE_IDX)<br>
 };<br>
 <br>
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c<br>
index e0bba0bc..2eca81b 100644<br>
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c<br>
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c<br>
@@ -77,6 +77,7 @@<br>
 <br>
 #ifndef mmBIOS_SCRATCH_2<br>
         #define mmBIOS_SCRATCH_2 0x05CB<br>
+       #define mmBIOS_SCRATCH_3 0x05CC<br>
         #define mmBIOS_SCRATCH_6 0x05CF<br>
 #endif<br>
 <br>
@@ -358,6 +359,7 @@ static const struct dce110_clk_src_mask cs_mask = {<br>
 };<br>
 <br>
 static const struct bios_registers bios_regs = {<br>
+       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,<br>
         .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6<br>
 };<br>
 <br>
-- <br>
2.7.4<br>
<br>
_______________________________________________<br>
amd-gfx mailing list<br>
amd-gfx@lists.freedesktop.org<br>
<a href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a><br>
</div>
</span></font></div>
</body>
</html>