Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit V2
On Sun, Dec 8, 2019 at 8:42 PM Evan Quan wrote: > > This is needed for coming asic init on performing gpu reset. > > V2: use non-asic specific programing way > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > Signed-off-by: Evan Quan Reviewed-by: Alex Deucher > --- > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 7 +++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > index f5469ad43929..7781d245f8ef 100644 > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > @@ -1676,10 +1676,17 @@ int smu_v11_0_baco_set_state(struct smu_context *smu, > enum smu_baco_state state) > } > } else { > ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > + if (ret) > + goto out; > + > bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, > BIF_DOORBELL_INT_CNTL, > DOORBELL_INTERRUPT_DISABLE, > 0); > WREG32_SOC15(NBIO, 0, mmBIF_DOORBELL_INT_CNTL, > bif_doorbell_intr_cntl); > + > + /* clear vbios scratch 6 and 7 for coming asic reinit */ > + WREG32(adev->bios_scratch_reg_offset + 6, 0); > + WREG32(adev->bios_scratch_reg_offset + 7, 0); > } > if (ret) > goto out; > -- > 2.24.0 > > ___ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
Thanks. Just sent out a V2. > -Original Message- > From: Alex Deucher > Sent: Friday, December 6, 2019 9:59 PM > To: Quan, Evan > Cc: amd-gfx list ; Luo, Zhigang > > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit > > On Thu, Dec 5, 2019 at 10:36 PM Evan Quan wrote: > > > > This is needed for coming asic init on performing gpu reset. > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > Signed-off-by: Evan Quan > > --- > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > index 39ec06aee809..ab809df7bc35 100644 > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > smu_context *smu, enum smu_baco_state state) > > } > > } else { > > ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > + if (ret) > > + goto out; > > + > > + WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > > + WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > > Please use: > WREG32(adev->bios_scratch_reg_offset + 6, 0); WREG32(adev- > >bios_scratch_reg_offset + 7, 0); So we don't have to worry about asic > >specific > scratch register offsets. > > > + > > bif_doorbell_intr_cntl = > > REG_SET_FIELD(bif_doorbell_intr_cntl, > > BIF_DOORBELL_INT_CNTL, > > > > DOORBELL_INTERRUPT_DISABLE, 0); > > -- > > 2.24.0 > > > > ___ > > amd-gfx mailing list > > amd-gfx@lists.freedesktop.org > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist > > s.freedesktop.org%2Fmailman%2Flistinfo%2Famd- > gfxdata=02%7C01%7Cev > > > an.quan%40amd.com%7Cc8cc8c10f81a47a79fcf08d77a546f33%7C3dd8961fe4 > 884e6 > > > 08e11a82d994e183d%7C0%7C0%7C637112375369462062sdata=cMVnI > %2BkSAsW > > 1rkwPe%2BpBPKHWDIWOE9Br%2FDEpZejEOZA%3Dreserved=0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
[AMD Official Use Only - Internal Distribution Only] Thanks, Hawking. --Zhigang -Original Message- From: Zhang, Hawking Sent: December 6, 2019 12:35 PM To: Luo, Zhigang ; Alex Deucher Cc: Quan, Evan ; Yuan, Xiaojie ; amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit It was used to indicate whether bios or driver to handle display mode for various display type. And also some field to indicate other display status like docking/undocking, LID open/close, etc. Check atombios_encoder.c for its major usage Regards, Hawking -Original Message- From: Luo, Zhigang Sent: 2019年12月6日 23:37 To: Zhang, Hawking ; Alex Deucher Cc: Quan, Evan ; Yuan, Xiaojie ; amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit [AMD Official Use Only - Internal Distribution Only] Can someone tell me what's BIOS_SCRATCH_6 used for? I know BIOS_SCRATCH_7 is used for asic init. Thanks, Zhigang -Original Message- From: Zhang, Hawking Sent: December 6, 2019 9:22 AM To: Alex Deucher Cc: Quan, Evan ; Yuan, Xiaojie ; Luo, Zhigang ; amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit Ah yes, I made a logical mistake. This should work. Regards, Hawking -Original Message- From: Alex Deucher Sent: 2019年12月6日 22:01 To: Zhang, Hawking Cc: Quan, Evan ; Yuan, Xiaojie ; Luo, Zhigang ; amd-gfx@lists.freedesktop.org Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit On Fri, Dec 6, 2019 at 3:14 AM Zhang, Hawking wrote: > > Correct my typo > > This is in high risk to break gpu resume and reset just because you clear the > ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the > atom_bios init will be skipped. > I think we should be ok. If ATOM_S7_ASIC_INIT_COMPLETE_MASK is cleared, we'll assume the card needs to be posted, which it probably should after BACO. This may even be what makes this patch a fix. Alex > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of > Zhang, Hawking > Sent: 2019年12月6日 16:07 > To: Quan, Evan ; Yuan, Xiaojie > ; Luo, Zhigang > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > This is in high risk to break secondary gpu resume and reset just because you > clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And > the atom_bios init will be skipped. > > We shall understand any libgv fixes very well before "copy" it to bare-metal. > Libgv don't need to take care S3. > > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of > Quan, Evan > Sent: 2019年12月6日 13:27 > To: Yuan, Xiaojie ; Luo, Zhigang > > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > Hi Xiaojie, > > This was reported by Zhigang team. Under their special use case, scratch > register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). > And considering old asics(vega20/10) also applied this change. > So, I think it's reasonable(and recommend by SMU fw team) to apply this on > the new ASICs also. > > Regards, > Evan > > -Original Message- > > From: Yuan, Xiaojie > > Sent: Friday, December 6, 2019 12:20 PM > > To: Quan, Evan > > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > > > > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > Hi Evan, > > > > Just out of curiosity, may I know what issue are you trying to fix? > > I used to see vbios post failure (hangs in atombios init table) > > after baco exit occasionally on navi. > > > > BR, > > Xiaojie > > > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > > > This is needed for coming asic init on performing gpu reset. > > > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > > Signed-off-by: Evan Quan > > > --- > > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > > 1 file changed, 6 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > index 39ec06aee809..ab809df7bc35 100644 > > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > > smu_context *smu, enum smu_baco_state state) > > >} > > >} else { > > >ret = sm
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
It was used to indicate whether bios or driver to handle display mode for various display type. And also some field to indicate other display status like docking/undocking, LID open/close, etc. Check atombios_encoder.c for its major usage Regards, Hawking -Original Message- From: Luo, Zhigang Sent: 2019年12月6日 23:37 To: Zhang, Hawking ; Alex Deucher Cc: Quan, Evan ; Yuan, Xiaojie ; amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit [AMD Official Use Only - Internal Distribution Only] Can someone tell me what's BIOS_SCRATCH_6 used for? I know BIOS_SCRATCH_7 is used for asic init. Thanks, Zhigang -Original Message- From: Zhang, Hawking Sent: December 6, 2019 9:22 AM To: Alex Deucher Cc: Quan, Evan ; Yuan, Xiaojie ; Luo, Zhigang ; amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit Ah yes, I made a logical mistake. This should work. Regards, Hawking -Original Message- From: Alex Deucher Sent: 2019年12月6日 22:01 To: Zhang, Hawking Cc: Quan, Evan ; Yuan, Xiaojie ; Luo, Zhigang ; amd-gfx@lists.freedesktop.org Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit On Fri, Dec 6, 2019 at 3:14 AM Zhang, Hawking wrote: > > Correct my typo > > This is in high risk to break gpu resume and reset just because you clear the > ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the > atom_bios init will be skipped. > I think we should be ok. If ATOM_S7_ASIC_INIT_COMPLETE_MASK is cleared, we'll assume the card needs to be posted, which it probably should after BACO. This may even be what makes this patch a fix. Alex > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of > Zhang, Hawking > Sent: 2019年12月6日 16:07 > To: Quan, Evan ; Yuan, Xiaojie > ; Luo, Zhigang > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > This is in high risk to break secondary gpu resume and reset just because you > clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And > the atom_bios init will be skipped. > > We shall understand any libgv fixes very well before "copy" it to bare-metal. > Libgv don't need to take care S3. > > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of > Quan, Evan > Sent: 2019年12月6日 13:27 > To: Yuan, Xiaojie ; Luo, Zhigang > > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > Hi Xiaojie, > > This was reported by Zhigang team. Under their special use case, scratch > register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). > And considering old asics(vega20/10) also applied this change. > So, I think it's reasonable(and recommend by SMU fw team) to apply this on > the new ASICs also. > > Regards, > Evan > > -Original Message- > > From: Yuan, Xiaojie > > Sent: Friday, December 6, 2019 12:20 PM > > To: Quan, Evan > > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > > > > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > Hi Evan, > > > > Just out of curiosity, may I know what issue are you trying to fix? > > I used to see vbios post failure (hangs in atombios init table) > > after baco exit occasionally on navi. > > > > BR, > > Xiaojie > > > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > > > This is needed for coming asic init on performing gpu reset. > > > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > > Signed-off-by: Evan Quan > > > --- > > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > > 1 file changed, 6 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > index 39ec06aee809..ab809df7bc35 100644 > > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > > smu_context *smu, enum smu_baco_state state) > > >} > > >} else { > > >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > > +if (ret) > > > +goto out; > > > + > > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > > > + > > >bif_doorbell_intr_cntl = REG_SET_FIELD(bif_door
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
[AMD Official Use Only - Internal Distribution Only] Thanks, Alex. > > This was reported by Zhigang team. Under their special use case, scratch > > register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). Yes, sriov driver use this register to detect if asic init performed or not. --Zhigang -Original Message- From: Alex Deucher Sent: December 6, 2019 10:42 AM To: Luo, Zhigang Cc: Zhang, Hawking ; Quan, Evan ; Yuan, Xiaojie ; amd-gfx@lists.freedesktop.org Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit On Fri, Dec 6, 2019 at 10:37 AM Luo, Zhigang wrote: > > [AMD Official Use Only - Internal Distribution Only] > > Can someone tell me what's BIOS_SCRATCH_6 used for? I know BIOS_SCRATCH_7 is > used for asic init. ATOM_S6_CRITICAL_STATE and ATOM_S6_ACC_MODE. See the other S6 defines in atombios.h. I think it's mainly for display. Alex > > Thanks, > Zhigang > > -Original Message- > From: Zhang, Hawking > Sent: December 6, 2019 9:22 AM > To: Alex Deucher > Cc: Quan, Evan ; Yuan, Xiaojie > ; Luo, Zhigang ; > amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > Ah yes, I made a logical mistake. This should work. > > Regards, > Hawking > -Original Message- > From: Alex Deucher > Sent: 2019年12月6日 22:01 > To: Zhang, Hawking > Cc: Quan, Evan ; Yuan, Xiaojie > ; Luo, Zhigang ; > amd-gfx@lists.freedesktop.org > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > On Fri, Dec 6, 2019 at 3:14 AM Zhang, Hawking wrote: > > > > Correct my typo > > > > This is in high risk to break gpu resume and reset just because you clear > > the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the > > atom_bios init will be skipped. > > > > I think we should be ok. If ATOM_S7_ASIC_INIT_COMPLETE_MASK is cleared, > we'll assume the card needs to be posted, which it probably should after > BACO. This may even be what makes this patch a fix. > > Alex > > > Regards, > > Hawking > > -Original Message----- > > From: amd-gfx On Behalf Of > > Zhang, Hawking > > Sent: 2019年12月6日 16:07 > > To: Quan, Evan ; Yuan, Xiaojie > > ; Luo, Zhigang > > Cc: amd-gfx@lists.freedesktop.org > > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > This is in high risk to break secondary gpu resume and reset just because > > you clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. > > And the atom_bios init will be skipped. > > > > We shall understand any libgv fixes very well before "copy" it to > > bare-metal. Libgv don't need to take care S3. > > > > Regards, > > Hawking > > -Original Message- > > From: amd-gfx On Behalf Of > > Quan, Evan > > Sent: 2019年12月6日 13:27 > > To: Yuan, Xiaojie ; Luo, Zhigang > > > > Cc: amd-gfx@lists.freedesktop.org > > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > Hi Xiaojie, > > > > This was reported by Zhigang team. Under their special use case, scratch > > register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). > > And considering old asics(vega20/10) also applied this change. > > So, I think it's reasonable(and recommend by SMU fw team) to apply this on > > the new ASICs also. > > > > Regards, > > Evan > > > -Original Message- > > > From: Yuan, Xiaojie > > > Sent: Friday, December 6, 2019 12:20 PM > > > To: Quan, Evan > > > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > > > > > > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on > > > baco exit > > > > > > Hi Evan, > > > > > > Just out of curiosity, may I know what issue are you trying to fix? > > > I used to see vbios post failure (hangs in atombios init table) > > > after baco exit occasionally on navi. > > > > > > BR, > > > Xiaojie > > > > > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > > > > > This is needed for coming asic init on performing gpu reset. > > > > > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > > > Signed-off-by: Evan Quan > > > > --- > > > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > > > 1 file changed, 6 insertions(+) > > > > > > > > diff --
Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
On Fri, Dec 6, 2019 at 10:37 AM Luo, Zhigang wrote: > > [AMD Official Use Only - Internal Distribution Only] > > Can someone tell me what's BIOS_SCRATCH_6 used for? I know BIOS_SCRATCH_7 is > used for asic init. ATOM_S6_CRITICAL_STATE and ATOM_S6_ACC_MODE. See the other S6 defines in atombios.h. I think it's mainly for display. Alex > > Thanks, > Zhigang > > -Original Message- > From: Zhang, Hawking > Sent: December 6, 2019 9:22 AM > To: Alex Deucher > Cc: Quan, Evan ; Yuan, Xiaojie ; > Luo, Zhigang ; amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit > > Ah yes, I made a logical mistake. This should work. > > Regards, > Hawking > -Original Message- > From: Alex Deucher > Sent: 2019年12月6日 22:01 > To: Zhang, Hawking > Cc: Quan, Evan ; Yuan, Xiaojie ; > Luo, Zhigang ; amd-gfx@lists.freedesktop.org > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit > > On Fri, Dec 6, 2019 at 3:14 AM Zhang, Hawking wrote: > > > > Correct my typo > > > > This is in high risk to break gpu resume and reset just because you clear > > the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the > > atom_bios init will be skipped. > > > > I think we should be ok. If ATOM_S7_ASIC_INIT_COMPLETE_MASK is cleared, > we'll assume the card needs to be posted, which it probably should after > BACO. This may even be what makes this patch a fix. > > Alex > > > Regards, > > Hawking > > -Original Message- > > From: amd-gfx On Behalf Of > > Zhang, Hawking > > Sent: 2019年12月6日 16:07 > > To: Quan, Evan ; Yuan, Xiaojie > > ; Luo, Zhigang > > Cc: amd-gfx@lists.freedesktop.org > > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > This is in high risk to break secondary gpu resume and reset just because > > you clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. > > And the atom_bios init will be skipped. > > > > We shall understand any libgv fixes very well before "copy" it to > > bare-metal. Libgv don't need to take care S3. > > > > Regards, > > Hawking > > -Original Message- > > From: amd-gfx On Behalf Of > > Quan, Evan > > Sent: 2019年12月6日 13:27 > > To: Yuan, Xiaojie ; Luo, Zhigang > > > > Cc: amd-gfx@lists.freedesktop.org > > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > Hi Xiaojie, > > > > This was reported by Zhigang team. Under their special use case, scratch > > register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). > > And considering old asics(vega20/10) also applied this change. > > So, I think it's reasonable(and recommend by SMU fw team) to apply this on > > the new ASICs also. > > > > Regards, > > Evan > > > -Original Message- > > > From: Yuan, Xiaojie > > > Sent: Friday, December 6, 2019 12:20 PM > > > To: Quan, Evan > > > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > > > > > > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > > exit > > > > > > Hi Evan, > > > > > > Just out of curiosity, may I know what issue are you trying to fix? > > > I used to see vbios post failure (hangs in atombios init table) > > > after baco exit occasionally on navi. > > > > > > BR, > > > Xiaojie > > > > > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > > > > > This is needed for coming asic init on performing gpu reset. > > > > > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > > > Signed-off-by: Evan Quan > > > > --- > > > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > > > 1 file changed, 6 insertions(+) > > > > > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > > index 39ec06aee809..ab809df7bc35 100644 > > > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > > > smu_context *smu, enum smu_baco_state state) > > > >} > > > >} else { > > > >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > > > +if (r
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
[AMD Official Use Only - Internal Distribution Only] Can someone tell me what's BIOS_SCRATCH_6 used for? I know BIOS_SCRATCH_7 is used for asic init. Thanks, Zhigang -Original Message- From: Zhang, Hawking Sent: December 6, 2019 9:22 AM To: Alex Deucher Cc: Quan, Evan ; Yuan, Xiaojie ; Luo, Zhigang ; amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit Ah yes, I made a logical mistake. This should work. Regards, Hawking -Original Message- From: Alex Deucher Sent: 2019年12月6日 22:01 To: Zhang, Hawking Cc: Quan, Evan ; Yuan, Xiaojie ; Luo, Zhigang ; amd-gfx@lists.freedesktop.org Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit On Fri, Dec 6, 2019 at 3:14 AM Zhang, Hawking wrote: > > Correct my typo > > This is in high risk to break gpu resume and reset just because you clear the > ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the > atom_bios init will be skipped. > I think we should be ok. If ATOM_S7_ASIC_INIT_COMPLETE_MASK is cleared, we'll assume the card needs to be posted, which it probably should after BACO. This may even be what makes this patch a fix. Alex > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of > Zhang, Hawking > Sent: 2019年12月6日 16:07 > To: Quan, Evan ; Yuan, Xiaojie > ; Luo, Zhigang > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > This is in high risk to break secondary gpu resume and reset just because you > clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And > the atom_bios init will be skipped. > > We shall understand any libgv fixes very well before "copy" it to bare-metal. > Libgv don't need to take care S3. > > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of > Quan, Evan > Sent: 2019年12月6日 13:27 > To: Yuan, Xiaojie ; Luo, Zhigang > > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > Hi Xiaojie, > > This was reported by Zhigang team. Under their special use case, scratch > register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). > And considering old asics(vega20/10) also applied this change. > So, I think it's reasonable(and recommend by SMU fw team) to apply this on > the new ASICs also. > > Regards, > Evan > > -Original Message- > > From: Yuan, Xiaojie > > Sent: Friday, December 6, 2019 12:20 PM > > To: Quan, Evan > > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > > > > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > Hi Evan, > > > > Just out of curiosity, may I know what issue are you trying to fix? > > I used to see vbios post failure (hangs in atombios init table) > > after baco exit occasionally on navi. > > > > BR, > > Xiaojie > > > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > > > This is needed for coming asic init on performing gpu reset. > > > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > > Signed-off-by: Evan Quan > > > --- > > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > > 1 file changed, 6 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > index 39ec06aee809..ab809df7bc35 100644 > > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > > smu_context *smu, enum smu_baco_state state) > > >} > > >} else { > > >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > > +if (ret) > > > +goto out; > > > + > > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > > > + > > >bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, > > >BIF_DOORBELL_INT_CNTL, > > >DOORBELL_INTERRUPT_DISABLE, 0); > > > -- > > > 2.24.0 > > > > > > ___ > > > amd-gfx mailing list > > > amd-gfx@lists.freedesktop.org > > > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fli > > st > > s.free > > desktop
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
Ah yes, I made a logical mistake. This should work. Regards, Hawking -Original Message- From: Alex Deucher Sent: 2019年12月6日 22:01 To: Zhang, Hawking Cc: Quan, Evan ; Yuan, Xiaojie ; Luo, Zhigang ; amd-gfx@lists.freedesktop.org Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit On Fri, Dec 6, 2019 at 3:14 AM Zhang, Hawking wrote: > > Correct my typo > > This is in high risk to break gpu resume and reset just because you clear the > ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the > atom_bios init will be skipped. > I think we should be ok. If ATOM_S7_ASIC_INIT_COMPLETE_MASK is cleared, we'll assume the card needs to be posted, which it probably should after BACO. This may even be what makes this patch a fix. Alex > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of > Zhang, Hawking > Sent: 2019年12月6日 16:07 > To: Quan, Evan ; Yuan, Xiaojie > ; Luo, Zhigang > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > This is in high risk to break secondary gpu resume and reset just because you > clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And > the atom_bios init will be skipped. > > We shall understand any libgv fixes very well before "copy" it to bare-metal. > Libgv don't need to take care S3. > > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of > Quan, Evan > Sent: 2019年12月6日 13:27 > To: Yuan, Xiaojie ; Luo, Zhigang > > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > Hi Xiaojie, > > This was reported by Zhigang team. Under their special use case, scratch > register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). > And considering old asics(vega20/10) also applied this change. > So, I think it's reasonable(and recommend by SMU fw team) to apply this on > the new ASICs also. > > Regards, > Evan > > -Original Message- > > From: Yuan, Xiaojie > > Sent: Friday, December 6, 2019 12:20 PM > > To: Quan, Evan > > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > > > > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > Hi Evan, > > > > Just out of curiosity, may I know what issue are you trying to fix? > > I used to see vbios post failure (hangs in atombios init table) > > after baco exit occasionally on navi. > > > > BR, > > Xiaojie > > > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > > > This is needed for coming asic init on performing gpu reset. > > > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > > Signed-off-by: Evan Quan > > > --- > > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > > 1 file changed, 6 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > index 39ec06aee809..ab809df7bc35 100644 > > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > > smu_context *smu, enum smu_baco_state state) > > >} > > >} else { > > >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > > +if (ret) > > > +goto out; > > > + > > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > > > + > > >bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, > > >BIF_DOORBELL_INT_CNTL, > > >DOORBELL_INTERRUPT_DISABLE, 0); > > > -- > > > 2.24.0 > > > > > > ___ > > > amd-gfx mailing list > > > amd-gfx@lists.freedesktop.org > > > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fli > > st > > s.free > > desktop.org%2Fmailman%2Flistinfo%2Famd- > > gfxdata=02%7C01%7CXiaojie.Yuan%40amd.com%7C682c142ef30748bbd > > 00508d779fd6f82%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637 > > 112002208927733sdata=bajaaj3Cw2IxW5nRucg3FXUjcyIi50kCSPQ7eknqk > > 4o%3Dreserved=0 > ___ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://nam11.safelinks.protection.outlook
Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
On Fri, Dec 6, 2019 at 3:14 AM Zhang, Hawking wrote: > > Correct my typo > > This is in high risk to break gpu resume and reset just because you clear the > ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the > atom_bios init will be skipped. > I think we should be ok. If ATOM_S7_ASIC_INIT_COMPLETE_MASK is cleared, we'll assume the card needs to be posted, which it probably should after BACO. This may even be what makes this patch a fix. Alex > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of Zhang, > Hawking > Sent: 2019年12月6日 16:07 > To: Quan, Evan ; Yuan, Xiaojie ; > Luo, Zhigang > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit > > This is in high risk to break secondary gpu resume and reset just because you > clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And > the atom_bios init will be skipped. > > We shall understand any libgv fixes very well before "copy" it to bare-metal. > Libgv don't need to take care S3. > > Regards, > Hawking > -Original Message- > From: amd-gfx On Behalf Of Quan, Evan > Sent: 2019年12月6日 13:27 > To: Yuan, Xiaojie ; Luo, Zhigang > Cc: amd-gfx@lists.freedesktop.org > Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit > > Hi Xiaojie, > > This was reported by Zhigang team. Under their special use case, scratch > register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). > And considering old asics(vega20/10) also applied this change. > So, I think it's reasonable(and recommend by SMU fw team) to apply this on > the new ASICs also. > > Regards, > Evan > > -Original Message- > > From: Yuan, Xiaojie > > Sent: Friday, December 6, 2019 12:20 PM > > To: Quan, Evan > > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > > exit > > > > Hi Evan, > > > > Just out of curiosity, may I know what issue are you trying to fix? > > I used to see vbios post failure (hangs in atombios init table) after > > baco exit occasionally on navi. > > > > BR, > > Xiaojie > > > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > > > This is needed for coming asic init on performing gpu reset. > > > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > > Signed-off-by: Evan Quan > > > --- > > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > > 1 file changed, 6 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > index 39ec06aee809..ab809df7bc35 100644 > > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > > smu_context *smu, enum smu_baco_state state) > > >} > > >} else { > > >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > > +if (ret) > > > +goto out; > > > + > > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > > > + > > >bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, > > >BIF_DOORBELL_INT_CNTL, > > >DOORBELL_INTERRUPT_DISABLE, 0); > > > -- > > > 2.24.0 > > > > > > ___ > > > amd-gfx mailing list > > > amd-gfx@lists.freedesktop.org > > > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist > > s.free > > desktop.org%2Fmailman%2Flistinfo%2Famd- > > gfxdata=02%7C01%7CXiaojie.Yuan%40amd.com%7C682c142ef30748bbd > > 00508d779fd6f82%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637 > > 112002208927733sdata=bajaaj3Cw2IxW5nRucg3FXUjcyIi50kCSPQ7eknqk > > 4o%3Dreserved=0 > ___ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=02%7C01%7Chawking.zhang%40amd.com%7Cb57687a1142a499ce9bb08d77a235786%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637112164527793226sdata=VnfAQDikahlBNsvaGwbFHWTcYonmo9q4tWVRuTw9wHk%3Dreserved=0 > ___ > amd-gfx mailing l
Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
On Thu, Dec 5, 2019 at 10:36 PM Evan Quan wrote: > > This is needed for coming asic init on performing gpu reset. > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > Signed-off-by: Evan Quan > --- > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > index 39ec06aee809..ab809df7bc35 100644 > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct smu_context *smu, > enum smu_baco_state state) > } > } else { > ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > + if (ret) > + goto out; > + > + WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > + WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); Please use: WREG32(adev->bios_scratch_reg_offset + 6, 0); WREG32(adev->bios_scratch_reg_offset + 7, 0); So we don't have to worry about asic specific scratch register offsets. > + > bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, > BIF_DOORBELL_INT_CNTL, > DOORBELL_INTERRUPT_DISABLE, > 0); > -- > 2.24.0 > > ___ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
Correct my typo This is in high risk to break gpu resume and reset just because you clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the atom_bios init will be skipped. Regards, Hawking -Original Message- From: amd-gfx On Behalf Of Zhang, Hawking Sent: 2019年12月6日 16:07 To: Quan, Evan ; Yuan, Xiaojie ; Luo, Zhigang Cc: amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit This is in high risk to break secondary gpu resume and reset just because you clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the atom_bios init will be skipped. We shall understand any libgv fixes very well before "copy" it to bare-metal. Libgv don't need to take care S3. Regards, Hawking -Original Message- From: amd-gfx On Behalf Of Quan, Evan Sent: 2019年12月6日 13:27 To: Yuan, Xiaojie ; Luo, Zhigang Cc: amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit Hi Xiaojie, This was reported by Zhigang team. Under their special use case, scratch register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). And considering old asics(vega20/10) also applied this change. So, I think it's reasonable(and recommend by SMU fw team) to apply this on the new ASICs also. Regards, Evan > -Original Message- > From: Yuan, Xiaojie > Sent: Friday, December 6, 2019 12:20 PM > To: Quan, Evan > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > Hi Evan, > > Just out of curiosity, may I know what issue are you trying to fix? > I used to see vbios post failure (hangs in atombios init table) after > baco exit occasionally on navi. > > BR, > Xiaojie > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > This is needed for coming asic init on performing gpu reset. > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > Signed-off-by: Evan Quan > > --- > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > index 39ec06aee809..ab809df7bc35 100644 > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > smu_context *smu, enum smu_baco_state state) > >} > >} else { > >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > +if (ret) > > +goto out; > > + > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > > + > >bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, > >BIF_DOORBELL_INT_CNTL, > >DOORBELL_INTERRUPT_DISABLE, 0); > > -- > > 2.24.0 > > > > ___ > > amd-gfx mailing list > > amd-gfx@lists.freedesktop.org > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist > s.free > desktop.org%2Fmailman%2Flistinfo%2Famd- > gfxdata=02%7C01%7CXiaojie.Yuan%40amd.com%7C682c142ef30748bbd > 00508d779fd6f82%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637 > 112002208927733sdata=bajaaj3Cw2IxW5nRucg3FXUjcyIi50kCSPQ7eknqk > 4o%3Dreserved=0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=02%7C01%7Chawking.zhang%40amd.com%7Cb57687a1142a499ce9bb08d77a235786%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637112164527793226sdata=VnfAQDikahlBNsvaGwbFHWTcYonmo9q4tWVRuTw9wHk%3Dreserved=0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=02%7C01%7Chawking.zhang%40amd.com%7Cb57687a1142a499ce9bb08d77a235786%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637112164527793226sdata=VnfAQDikahlBNsvaGwbFHWTcYonmo9q4tWVRuTw9wHk%3Dreserved=0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
This is in high risk to break secondary gpu resume and reset just because you clear the ATOM_S7_ASIC_INIT_COMPLETE_MASK field in scratch register 7. And the atom_bios init will be skipped. We shall understand any libgv fixes very well before "copy" it to bare-metal. Libgv don't need to take care S3. Regards, Hawking -Original Message- From: amd-gfx On Behalf Of Quan, Evan Sent: 2019年12月6日 13:27 To: Yuan, Xiaojie ; Luo, Zhigang Cc: amd-gfx@lists.freedesktop.org Subject: RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit Hi Xiaojie, This was reported by Zhigang team. Under their special use case, scratch register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). And considering old asics(vega20/10) also applied this change. So, I think it's reasonable(and recommend by SMU fw team) to apply this on the new ASICs also. Regards, Evan > -Original Message- > From: Yuan, Xiaojie > Sent: Friday, December 6, 2019 12:20 PM > To: Quan, Evan > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco > exit > > Hi Evan, > > Just out of curiosity, may I know what issue are you trying to fix? > I used to see vbios post failure (hangs in atombios init table) after > baco exit occasionally on navi. > > BR, > Xiaojie > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > This is needed for coming asic init on performing gpu reset. > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > Signed-off-by: Evan Quan > > --- > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > index 39ec06aee809..ab809df7bc35 100644 > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > smu_context *smu, enum smu_baco_state state) > >} > >} else { > >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > +if (ret) > > +goto out; > > + > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > > + > >bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, > >BIF_DOORBELL_INT_CNTL, > >DOORBELL_INTERRUPT_DISABLE, 0); > > -- > > 2.24.0 > > > > ___ > > amd-gfx mailing list > > amd-gfx@lists.freedesktop.org > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist > s.free > desktop.org%2Fmailman%2Flistinfo%2Famd- > gfxdata=02%7C01%7CXiaojie.Yuan%40amd.com%7C682c142ef30748bbd > 00508d779fd6f82%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637 > 112002208927733sdata=bajaaj3Cw2IxW5nRucg3FXUjcyIi50kCSPQ7eknqk > 4o%3Dreserved=0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=02%7C01%7Chawking.zhang%40amd.com%7C5b9b008a08674b9adf4608d77a0cf73f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637112068506058460sdata=MAu4Lqac9Ta0HWGKUpnr6BDrqHNwlfljaDTiUIuooro%3Dreserved=0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
Hi Xiaojie, This was reported by Zhigang team. Under their special use case, scratch register 7 has be to 0 to perform asic init(@Luo, Zhigang right?). And considering old asics(vega20/10) also applied this change. So, I think it's reasonable(and recommend by SMU fw team) to apply this on the new ASICs also. Regards, Evan > -Original Message- > From: Yuan, Xiaojie > Sent: Friday, December 6, 2019 12:20 PM > To: Quan, Evan > Cc: amd-gfx@lists.freedesktop.org; Luo, Zhigang > Subject: Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit > > Hi Evan, > > Just out of curiosity, may I know what issue are you trying to fix? > I used to see vbios post failure (hangs in atombios init table) after baco > exit > occasionally on navi. > > BR, > Xiaojie > > > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > > > This is needed for coming asic init on performing gpu reset. > > > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > > Signed-off-by: Evan Quan > > --- > > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > index 39ec06aee809..ab809df7bc35 100644 > > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct > smu_context *smu, enum smu_baco_state state) > >} > >} else { > >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > > +if (ret) > > +goto out; > > + > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > > + > >bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, > >BIF_DOORBELL_INT_CNTL, > >DOORBELL_INTERRUPT_DISABLE, 0); > > -- > > 2.24.0 > > > > ___ > > amd-gfx mailing list > > amd-gfx@lists.freedesktop.org > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.free > desktop.org%2Fmailman%2Flistinfo%2Famd- > gfxdata=02%7C01%7CXiaojie.Yuan%40amd.com%7C682c142ef30748bbd > 00508d779fd6f82%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637 > 112002208927733sdata=bajaaj3Cw2IxW5nRucg3FXUjcyIi50kCSPQ7eknqk > 4o%3Dreserved=0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] drm/amd/powerplay: clear VBIOS scratchs on baco exit
Hi Evan, Just out of curiosity, may I know what issue are you trying to fix? I used to see vbios post failure (hangs in atombios init table) after baco exit occasionally on navi. BR, Xiaojie > On Dec 6, 2019, at 11:37 AM, Evan Quan wrote: > > This is needed for coming asic init on performing gpu reset. > > Change-Id: If3671a24d239e3d288665fadaa2c40c87d5da40b > Signed-off-by: Evan Quan > --- > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > index 39ec06aee809..ab809df7bc35 100644 > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > @@ -1659,6 +1659,12 @@ int smu_v11_0_baco_set_state(struct smu_context *smu, > enum smu_baco_state state) >} >} else { >ret = smu_send_smc_msg(smu, SMU_MSG_ExitBaco); > +if (ret) > +goto out; > + > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_6, 0); > +WREG32_SOC15(NBIO, 0, mmBIOS_SCRATCH_7, 0); > + >bif_doorbell_intr_cntl = REG_SET_FIELD(bif_doorbell_intr_cntl, >BIF_DOORBELL_INT_CNTL, >DOORBELL_INTERRUPT_DISABLE, 0); > -- > 2.24.0 > > ___ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=02%7C01%7CXiaojie.Yuan%40amd.com%7C682c142ef30748bbd00508d779fd6f82%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637112002208927733sdata=bajaaj3Cw2IxW5nRucg3FXUjcyIi50kCSPQ7eknqk4o%3Dreserved=0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx