[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