[PATCH 3/3 v2] dmaengine: Add Freescale i.MX SDMA support

Marek Vasut marek.vasut at gmail.com
Sat Aug 28 11:27:10 EDT 2010


Dne So 28. srpna 2010 17:18:17 Linus Walleij napsal(a):
> 2010/8/23 Uwe Kleine-König <u.kleine-koenig at pengutronix.de>:
> >> +     evt = readl(SDMA_H_EVTOVR);
> >> +     mcu = readl(SDMA_H_HOSTOVR);
> >> +     dsp = readl(SDMA_H_DSPOVR);
> > 
> > __raw_readl?
> 
> Sorry I never understood this __raw_[read|write][b|w|l] vs.
> plain read[b|w|l] proliferation in some drivers and code.
> 
> What's the reason for?

Hey,

this trick is, if you create the VA<->PA mapping at the kernel start (eg. see 
how pxa_map_io() is replacedon some devices for instance), you then use the VA 
address you specified and use __raw_{read,write}[b,w,l](). So use 
__raw_{read,write}[b,w,l]() on drivers specific for certain device and use 
{read,write}[b,w,l]() on ioremap()ed memory areas, aka. in common drivers.

Cheers

> 
> Yours,
> Linus Walleij
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list