[PATCH 4/8] tty/serial: add generic serial earlycon

Rob Herring robherring2 at gmail.com
Mon Mar 24 09:36:46 EDT 2014


On Mon, Mar 24, 2014 at 6:29 AM, Arnd Bergmann <arnd at arndb.de> wrote:
> On Monday 24 March 2014 11:22:03 Catalin Marinas wrote:
>> On Fri, Mar 21, 2014 at 09:08:44PM +0000, Rob Herring wrote:
>> > diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c
>> > new file mode 100644
>> > index 0000000..241757a
>> > --- /dev/null
>> > +++ b/drivers/tty/serial/earlycon.c
>> [...]
>> > +static void __iomem * __init earlycon_map(unsigned long paddr, size_t size)
>> > +{
>> > +   void __iomem *base;
>> > +#ifdef CONFIG_FIX_EARLYCON_MEM
>> > +   set_fixmap_nocache(FIX_EARLYCON_MEM_BASE, paddr & PAGE_MASK);
>> > +   base = (void __iomem *)__fix_to_virt(FIX_EARLYCON_MEM_BASE);
>> > +   base += paddr & ~PAGE_MASK;
>> > +#else
>> > +   base = ioremap_nocache(paddr, size);
>> > +#endif
>>
>> Just curious why not set_fixmap_io (and plain ioremap)?
>
> Good point. Note that ioremap_nocache() is the same as ioremap()
> on *all* architectures.

I investigated this before adding this to arm64. set_fixmap_io and
set_fixmap_nocache are not the same settings on x86. Whether the
mapping type really matters on x86 or not, I don't know. So I added
the nocache variant to arm64 to avoid a change to x86.

Rob



More information about the linux-arm-kernel mailing list