Re: [PATCH v2 1/4] mmc: mmci: Support any block sizes for ux500v2 and qcom variant

From: Ulf Hansson
Date: Tue Aug 19 2014 - 08:37:32 EST


On 19 August 2014 13:14, Srinivas Kandagatla
<srinivas.kandagatla@xxxxxxxxxx> wrote:
> From: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
>
> 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@xxxxxxxxxx>
> enabled this support on qcom variant.
>
> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/