Re: [PATCH] mmc: meson-gx: Remove setting of CMD_CFG_ERROR

From: Rong Chen
Date: Tue Oct 10 2023 - 07:57:02 EST


Hi Jerome,

For the t7 and older SoC families, the CMD_CFG_ERROR has no effect.
Starting from SoC family C3, setting this bit without SG LINK data address will cause the controller to generate an IRQ and stop working.

在 2023/9/27 17:30, Jerome Brunet 写道:
[ EXTERNAL EMAIL ]

On Wed 27 Sep 2023 at 16:51, "Rong.Chen@xxxxxxxxxxx" <Rong.Chen@xxxxxxxxxxx> wrote:

Hi Jerome,

Socs containing previous controllers are gxl, gxm, gxbb,g12b,g12a,sm1,axg, a1,s4 and t7.
That is mostly all the SoC we know of in mainline ... This why the way
you explained is confusing.

And below, you say 'on latest controllers', okay but which ones ?

The bit CMD_CFG_ERROR is used for selecting SG LINK of data address on latest controllers,but
data address don't use SG LINK at present,so it will cause an IRQ and stop working on latest controllers.
Therefore, remove this setting.
Not totally sure what SG LINK but okay.

While the change itself is fine you really need reformulate the description.
Based on your explanation, something like:
---
For the t7 and older SoC families, the CMD_CFG_ERROR has no effect.
Starting from SoC family XYZ, it will select SG LINK on error but this
is causing a problem with the data address ... blablabla
---

Please expand a bit on this, try to make it clearer.
Also, please insert the proper fixes tag

Last, make sure tp reply with plain text emails, otherwise lists will
drop your reply and please do not top post.

Thx

Thanks.
-------------------------------------------------------------------------------------------------------------------------
Rong.Chen@xxxxxxxxxxx


From: Jerome Brunet
Date: 2023-09-27 15:43
To: Rong.Chen; Ulf Hansson; Neil Armstrong; Kevin Hilman; Martin Blumenstingl
CC: linux-mmc; linux-arm-kernel; linux-amlogic; linux-kernel
Subject: Re: [PATCH] mmc: meson-gx: Remove setting of CMD_CFG_ERROR
[You don't often get email from jbrunet@xxxxxxxxxxxx. Learn why this is important at
https://aka.ms/LearnAboutSenderIdentification ]

[ EXTERNAL EMAIL ]

s
On Wed 27 Sep 2023 at 15:25, "Rong.Chen" <Rong.Chen@xxxxxxxxxxx> wrote:

> From: Rong Chen <rong.chen@xxxxxxxxxxx>
>
> Setting bit CMD_CFG_ERROR has non effects on previous controllers.

Which previous controllers ? v2, v3 ? Can you list the SoCs please ?

> However, it will cause an IRQ and stop working on latest controllers,

Isn't it desirable to stop on error ? seems like a sane thing to do.

> This bit is used for selecting SG LINK of data address.
> Don't set the bit CMD_CFG_ERROR anymore to resolve this issuse.

I'm not sure I understand the actual issue being resolved.
Could you provide more details please ?

>
> Therefore, remove this setting.
>
> Signed-off-by: Rong Chen <rong.chen@xxxxxxxxxxx>
> ---
> drivers/mmc/host/meson-gx-mmc.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
> index 9837dab096e6..c7c067b9415a 100644
> --- a/drivers/mmc/host/meson-gx-mmc.c
> +++ b/drivers/mmc/host/meson-gx-mmc.c
> @@ -801,7 +801,6 @@ static void meson_mmc_start_cmd(struct mmc_host *mmc, struct mmc_command *cmd)
>
> cmd_cfg |= FIELD_PREP(CMD_CFG_CMD_INDEX_MASK, cmd->opcode);
> cmd_cfg |= CMD_CFG_OWNER; /* owned by CPU */
> - cmd_cfg |= CMD_CFG_ERROR; /* stop in case of error */
>
> meson_mmc_set_response_bits(cmd, &cmd_cfg);