summaryrefslogtreecommitdiff
path: root/linux-core/drm_memory.h
diff options
context:
space:
mode:
authorMichel Daenzer <michel@daenzer.net>2002-02-02 17:03:51 +0000
committerMichel Daenzer <michel@daenzer.net>2002-02-02 17:03:51 +0000
commit65d25572deec33b7da13c211bf0aa78c361f535a (patch)
treead4f38469cd6cbb503d08a15374e50eb950fb087 /linux-core/drm_memory.h
parent44aa4d6297874022a4f5a49ea24f2d052584d3dc (diff)
wrapper for ioremap_nocache() like for ioremap() (Paul Mundt)
Diffstat (limited to 'linux-core/drm_memory.h')
-rw-r--r--linux-core/drm_memory.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/linux-core/drm_memory.h b/linux-core/drm_memory.h
index f11b80c3..22aab7f4 100644
--- a/linux-core/drm_memory.h
+++ b/linux-core/drm_memory.h
@@ -314,6 +314,29 @@ void *DRM(ioremap)(unsigned long offset, unsigned long size)
return pt;
}
+void *DRM(ioremap_nocache)(unsigned long offset, unsigned long size)
+{
+ void *pt;
+
+ if (!size) {
+ DRM_MEM_ERROR(DRM_MEM_MAPPINGS,
+ "Mapping 0 bytes at 0x%08lx\n", offset);
+ return NULL;
+ }
+
+ if (!(pt = ioremap_nocache(offset, size))) {
+ spin_lock(&DRM(mem_lock));
+ ++DRM(mem_stats)[DRM_MEM_MAPPINGS].fail_count;
+ spin_unlock(&DRM(mem_lock));
+ return NULL;
+ }
+ spin_lock(&DRM(mem_lock));
+ ++DRM(mem_stats)[DRM_MEM_MAPPINGS].succeed_count;
+ DRM(mem_stats)[DRM_MEM_MAPPINGS].bytes_allocated += size;
+ spin_unlock(&DRM(mem_lock));
+ return pt;
+}
+
void DRM(ioremapfree)(void *pt, unsigned long size)
{
int alloc_count;