[PATCH] drm/amd/display: eDP fast bootup does not work for pre-raven asic

Alex Deucher alexdeucher at gmail.com
Tue Jan 15 17:00:54 UTC 2019


I'm not sure I understand.  If we were to apply your proposed patch,
could we revert 95f05a3a2e6895ecfd8b4f64b5d6c6 ?

Thanks,

Alex

On Tue, Jan 15, 2019 at 11:57 AM Wu, Hersen <hersenxs.wu at amd.com> wrote:
>
> Hi, Alex,
>
>
>
> Hersen’s change is for older version of eDP fast boot up ( bios_get_vga_enabled_displays  is called).
>
> Chrome tree source still use bios_get_vga_enabled_displays for fast boot up.
>
>
>
>
>
> Harry’s change is new implementation of eDP fast boot up.
>
>
>
> Hersen’s change will not revert Harry’s change.
>
>
>
> Thanks,
>
> Hersen
>
>
>
>
>
> From: Deucher, Alexander <Alexander.Deucher at amd.com>
> Sent: Tuesday, January 15, 2019 10:43 AM
> To: Li, Sun peng (Leo) <Sunpeng.Li at amd.com>; amd-gfx at lists.freedesktop.org
> Cc: Wentland, Harry <Harry.Wentland at amd.com>; Wu, Hersen <hersenxs.wu at amd.com>
> Subject: Re: [PATCH] drm/amd/display: eDP fast bootup does not work for pre-raven asic
>
>
>
> Can this patch be reverted with this change?
>
>
>
> commit 95f05a3a2e6895ecfd8b4f64b5d6c6cf0b6a3f4a
> Author: Alex Deucher <alexander.deucher at amd.com>
> Date:   Thu Aug 16 15:35:21 2018 -0500
>
>     drm/amdgpu/display: disable eDP fast boot optimization on DCE8
>
>     Seems to cause blank screens.
>
>     Bug: https://bugs.freedesktop.org/show_bug.cgi?id=106940
>     Reviewed-by: Harry Wentland <harry.wentland at amd.com>
>     Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
>
> Other than that, it looks good to me.
>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
> ________________________________
>
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf of sunpeng.li at amd.com <sunpeng.li at amd.com>
> Sent: Monday, January 14, 2019 5:36:15 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Wentland, Harry; Wu, Hersen
> Subject: [PATCH] drm/amd/display: eDP fast bootup does not work for pre-raven asic
>
>
>
> From: hersen wu <hersenxs.wu at amd.com>
>
> [Why] bios will light up eDP before sw driver loaded. sw driver will
> check if eDP lighted up by bios by reading BIOS_SCRATCH_3. If yes,
> sw driver will not power down eDP power, phy to save time.
> definition of BIOS_SCRATCH_3 are missed for pre-raven asic. this
> cuase eDP fast boot up not work. for some eDP panel, even AMD dp tx
> send NoVideoStream_flag =1 and dpcd 0x600=2, eDP rx may not handle
> properly. this may cause short period flash on screen.
>
> [How] add definition of BIOS_SCRATCH_3 for all asic
>
> CC: Harry Wentland <harry.wentland at amd.com>
> Signed-off-by: hersen wu <hersenxs.wu at amd.com>
> Reviewed-by: Charlene Liu <Charlene.Liu at amd.com>
> Acked-by: Yongqiang Sun <yongqiang.sun at amd.com>
> Acked-by: Leo Li <sunpeng.li at amd.com>
> ---
>  drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c | 3 +--
>  drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c  | 2 ++
>  drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c  | 2 ++
>  drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c  | 2 ++
>  drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c  | 1 +
>  drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c    | 2 ++
>  6 files changed, 10 insertions(+), 2 deletions(-)
>
> 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
> index fdda8aa..d8275ceb 100644
> --- a/drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c
> +++ b/drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c
> @@ -83,8 +83,7 @@ uint32_t bios_get_vga_enabled_displays(
>  {
>          uint32_t active_disp = 1;
>
> -       if (bios->regs->BIOS_SCRATCH_3) /*follow up with other asic, todo*/
> -               active_disp = REG_READ(BIOS_SCRATCH_3) & 0XFFFF;
> +       active_disp = REG_READ(BIOS_SCRATCH_3) & 0XFFFF;
>          return active_disp;
>  }
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
> index c3f616a..23044e6 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
> @@ -76,6 +76,7 @@
>
>  #ifndef mmBIOS_SCRATCH_2
>          #define mmBIOS_SCRATCH_2 0x05CB
> +       #define mmBIOS_SCRATCH_3 0x05CC
>          #define mmBIOS_SCRATCH_6 0x05CF
>  #endif
>
> @@ -365,6 +366,7 @@ static const struct dce_abm_mask abm_mask = {
>  #define DCFE_MEM_PWR_CTRL_REG_BASE 0x1b03
>
>  static const struct bios_registers bios_regs = {
> +       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
>          .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
>  };
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> index 7d46eb7..7549ada 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> @@ -84,6 +84,7 @@
>
>  #ifndef mmBIOS_SCRATCH_2
>          #define mmBIOS_SCRATCH_2 0x05CB
> +       #define mmBIOS_SCRATCH_3 0x05CC
>          #define mmBIOS_SCRATCH_6 0x05CF
>  #endif
>
> @@ -369,6 +370,7 @@ static const struct dce110_clk_src_mask cs_mask = {
>  };
>
>  static const struct bios_registers bios_regs = {
> +       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
>          .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
>  };
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> index d930e09..ea3065d6 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> @@ -76,6 +76,7 @@
>
>  #ifndef mmBIOS_SCRATCH_2
>          #define mmBIOS_SCRATCH_2 0x05CB
> +       #define mmBIOS_SCRATCH_3 0x05CC
>          #define mmBIOS_SCRATCH_6 0x05CF
>  #endif
>
> @@ -376,6 +377,7 @@ static const struct dce110_clk_src_mask cs_mask = {
>  };
>
>  static const struct bios_registers bios_regs = {
> +       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
>          .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
>  };
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> index 23d7d4d..312a0ae 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> @@ -442,6 +442,7 @@ struct dce_i2c_hw *dce120_i2c_hw_create(
>          return dce_i2c_hw;
>  }
>  static const struct bios_registers bios_regs = {
> +       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3 + NBIO_BASE(mmBIOS_SCRATCH_3_BASE_IDX),
>          .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6 + NBIO_BASE(mmBIOS_SCRATCH_6_BASE_IDX)
>  };
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
> index e0bba0bc..2eca81b 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
> @@ -77,6 +77,7 @@
>
>  #ifndef mmBIOS_SCRATCH_2
>          #define mmBIOS_SCRATCH_2 0x05CB
> +       #define mmBIOS_SCRATCH_3 0x05CC
>          #define mmBIOS_SCRATCH_6 0x05CF
>  #endif
>
> @@ -358,6 +359,7 @@ static const struct dce110_clk_src_mask cs_mask = {
>  };
>
>  static const struct bios_registers bios_regs = {
> +       .BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
>          .BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
>  };
>
> --
> 2.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list