Re: [PATCH] dw_mmc: Add Synopsys DesignWare mmc host driver.

From: Russell King - ARM Linux
Date: Sun Dec 12 2010 - 03:42:46 EST


On Sat, Dec 11, 2010 at 07:23:20PM +0000, Chris Ball wrote:
> Hi Will,
>
> On Thu, Dec 09, 2010 at 05:24:26PM +0000, Will Newton wrote:
> > This adds the mmc host driver for the Synopsys DesignWare mmc
> > host controller, found in a number of embedded SoC designs.
> >
> > Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
> > Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxx>
>
> Running a test build on ARM fails:
>
> drivers/mmc/host/dw_mmc.c: In function âdw_mci_push_data64â:
> drivers/mmc/host/dw_mmc.c:985: error: implicit declaration of function â__raw_writeqâ
> drivers/mmc/host/dw_mmc.c: In function âdw_mci_pull_data64â:
> drivers/mmc/host/dw_mmc.c:998: error: implicit declaration of function â__raw_readqâ
>
> because arch/arm doesn't implement raw versions of these 64-bit accesses.
> I'm surprised that this driver hasn't been compiled on ARM before! What
> kind of arch are you testing on? Do you have any ARM hardware (lpc313x?)
> to verify the driver on?

What's the semantics of a 64-bit IO access? Does the low 32-bit get
written before the high 32-bit, or is it the other way around? Does
it depend on the endian-ness? What if some hardware needs the low
32-bit first and other needs the high 32-bit first?

I don't think it's reasonable to expect 32-bit hardware to perform 64-bit
IO accesses.
--
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/