[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPDyKFongXKhdM+2jVgzyaxjcsryCXOAztH727um5DCObrj-xw@mail.gmail.com>
Date: Tue, 19 Aug 2014 14:37:23 +0200
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Cc: linux-mmc <linux-mmc@...r.kernel.org>,
Linus Walleij <linus.walleij@...aro.org>,
Chris Ball <chris@...ntf.net>,
Russell King <linux@....linux.org.uk>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-msm@...r.kernel.org" <linux-arm-msm@...r.kernel.org>
Subject: Re: [PATCH v2 1/4] mmc: mmci: Support any block sizes for ux500v2 and
qcom variant
On 19 August 2014 13:14, Srinivas Kandagatla
<srinivas.kandagatla@...aro.org> wrote:
> From: Ulf Hansson <ulf.hansson@...aro.org>
>
> For the ux500v2 variant of the PL18x block, any block sizes are
> supported. This will make it possible to decrease data overhead
> for SDIO transfers.
>
> This patch is based on Ulf Hansson patch
> http://www.spinics.net/lists/linux-mmc/msg12160.html
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
> enabled this support on qcom variant.
>
> Signed-off-by: Ulf Hansson <ulf.hansson@...aro.org>
> Signed-off-by: Linus Walleij <linus.walleij@...aro.org>
> ---
> drivers/mmc/host/mmci.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
> index c11cb05..3089fba 100644
> --- a/drivers/mmc/host/mmci.c
> +++ b/drivers/mmc/host/mmci.c
> @@ -77,6 +77,7 @@ static unsigned int fmax = 515633;
> * @qcom_fifo: enables qcom specific fifo pio read logic.
> * @reversed_irq_handling: handle data irq before cmd irq.
> * @qcom_dml: enables qcom specific dma glue for dma transfers.
> + * @any_blksize: true if block any sizes are supported
> */
> struct variant_data {
> unsigned int clkreg;
> @@ -102,6 +103,7 @@ struct variant_data {
> bool qcom_fifo;
> bool reversed_irq_handling;
> bool qcom_dml;
> + bool any_blksize;
> };
>
> static struct variant_data variant_arm = {
> @@ -194,6 +196,7 @@ static struct variant_data variant_ux500v2 = {
> .pwrreg_clkgate = true,
> .busy_detect = true,
> .pwrreg_nopower = true,
> + .any_blksize = true,
> };
There are some prerequisites of the data buffers to supports any block
size, at least for ux500.
Try read up on this discussion:
http://marc.info/?t=135005062400002&r=2&w=2
The conclusion from the above is that we need to adopt
mmci_pio_write() to handle corner cases.
Now, I suppose, unless someone objects, we could go ahead and merge
this patch. Then you will have to fixup mmci_pio_write() later on.
Kind regards
Uffe
--
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