Message ID | 20231026073156.2868310-1-rong.chen@amlogic.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] mmc: meson-gx: Remove setting of CMD_CFG_ERROR | expand |
On Thu 26 Oct 2023 at 15:31, "Rong.Chen" <rong.chen@amlogic.com> wrote: > From: Rong Chen <rong.chen@amlogic.com> > > 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. > > To fix it, don't set the bit CMD_CFG_ERROR anymore. > > Fixes: 18f92bc02f17 ("mmc: meson-gx: make sure the descriptor is stopped on errors") > Signed-off-by: Rong Chen <rong.chen@amlogic.com> > --- > 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); Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
On Thu, 26 Oct 2023 at 09:32, Rong.Chen <rong.chen@amlogic.com> wrote: > > From: Rong Chen <rong.chen@amlogic.com> > > 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. > > To fix it, don't set the bit CMD_CFG_ERROR anymore. > > Fixes: 18f92bc02f17 ("mmc: meson-gx: make sure the descriptor is stopped on errors") > Signed-off-by: Rong Chen <rong.chen@amlogic.com> Applied for fixes and by adding a stable tag, thanks! Kind regards Uffe > --- > 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); > > -- > 2.42.0 >
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);