[PATCH] drm/amdgpu:skip ASIC_INIT when posting card on vg20

Xu, Feifei Feifei.Xu at amd.com
Mon Dec 10 10:09:52 UTC 2018


In fact, in multigpu cases, the original logical in amdgpu_device_need_post()->amdgpu_atombios_scratch_need_asic_init() return TRUE.
The logical is to: read ATOM_S7_ASIC_INIT_COMPLETE_MASK bit which is notified by BIOS to driver that if post is needed.

After the ASIC_INIT table moved to psp, though post is needed (the ATOM_S7_ASIC_INIT_COMPLETE_MASK is unset), we still need to skip the post in driver. 

Regards,
Feifei

-----Original Message-----
From: Qu, Jim <Jim.Qu at amd.com> 
Sent: 2018年12月10日 17:42
To: Quan, Evan <Evan.Quan at amd.com>; Xu, Feifei <Feifei.Xu at amd.com>; amd-gfx at lists.freedesktop.org
Subject: 答复: [PATCH] drm/amdgpu:skip ASIC_INIT when posting card on vg20

 I think it is better move it into amdgpu_device_need_post() as a negative condition.

Thanks
JimQu

________________________________________
发件人: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> 代表 Quan, Evan <Evan.Quan at amd.com>
发送时间: 2018年12月10日 14:33:58
收件人: Xu, Feifei; amd-gfx at lists.freedesktop.org
抄送: Xu, Feifei
主题: RE: [PATCH] drm/amdgpu:skip ASIC_INIT when posting card on vg20

Reviewed-by: Evan Quan <evan.quan at amd.com>

> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of 
> Feifei Xu
> Sent: 2018年12月10日 14:17
> To: amd-gfx at lists.freedesktop.org
> Cc: Xu, Feifei <Feifei.Xu at amd.com>; Quan, Evan <Evan.Quan at amd.com>
> Subject: [PATCH] drm/amdgpu:skip ASIC_INIT when posting card on vg20
>
> On vega20, the job of executing the ASIC_INIT table when posting card 
> is moved to psp. Skip the atombios's ASIC_INIT on vega20 when posting card.
>
> Change-Id: Id1d3c0a0d19296d5ed804de7edf5b09b8d38c0a5
> Signed-off-by: Feifei Xu <Feifei.Xu at amd.com>
> Tested-by: Candice Li <Candice.Li at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index ef36cc595985..a375d2ac112f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -2547,7 +2547,7 @@ int amdgpu_device_init(struct amdgpu_device 
> *adev,
>       amdgpu_device_detect_sriov_bios(adev);
>
>       /* Post card if necessary */
> -     if (amdgpu_device_need_post(adev)) {
> +     if ((adev->asic_type != CHIP_VEGA20) &&
> amdgpu_device_need_post(adev))
> +{
>               if (!adev->bios) {
>                       dev_err(adev->dev, "no vBIOS found\n");
>                       r = -EINVAL;
> --
> 2.17.1
>
> _______________________________________________
> 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