[PATCH] drm/amd/pm: Send message when resp status is 0xFC

Quan, Evan Evan.Quan at amd.com
Fri Feb 25 05:55:24 UTC 2022


[AMD Official Use Only]



> -----Original Message-----
> From: Lazar, Lijo <Lijo.Lazar at amd.com>
> Sent: Friday, February 25, 2022 1:47 PM
> To: Quan, Evan <Evan.Quan at amd.com>; amd-gfx at lists.freedesktop.org
> Cc: Zhang, Hawking <Hawking.Zhang at amd.com>; Deucher, Alexander
> <Alexander.Deucher at amd.com>; Wang, Yang(Kevin)
> <KevinYang.Wang at amd.com>
> Subject: RE: [PATCH] drm/amd/pm: Send message when resp status is 0xFC
> 
> [AMD Official Use Only]
> 
> > That is the caller can perform something like issuing the same message
> > again without prerequisites check on PMFW busy
> 
> This patch expects this method. Caller may try to resend message again. As
> part of message sending, driver first checks response register. Current logic
> blocks sending any message if it sees 0xFC in response register, this patch is
> to address that.
[Quan, Evan] Yes, I know. But the caller here could be another one. I mean there may be another caller stepped in.

BR
Evan
> 
> Thanks,
> Lijo
> 
> -----Original Message-----
> From: Quan, Evan <Evan.Quan at amd.com>
> Sent: Friday, February 25, 2022 11:07 AM
> To: Lazar, Lijo <Lijo.Lazar at amd.com>; amd-gfx at lists.freedesktop.org
> Cc: Zhang, Hawking <Hawking.Zhang at amd.com>; Deucher, Alexander
> <Alexander.Deucher at amd.com>; Wang, Yang(Kevin)
> <KevinYang.Wang at amd.com>
> Subject: RE: [PATCH] drm/amd/pm: Send message when resp status is 0xFC
> 
> [AMD Official Use Only]
> 
> This may introduce some problems for two callers scenarios. That is the 2nd
> one will still proceed even if the 1st one was already blocked.
> Maybe the logics here should be performed by the caller. That is the caller
> can perform something like issuing the same message again without
> prerequisites check on PMFW busy.
> Or we can just update the smu_cmn_send_smc_msg APIs to give it another
> try on PMFW busy.
> 
> BR
> Evan
> > -----Original Message-----
> > From: Lazar, Lijo <Lijo.Lazar at amd.com>
> > Sent: Friday, February 25, 2022 12:22 PM
> > To: amd-gfx at lists.freedesktop.org
> > Cc: Zhang, Hawking <Hawking.Zhang at amd.com>; Deucher, Alexander
> > <Alexander.Deucher at amd.com>; Wang, Yang(Kevin)
> > <KevinYang.Wang at amd.com>; Quan, Evan <Evan.Quan at amd.com>
> > Subject: [PATCH] drm/amd/pm: Send message when resp status is 0xFC
> >
> > When PMFW is really busy, it will respond with 0xFC. However, it
> > doesn't change the response register state when it becomes free.
> > Driver should retry and proceed to send message if the response status is
> 0xFC.
> >
> > Signed-off-by: Lijo Lazar <lijo.lazar at amd.com>
> > ---
> >  drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 2 --
> >  1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
> > b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
> > index 590a6ed12d54..92161b9d8c1a 100644
> > --- a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
> > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
> > @@ -297,7 +297,6 @@ int smu_cmn_send_msg_without_waiting(struct
> > smu_context *smu,
> >  	reg = __smu_cmn_poll_stat(smu);
> >  	res = __smu_cmn_reg2errno(smu, reg);
> >  	if (reg == SMU_RESP_NONE ||
> > -	    reg == SMU_RESP_BUSY_OTHER ||
> >  	    res == -EREMOTEIO)
> >  		goto Out;
> >  	__smu_cmn_send_msg(smu, msg_index, param); @@ -391,7 +390,6
> @@ int
> > smu_cmn_send_smc_msg_with_param(struct
> > smu_context *smu,
> >  	reg = __smu_cmn_poll_stat(smu);
> >  	res = __smu_cmn_reg2errno(smu, reg);
> >  	if (reg == SMU_RESP_NONE ||
> > -	    reg == SMU_RESP_BUSY_OTHER ||
> >  	    res == -EREMOTEIO) {
> >  		__smu_cmn_reg_print_error(smu, reg, index, param, msg);
> >  		goto Out;
> > --
> > 2.25.1


More information about the amd-gfx mailing list