AGPGART driver for ArticiaS - ioremap() problem

Gerhard Pircher gerhard_pircher at
Mon Jan 16 19:11:54 EST 2006

> --- Ursprüngliche Nachricht ---
> Von: Benjamin Herrenschmidt <benh at>
> An: Gerhard Pircher <gerhard_pircher at>
> Kopie: linuxppc-dev at, debian-powerpc at
> Betreff: Re: AGPGART driver for ArticiaS - ioremap() problem
> Datum: Mon, 16 Jan 2006 10:25:31 +1100
> >Actually at least the bridge does everthing right until now (IMHO :-).
> >The bridge is detected and also the aperture size is read out correctly
> >from the registers. After that, the agp_backend_initialize() function in
> >drivers/cahr/agp/backend.c calls the create_gatt_table() function of the
> >driver (articias_create_gatt_table). Based on the detected aperture size 
> >and its definitions, this function allocates pages for the GATT table
> >(alloc_gatt_pages). The function then tries to map this pages with
> >ioremap_nocache(virt_to_gatt(table, (PAGE_SIZE * (1 << page_order))).
> >But ioremap_nocache() cannot remap the pages, because the following code 
> >snipped in __ioremap (arch/ppc/mm/pgtable.c) is trigged:
> Yes, you are not allowed to ioremap RAM on ppc at least not with
> CONFIG_6xx. You should leave it cacheable and use explicit cache flush
> like the UniNorth driver.

Ah, okay. So at least the approach to use the Uninorth code was a step in
the right direction. But that requires changes in the DRI and X server code,




10 GB Mailbox, 100 FreeSMS/Monat
+++ GMX - die erste Adresse für Mail, Message, More +++

More information about the Linuxppc-dev mailing list