linux/drivers/char/agp
Arjan van dev Ven fcea424d31 fix historic ioremap() abuse in AGP
Several AGP drivers right now use ioremap_nocache() on kernel ram in order
to turn a page of regular memory uncached.

There are two problems with this:

    1) This is a total nightmare for the ioremap() implementation to keep
       various mappings of the same page coherent.

    2) It's a total nightmare for the AGP code since it adds a ton of
       complexity in terms of keeping track of 2 different pointers to
       the same thing, in terms of error handling etc etc.

This patch fixes this by making the AGP drivers use the new
set_memory_XX APIs instead.

Note: amd-k7-agp.c is built on Alpha too, and generic.c is built
on ia64 as well, which do not yet have the set_memory_*() APIs,
so for them some we have a few ugly #ifdefs - hopefully they'll
be fixed soon.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-02-19 14:46:39 +10:00
..
agp.h intel-agp: add new chipset ID 2008-02-05 14:33:33 +10:00
ali-agp.c x86: cpa: move flush to cpa 2008-01-30 13:34:07 +01:00
alpha-agp.c agp: alpha nopage 2008-02-05 09:44:22 -08:00
amd64-agp.c x86 gart: rename CONFIG_IOMMU to CONFIG_GART_IOMMU 2007-10-30 00:22:22 +01:00
amd-k7-agp.c fix historic ioremap() abuse in AGP 2008-02-19 14:46:39 +10:00
ati-agp.c fix historic ioremap() abuse in AGP 2008-02-19 14:46:39 +10:00
backend.c agp: add chipset flushing support to AGP interface 2008-02-05 14:33:32 +10:00
compat_ioctl.c agp: add chipset flushing support to AGP interface 2008-02-05 14:33:32 +10:00
compat_ioctl.h agp: add chipset flushing support to AGP interface 2008-02-05 14:33:32 +10:00
efficeon-agp.c x86: Create clflush() inline, remove hardcoded wbinvd 2007-10-17 20:16:12 +02:00
frontend.c agp: remove uid comparison as security check 2008-02-05 14:33:32 +10:00
generic.c fix historic ioremap() abuse in AGP 2008-02-19 14:46:39 +10:00
hp-agp.c convert ill defined log2() to ilog2() 2007-10-17 08:42:48 -07:00
i460-agp.c x86: cpa: move flush to cpa 2008-01-30 13:34:07 +01:00
intel-agp.c agp: remove flush_agp_mappings calls from new flush handling code 2008-02-05 15:05:23 +10:00
isoch.c [AGPGART] Lots of CodingStyle/whitespace cleanups. 2006-02-28 00:54:25 -05:00
Kconfig x86 gart: rename CONFIG_IOMMU to CONFIG_GART_IOMMU 2007-10-30 00:22:22 +01:00
Makefile [AGPGART] Fix modular agpgart ia64 allmodconfig 2007-02-20 14:18:01 -05:00
nvidia-agp.c agp: balance ioremap checks 2007-08-25 18:14:00 +10:00
parisc-agp.c convert ill defined log2() to ilog2() 2007-10-17 08:42:48 -07:00
sgi-agp.c agp: don't lock pages 2007-07-27 10:46:26 +10:00
sis-agp.c agp/sis: Suspend support for SiS AGP 2008-02-19 14:44:40 +10:00
sworks-agp.c fix historic ioremap() abuse in AGP 2008-02-19 14:46:39 +10:00
uninorth-agp.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
via-agp.c agp: Add device id for P4M900 to via-agp module 2007-08-25 18:10:52 +10:00