> Subject: [PATCH 2/2] mmc: Rename timeout parameters for clarification
> 
> It's quite hard to figure out time units for various function that have 
> timeout
> parameters. This leads to possible errors when one forgets to convert ms to
> us, for example. Let's rename those parameters correspondingly to
> 'timeout_us' and 'timeout_ms' to prevent such issues further.
> 
> While at it, add time units info as comments to struct mmc fields.
> 
> This commit doesn't change the behavior, only renames parameters names.
> Buildman should report no changes at all.
> 
> Signed-off-by: Sam Protsenko <semen.protse...@linaro.org>
> ---
>  drivers/mmc/mmc-uclass.c   |  8 ++++----
>  drivers/mmc/mmc.c          | 24 ++++++++++++------------
>  drivers/mmc/mmc_write.c    |  8 ++++----
>  drivers/mmc/omap_hsmmc.c   |  6 +++---
>  drivers/mmc/renesas-sdhi.c |  7 ++++---
>  include/mmc.h              | 12 ++++++------
>  6 files changed, 33 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c index
> 551007905c..f740bae3c7 100644
> --- a/drivers/mmc/mmc-uclass.c
> +++ b/drivers/mmc/mmc-uclass.c
> @@ -47,18 +47,18 @@ int mmc_set_ios(struct mmc *mmc)
>       return dm_mmc_set_ios(mmc->dev);
>  }
> 
> -int dm_mmc_wait_dat0(struct udevice *dev, int state, int timeout)
> +int dm_mmc_wait_dat0(struct udevice *dev, int state, int timeout_us)
>  {
>       struct dm_mmc_ops *ops = mmc_get_ops(dev);
> 
>       if (!ops->wait_dat0)
>               return -ENOSYS;
> -     return ops->wait_dat0(dev, state, timeout);
> +     return ops->wait_dat0(dev, state, timeout_us);
>  }
> 
> -int mmc_wait_dat0(struct mmc *mmc, int state, int timeout)
> +int mmc_wait_dat0(struct mmc *mmc, int state, int timeout_us)
>  {
> -     return dm_mmc_wait_dat0(mmc->dev, state, timeout);
> +     return dm_mmc_wait_dat0(mmc->dev, state, timeout_us);
>  }
> 
>  int dm_mmc_get_wp(struct udevice *dev)
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index
> e247730ff2..c8f71cd0c1 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -31,7 +31,7 @@ static int mmc_select_mode_and_width(struct mmc
> *mmc, uint card_caps);
> 
>  #if !CONFIG_IS_ENABLED(DM_MMC)
> 
> -static int mmc_wait_dat0(struct mmc *mmc, int state, int timeout)
> +static int mmc_wait_dat0(struct mmc *mmc, int state, int timeout_us)
>  {
>       return -ENOSYS;
>  }
> @@ -230,12 +230,12 @@ int mmc_send_status(struct mmc *mmc, unsigned
> int *status)
>       return -ECOMM;
>  }
> 
> -int mmc_poll_for_busy(struct mmc *mmc, int timeout)
> +int mmc_poll_for_busy(struct mmc *mmc, int timeout_ms)
>  {
>       unsigned int status;
>       int err;
> 
> -     err = mmc_wait_dat0(mmc, 1, timeout * 1000);
> +     err = mmc_wait_dat0(mmc, 1, timeout_ms * 1000);
>       if (err != -ENOSYS)
>               return err;
> 
> @@ -256,13 +256,13 @@ int mmc_poll_for_busy(struct mmc *mmc, int
> timeout)
>                       return -ECOMM;
>               }
> 
> -             if (timeout-- <= 0)
> +             if (timeout_ms-- <= 0)
>                       break;
> 
>               udelay(1000);
>       }
> 
> -     if (timeout <= 0) {
> +     if (timeout_ms <= 0) {
>  #if !defined(CONFIG_SPL_BUILD) ||
> defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
>               pr_err("Timeout waiting card ready\n");  #endif @@ -750,17
> +750,17 @@ static int __mmc_switch(struct mmc *mmc, u8 set, u8 index, u8
> value,  {
>       unsigned int status, start;
>       struct mmc_cmd cmd;
> -     int timeout = DEFAULT_CMD6_TIMEOUT_MS;
> +     int timeout_ms = DEFAULT_CMD6_TIMEOUT_MS;
>       bool is_part_switch = (set == EXT_CSD_CMD_SET_NORMAL) &&
>                             (index == EXT_CSD_PART_CONF);
>       int retries = 3;
>       int ret;
> 
>       if (mmc->gen_cmd6_time)
> -             timeout = mmc->gen_cmd6_time * 10;
> +             timeout_ms = mmc->gen_cmd6_time * 10;
> 
>       if (is_part_switch  && mmc->part_switch_time)
> -             timeout = mmc->part_switch_time * 10;
> +             timeout_ms = mmc->part_switch_time * 10;
> 
>       cmd.cmdidx = MMC_CMD_SWITCH;
>       cmd.resp_type = MMC_RSP_R1b;
> @@ -778,7 +778,7 @@ static int __mmc_switch(struct mmc *mmc, u8 set,
> u8 index, u8 value,
>       start = get_timer(0);
> 
>       /* poll dat0 for rdy/buys status */
> -     ret = mmc_wait_dat0(mmc, 1, timeout * 1000);
> +     ret = mmc_wait_dat0(mmc, 1, timeout_ms * 1000);
>       if (ret && ret != -ENOSYS)
>               return ret;
> 
> @@ -788,11 +788,11 @@ static int __mmc_switch(struct mmc *mmc, u8 set,
> u8 index, u8 value,
>        * stated timeout to be sufficient.
>        */
>       if (ret == -ENOSYS && !send_status)
> -             mdelay(timeout);
> +             mdelay(timeout_ms);
> 
>       /* Finally wait until the card is ready or indicates a failure
>        * to switch. It doesn't hurt to use CMD13 here even if send_status
> -      * is false, because by now (after 'timeout' ms) the bus should be
> +      * is false, because by now (after 'timeout_ms' ms) the bus should be
>        * reliable.
>        */
>       do {
> @@ -806,7 +806,7 @@ static int __mmc_switch(struct mmc *mmc, u8 set,
> u8 index, u8 value,
>               if (!ret && (status & MMC_STATUS_RDY_FOR_DATA))
>                       return 0;
>               udelay(100);
> -     } while (get_timer(start) < timeout);
> +     } while (get_timer(start) < timeout_ms);
> 
>       return -ETIMEDOUT;
>  }
> diff --git a/drivers/mmc/mmc_write.c b/drivers/mmc/mmc_write.c index
> 02648b0f50..b52ff9f3bc 100644
> --- a/drivers/mmc/mmc_write.c
> +++ b/drivers/mmc/mmc_write.c
> @@ -79,7 +79,7 @@ ulong mmc_berase(struct blk_desc *block_dev, lbaint_t
> start, lbaint_t blkcnt)
>       u32 start_rem, blkcnt_rem;
>       struct mmc *mmc = find_mmc_device(dev_num);
>       lbaint_t blk = 0, blk_r = 0;
> -     int timeout = 1000;
> +     int timeout_ms = 1000;
> 
>       if (!mmc)
>               return -1;
> @@ -119,7 +119,7 @@ ulong mmc_berase(struct blk_desc *block_dev,
> lbaint_t start, lbaint_t blkcnt)
>               blk += blk_r;
> 
>               /* Waiting for the ready status */
> -             if (mmc_poll_for_busy(mmc, timeout))
> +             if (mmc_poll_for_busy(mmc, timeout_ms))
>                       return 0;
>       }
> 
> @@ -131,7 +131,7 @@ static ulong mmc_write_blocks(struct mmc *mmc,
> lbaint_t start,  {
>       struct mmc_cmd cmd;
>       struct mmc_data data;
> -     int timeout = 1000;
> +     int timeout_ms = 1000;
> 
>       if ((start + blkcnt) > mmc_get_blk_desc(mmc)->lba) {
>               printf("MMC: block number 0x" LBAF " exceeds max(0x" LBAF ")\n",
> @@ -177,7 +177,7 @@ static ulong mmc_write_blocks(struct mmc *mmc,
> lbaint_t start,
>       }
> 
>       /* Waiting for the ready status */
> -     if (mmc_poll_for_busy(mmc, timeout))
> +     if (mmc_poll_for_busy(mmc, timeout_ms))
>               return 0;
> 
>       return blkcnt;
> diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
> index 3ea7f4e173..bade129aea 100644
> --- a/drivers/mmc/omap_hsmmc.c
> +++ b/drivers/mmc/omap_hsmmc.c
> @@ -430,7 +430,7 @@ static void omap_hsmmc_conf_bus_power(struct
> mmc *mmc, uint signal_voltage)
>       writel(ac12, &mmc_base->ac12);
>  }
> 
> -static int omap_hsmmc_wait_dat0(struct udevice *dev, int state, int timeout)
> +static int omap_hsmmc_wait_dat0(struct udevice *dev, int state, int
> +timeout_us)
>  {
>       int ret = -ETIMEDOUT;
>       u32 con;
> @@ -442,8 +442,8 @@ static int omap_hsmmc_wait_dat0(struct udevice
> *dev, int state, int timeout)
>       con = readl(&mmc_base->con);
>       writel(con | CON_CLKEXTFREE | CON_PADEN, &mmc_base->con);
> 
> -     timeout = DIV_ROUND_UP(timeout, 10); /* check every 10 us. */
> -     while (timeout--)       {
> +     timeout_us = DIV_ROUND_UP(timeout_us, 10); /* check every 10 us. */
> +     while (timeout_us--) {
>               dat0_high = !!(readl(&mmc_base->pstate) & PSTATE_DLEV_DAT0);
>               if (dat0_high == target_dat0_high) {
>                       ret = 0;
> diff --git a/drivers/mmc/renesas-sdhi.c b/drivers/mmc/renesas-sdhi.c index
> 7c53aa221e..0cb65b480d 100644
> --- a/drivers/mmc/renesas-sdhi.c
> +++ b/drivers/mmc/renesas-sdhi.c
> @@ -499,15 +499,16 @@ static int renesas_sdhi_set_ios(struct udevice
> *dev)  }
> 
>  #if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT)
> -static int renesas_sdhi_wait_dat0(struct udevice *dev, int state, int 
> timeout)
> +static int renesas_sdhi_wait_dat0(struct udevice *dev, int state,
> +                               int timeout_us)
>  {
>       int ret = -ETIMEDOUT;
>       bool dat0_high;
>       bool target_dat0_high = !!state;
>       struct tmio_sd_priv *priv = dev_get_priv(dev);
> 
> -     timeout = DIV_ROUND_UP(timeout, 10); /* check every 10 us. */
> -     while (timeout--) {
> +     timeout_us = DIV_ROUND_UP(timeout_us, 10); /* check every 10 us. */
> +     while (timeout_us--) {
>               dat0_high = !!(tmio_sd_readl(priv, TMIO_SD_INFO2) &
> TMIO_SD_INFO2_DAT0);
>               if (dat0_high == target_dat0_high) {
>                       ret = 0;
> diff --git a/include/mmc.h b/include/mmc.h index 46422f41a4..686ba00656
> 100644
> --- a/include/mmc.h
> +++ b/include/mmc.h
> @@ -457,10 +457,10 @@ struct dm_mmc_ops {
>        *
>        * @dev:        Device to check
>        * @state:      target state
> -      * @timeout:    timeout in us
> +      * @timeout_us: timeout in us
>        * @return 0 if dat0 is in the target state, -ve on error
>        */
> -     int (*wait_dat0)(struct udevice *dev, int state, int timeout);
> +     int (*wait_dat0)(struct udevice *dev, int state, int timeout_us);
> 
>  #if CONFIG_IS_ENABLED(MMC_HS400_ES_SUPPORT)
>       /* set_enhanced_strobe() - set HS400 enhanced strobe */ @@ -476,14
> +476,14 @@ int dm_mmc_set_ios(struct udevice *dev);  int
> dm_mmc_get_cd(struct udevice *dev);  int dm_mmc_get_wp(struct udevice
> *dev);  int dm_mmc_execute_tuning(struct udevice *dev, uint opcode); -int
> dm_mmc_wait_dat0(struct udevice *dev, int state, int timeout);
> +int dm_mmc_wait_dat0(struct udevice *dev, int state, int timeout_us);
> 
>  /* Transition functions for compatibility */  int mmc_set_ios(struct mmc
> *mmc);  int mmc_getcd(struct mmc *mmc);  int mmc_getwp(struct mmc
> *mmc);  int mmc_execute_tuning(struct mmc *mmc, uint opcode); -int
> mmc_wait_dat0(struct mmc *mmc, int state, int timeout);
> +int mmc_wait_dat0(struct mmc *mmc, int state, int timeout_us);
>  int mmc_set_enhanced_strobe(struct mmc *mmc);
> 
>  #else
> @@ -602,8 +602,8 @@ struct mmc {
>       u8 part_attr;
>       u8 wr_rel_set;
>       u8 part_config;
> -     u8 gen_cmd6_time;
> -     u8 part_switch_time;
> +     u8 gen_cmd6_time;       /* units: 10 ms */
> +     u8 part_switch_time;    /* units: 10 ms */
>       uint tran_speed;
>       uint legacy_speed; /* speed for the legacy mode provided by the card */
>       uint read_bl_len;

Reviewed-by: Peng Fan <peng....@nxp.com>

> --
> 2.20.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to