[PATCH] drm/amd/display: eDP fast bootup does not work for pre-raven asic
Li, Sun peng (Leo)
Sunpeng.Li at amd.com
Thu Jan 17 20:59:29 UTC 2019
On 2019-01-15 5:42 a.m., Paul Menzel wrote:
> Dear Hersen, dear Leo,
>
>
> Some nitpicks. Could you not put the problem statement in the commit
> message summary, but the solution? For example:
>
>> Fix eDP fast bootup for pre-raven asics
>
> On 01/14/19 23:36, sunpeng.li at amd.com wrote:
>> From: hersen wu <hersenxs.wu at amd.com>
>>
>> [Why] bios will light up eDP before sw driver loaded. sw driver will
>
> *is* loaded
>
>> 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
>
> are *missing*
>
>> cuase eDP fast boot up not work. for some eDP panel, even AMD dp tx
>
> *causes* … *to* not work.
>
>> send NoVideoStream_flag =1 and dpcd 0x600=2, eDP rx may not handle
>
> send*s*?
Will be correcting these on submission, thanks!
>
>> properly. this may cause short period flash on screen.
>
> Is that in the eDP specification?
>
>> [How] add definition of BIOS_SCRATCH_3 for all asic
>
> How was this tested?
Hersen may be able to provide more details on the specs. AFAIK it was
tested on a stoney laptop where we were able to reproduce the issue. It
was fixed after this.
>
>> 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;
>
> So why is the if statement removed?
The SCRATCH_3 register is defined for all ASICs now, so there's no need
to check.
Thanks,
Leo
>
>> return active_disp;
>> }
>
> […]
>
>
> Kind regards,
>
> Paul
>
>
> _______________________________________________
> 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