[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <55F7D281.6080103@samsung.com>
Date: Tue, 15 Sep 2015 17:10:41 +0900
From: Jaehoon Chung <jh80.chung@...sung.com>
To: Shawn Lin <shawn.lin@...k-chips.com>, ulf.hansson@...aro.org
Cc: Vineet.Gupta1@...opsys.com, Wei Xu <xuwei5@...ilicon.com>,
Joachim Eastwood <manabian@...il.com>,
Alexey Brodkin <abrodkin@...opsys.com>,
Kukjin Kim <kgene@...nel.org>,
Krzysztof Kozlowski <k.kozlowski@...sung.com>,
Russell King <linux@....linux.org.uk>,
Zhangfei Gao <zhangfei.gao@...aro.org>,
Jun Nie <jun.nie@...aro.org>,
Ralf Baechle <ralf@...ux-mips.org>,
Govindraj Raja <govindraj.raja@...tec.com>,
Arnd Bergmann <arnd@...db.de>, heiko@...ech.de,
dianders@...omium.org, linux-samsung-soc@...r.kernel.org,
linux-mips@...ux-mips.org, linux-mmc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-rockchip@...ts.infradead.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
CPGS <cpgs@...sung.com>
Subject: Re: [RFC PATCH v7 02/10] mmc: dw_mmc: use macro for HCON register
operations
Hi, Shawn.
Looks good to me.
Acked-by: Jaehoon Chung <jh80.chung@...sung.com>
Best Regards,
Jaehoon Chung
On 08/24/2015 10:25 AM, Shawn Lin wrote:
> This patch add some macros for HCON register operations
> to make code more readable.
>
> Signed-off-by: Shawn Lin <shawn.lin@...k-chips.com>
> ---
>
> Changes in v7: None
> Changes in v6: None
> Changes in v5: None
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
>
> drivers/mmc/host/dw_mmc.c | 6 +++---
> drivers/mmc/host/dw_mmc.h | 3 +++
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 9c91983..0a3c63c 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -2678,7 +2678,7 @@ static void dw_mci_init_dma(struct dw_mci *host)
> * Check ADDR_CONFIG bit in HCON to find
> * IDMAC address bus width
> */
> - addr_config = (mci_readl(host, HCON) >> 27) & 0x01;
> + addr_config = SDMMC_GET_ADDR_CONFIG(mci_readl(host, HCON));
>
> if (addr_config == 1) {
> /* host supports IDMAC in 64-bit address mode */
> @@ -3060,7 +3060,7 @@ int dw_mci_probe(struct dw_mci *host)
> * Get the host data width - this assumes that HCON has been set with
> * the correct values.
> */
> - i = (mci_readl(host, HCON) >> 7) & 0x7;
> + i = SDMMC_GET_HDATA_WIDTH(mci_readl(host, HCON));
> if (!i) {
> host->push_data = dw_mci_push_data16;
> host->pull_data = dw_mci_pull_data16;
> @@ -3142,7 +3142,7 @@ int dw_mci_probe(struct dw_mci *host)
> if (host->pdata->num_slots)
> host->num_slots = host->pdata->num_slots;
> else
> - host->num_slots = ((mci_readl(host, HCON) >> 1) & 0x1F) + 1;
> + host->num_slots = SDMMC_GET_SLOT_NUM(mci_readl(host, HCON));
>
> /*
> * Enable interrupts for command done, data over, data empty,
> diff --git a/drivers/mmc/host/dw_mmc.h b/drivers/mmc/host/dw_mmc.h
> index 811d467..f2a88d4 100644
> --- a/drivers/mmc/host/dw_mmc.h
> +++ b/drivers/mmc/host/dw_mmc.h
> @@ -154,6 +154,9 @@
> #define DMA_INTERFACE_GDMA (0x2)
> #define DMA_INTERFACE_NODMA (0x3)
> #define SDMMC_GET_TRANS_MODE(x) (((x)>>16) & 0x3)
> +#define SDMMC_GET_SLOT_NUM(x) ((((x)>>1) & 0x1F) + 1)
> +#define SDMMC_GET_HDATA_WIDTH(x) (((x)>>7) & 0x7)
> +#define SDMMC_GET_ADDR_CONFIG(x) (((x)>>27) & 0x1)
> /* Internal DMAC interrupt defines */
> #define SDMMC_IDMAC_INT_AI BIT(9)
> #define SDMMC_IDMAC_INT_NI BIT(8)
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists