[U-Boot] [PATCH 1/4] sunxi: nand: Add basic sunxi NAND driver with DMA support

Scott Wood
2015-07-16T21:36:08Z

On Thu, 2015-07-16 at 23:26 +0200, Marek Vasut wrote:
> On Thursday, July 16, 2015 at 11:15:58 PM, Scott Wood wrote:
>
> [...]
>
> > > +/* temporary buffer in internal ram */
> > > +#ifdef CONFIG_SPL_BUILD
> > > +/* in SPL temporary buffer cannot be @ 0x0 */
> > > +unsigned char temp_buf[SPL_WRITE_SIZE] __aligned(0x10)
> > > __section(".text#"); +#else
> > > +/* put temporary buffer @ 0x0 */
> > > +unsigned char *temp_buf = (unsigned char *)0x0;
> > > +#endif
> >
> > If 0x0 is the address of an SRAM, its address should be symbolically
> > defined. Also consider mapping it to a different virtual address, to avoid
> > potential compiler mischief.
>
> The DMA I believe accesses it via PA anyway, so mapping it elsewhere would
> only confuse everyone who's hacking on the driver. Just my 5 cents ;-)

Hey, if it wakes people up to the fact that they ought to be using
virt_to_phys() (or better yet, something that distinguishes DMA addresses
from physical), great! :-)

And yes, people go on to do the same "everything is u32" crap in non-platform-
specific files. Just look at drivers/block/ahci.c.

-Scott