aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-08-05 19:02:01 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-05 19:02:01 -0400
commitfc1caf6eafb30ea185720e29f7f5eccca61ecd60 (patch)
tree666dabc25a9b02e5c05f9eba32fa6b0d8027341a /include/linux
parent9779714c8af09d57527f18d9aa2207dcc27a8687 (diff)
parent96576a9e1a0cdb8a43d3af5846be0948f52b4460 (diff)
Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (204 commits) agp: intel-agp: do not use PCI resources before pci_enable_device() agp: efficeon-agp: do not use PCI resources before pci_enable_device() drm: kill BKL from common code drm/kms: Simplify setup of the initial I2C encoder config. drm,io-mapping: Specify slot to use for atomic mappings drm/radeon/kms: only expose underscan on avivo chips drm/radeon: add new pci ids drm: Cleanup after failing to create master->unique and dev->name drm/radeon: tone down overchatty acpi debug messages. drm/radeon/kms: enable underscan option for digital connectors drm/radeon/kms: fix calculation of h/v scaling factors drm/radeon/kms/igp: sideport is AMD only drm/radeon/kms: handle the case of no active displays properly in the bandwidth code drm: move ttm global code to core drm drm/i915: Clear the Ironlake dithering flags when the pipe doesn't want it. drm/radeon/kms: make sure HPD is set to NONE on analog-only connectors drm/radeon/kms: make sure rio_mem is valid before unmapping it drm/agp/i915: trim stolen space to 32M drm/i915: Unset cursor if out-of-bounds upon mode change (v4) drm/i915: Unreference object not handle on creation ...
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/io-mapping.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/include/linux/io-mapping.h b/include/linux/io-mapping.h
index 25085ddd955f..e0ea40f6c515 100644
--- a/include/linux/io-mapping.h
+++ b/include/linux/io-mapping.h
@@ -79,7 +79,9 @@ io_mapping_free(struct io_mapping *mapping)
79 79
80/* Atomic map/unmap */ 80/* Atomic map/unmap */
81static inline void * 81static inline void *
82io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset) 82io_mapping_map_atomic_wc(struct io_mapping *mapping,
83 unsigned long offset,
84 int slot)
83{ 85{
84 resource_size_t phys_addr; 86 resource_size_t phys_addr;
85 unsigned long pfn; 87 unsigned long pfn;
@@ -87,13 +89,13 @@ io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset)
87 BUG_ON(offset >= mapping->size); 89 BUG_ON(offset >= mapping->size);
88 phys_addr = mapping->base + offset; 90 phys_addr = mapping->base + offset;
89 pfn = (unsigned long) (phys_addr >> PAGE_SHIFT); 91 pfn = (unsigned long) (phys_addr >> PAGE_SHIFT);
90 return iomap_atomic_prot_pfn(pfn, KM_USER0, mapping->prot); 92 return iomap_atomic_prot_pfn(pfn, slot, mapping->prot);
91} 93}
92 94
93static inline void 95static inline void
94io_mapping_unmap_atomic(void *vaddr) 96io_mapping_unmap_atomic(void *vaddr, int slot)
95{ 97{
96 iounmap_atomic(vaddr, KM_USER0); 98 iounmap_atomic(vaddr, slot);
97} 99}
98 100
99static inline void * 101static inline void *
@@ -133,13 +135,15 @@ io_mapping_free(struct io_mapping *mapping)
133 135
134/* Atomic map/unmap */ 136/* Atomic map/unmap */
135static inline void * 137static inline void *
136io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset) 138io_mapping_map_atomic_wc(struct io_mapping *mapping,
139 unsigned long offset,
140 int slot)
137{ 141{
138 return ((char *) mapping) + offset; 142 return ((char *) mapping) + offset;
139} 143}
140 144
141static inline void 145static inline void
142io_mapping_unmap_atomic(void *vaddr) 146io_mapping_unmap_atomic(void *vaddr, int slot)
143{ 147{
144} 148}
145 149