[PATCH] mtd: sh_flctl: pass FIFO as physical address

Geert Uytterhoeven geert at linux-m68k.org
Thu Dec 10 01:02:06 PST 2015


Hi Brian,

On Thu, Dec 10, 2015 at 3:21 AM, Brian Norris
<computersforpeace at gmail.com> wrote:
> On Tue, Dec 08, 2015 at 05:30:02PM +0100, Geert Uytterhoeven wrote:
>> On Tue, Dec 8, 2015 at 4:38 PM, Arnd Bergmann <arnd at arndb.de> wrote:
>> > By convention, the FIFO address we pass using dmaengine_slave_config
>> > is a physical address in the form that is understood by the DMA
>> > engine, as a dma_addr_t, phys_addr_t or resource_size_t.
>> >
>> > The sh_flctl driver however passes a virtual __iomem address that
>> > gets cast to dma_addr_t in the slave driver. This happens to work
>> > on shmobile because that platform sets up an identity mapping for
>> > its MMIO regions, but such code is not portable to other platforms,
>> > and prevents us from ever changing the platform mapping or reusing
>> > the driver on other architectures like ARM64 that might not have the
>> > mapping.
>>
>> Note that since the removal of (ARM) sh7367/sh7377/sh7372 support, this
>> driver is used on SH only.
>
> It's still available as COMPILE_TEST, so it's still worth fixing.
>
> But really, does anyone use this driver any more?

It's used on the sh7723-based AP-325RXA board.
No idea if anyone is really using it.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-mtd mailing list