Skip to content

Commit

Permalink
drm/i915: [sparse] __iomem fixes for gem
Browse files Browse the repository at this point in the history
As with one of the earlier patches in the series, we're forced to cast
for copy_[to|from]_user. Again because of the nature of the GEN x86
exclusivity, this should be safe.

Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
[danvet: Added some bikeshed.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Ben Widawsky authored and Daniel Vetter committed May 3, 2012
1 parent 0d38f00 commit 4f0c7cf
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions drivers/gpu/drm/i915/i915_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -282,8 +282,8 @@ __copy_to_user_swizzled(char __user *cpu_vaddr,
}

static inline int
__copy_from_user_swizzled(char __user *gpu_vaddr, int gpu_offset,
const char *cpu_vaddr,
__copy_from_user_swizzled(char *gpu_vaddr, int gpu_offset,
const char __user *cpu_vaddr,
int length)
{
int ret, cpu_offset = 0;
Expand Down Expand Up @@ -558,11 +558,14 @@ fast_user_write(struct io_mapping *mapping,
char __user *user_data,
int length)
{
char *vaddr_atomic;
void __iomem *vaddr_atomic;
void *vaddr;
unsigned long unwritten;

vaddr_atomic = io_mapping_map_atomic_wc(mapping, page_base);
unwritten = __copy_from_user_inatomic_nocache(vaddr_atomic + page_offset,
/* We can use the cpu mem copy function because this is X86. */
vaddr = (void __force*)vaddr_atomic + page_offset;
unwritten = __copy_from_user_inatomic_nocache(vaddr,
user_data, length);
io_mapping_unmap_atomic(vaddr_atomic);
return unwritten;
Expand Down

0 comments on commit 4f0c7cf

Please sign in to comment.