|
@@ -79,7 +79,9 @@ io_mapping_free(struct io_mapping *mapping)
|
|
|
|
|
|
/* Atomic map/unmap */
|
|
|
static inline void *
|
|
|
-io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset)
|
|
|
+io_mapping_map_atomic_wc(struct io_mapping *mapping,
|
|
|
+ unsigned long offset,
|
|
|
+ int slot)
|
|
|
{
|
|
|
resource_size_t phys_addr;
|
|
|
unsigned long pfn;
|
|
@@ -87,13 +89,13 @@ io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset)
|
|
|
BUG_ON(offset >= mapping->size);
|
|
|
phys_addr = mapping->base + offset;
|
|
|
pfn = (unsigned long) (phys_addr >> PAGE_SHIFT);
|
|
|
- return iomap_atomic_prot_pfn(pfn, KM_USER0, mapping->prot);
|
|
|
+ return iomap_atomic_prot_pfn(pfn, slot, mapping->prot);
|
|
|
}
|
|
|
|
|
|
static inline void
|
|
|
-io_mapping_unmap_atomic(void *vaddr)
|
|
|
+io_mapping_unmap_atomic(void *vaddr, int slot)
|
|
|
{
|
|
|
- iounmap_atomic(vaddr, KM_USER0);
|
|
|
+ iounmap_atomic(vaddr, slot);
|
|
|
}
|
|
|
|
|
|
static inline void *
|
|
@@ -133,13 +135,15 @@ io_mapping_free(struct io_mapping *mapping)
|
|
|
|
|
|
/* Atomic map/unmap */
|
|
|
static inline void *
|
|
|
-io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset)
|
|
|
+io_mapping_map_atomic_wc(struct io_mapping *mapping,
|
|
|
+ unsigned long offset,
|
|
|
+ int slot)
|
|
|
{
|
|
|
return ((char *) mapping) + offset;
|
|
|
}
|
|
|
|
|
|
static inline void
|
|
|
-io_mapping_unmap_atomic(void *vaddr)
|
|
|
+io_mapping_unmap_atomic(void *vaddr, int slot)
|
|
|
{
|
|
|
}
|
|
|
|