Hi Feifei, When PSP perform ASIC_INIT during the whole boot up period? In S4, the asic will be reset, and it need be posted at the beginning of resume. So it is better move the logic into amdgpu_device_need_post() if ASIC_INIT is automatic performed by PSP during S4. Thanks JimQu ________________________________________ 发件人: Xu, Feifei 发送时间: 2018年12月10日 18:09 收件人: Qu, Jim; Quan, Evan; amd-gfx@xxxxxxxxxxxxxxxxxxxxx 主题: RE: [PATCH] drm/amdgpu:skip ASIC_INIT when posting card on vg20 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@xxxxxxx> Sent: 2018年12月10日 17:42 To: Quan, Evan <Evan.Quan@xxxxxxx>; Xu, Feifei <Feifei.Xu@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxx> 代表 Quan, Evan <Evan.Quan@xxxxxxx> 发送时间: 2018年12月10日 14:33:58 收件人: Xu, Feifei; amd-gfx@xxxxxxxxxxxxxxxxxxxxx 抄送: Xu, Feifei 主题: RE: [PATCH] drm/amdgpu:skip ASIC_INIT when posting card on vg20 Reviewed-by: Evan Quan <evan.quan@xxxxxxx> > -----Original Message----- > From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of > Feifei Xu > Sent: 2018年12月10日 14:17 > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Xu, Feifei <Feifei.Xu@xxxxxxx>; Quan, Evan <Evan.Quan@xxxxxxx> > 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@xxxxxxx> > Tested-by: Candice Li <Candice.Li@xxxxxxx> > --- > 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@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx