From 46cacdca855a99c1ffe0ccf7a7f88134bca9bade Mon Sep 17 00:00:00 2001 From: Alan Hourihane Date: Wed, 6 Mar 2002 19:30:45 +0000 Subject: first pass at merging mesa 4.0 kernel drivers into new bsd-3-0-0 branch. --- bsd-core/drm_memory.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'bsd-core/drm_memory.c') diff --git a/bsd-core/drm_memory.c b/bsd-core/drm_memory.c index 605b42ae..97f2bb81 100644 --- a/bsd-core/drm_memory.c +++ b/bsd-core/drm_memory.c @@ -290,6 +290,30 @@ 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; + } + + /* FIXME FOR BSD */ + if (!(pt = ioremap_nocache(offset, size))) { + DRM_OS_SPINLOCK(&DRM(mem_lock)); + ++DRM(mem_stats)[DRM_MEM_MAPPINGS].fail_count; + DRM_OS_SPINUNLOCK(&DRM(mem_lock)); + return NULL; + } + DRM_OS_SPINLOCK(&DRM(mem_lock)); + ++DRM(mem_stats)[DRM_MEM_MAPPINGS].succeed_count; + DRM(mem_stats)[DRM_MEM_MAPPINGS].bytes_allocated += size; + DRM_OS_SPINUNLOCK(&DRM(mem_lock)); + return pt; +} + void DRM(ioremapfree)(void *pt, unsigned long size) { int alloc_count; -- cgit v1.2.3