@@ -24,7 +24,6 @@ static int cpu_set(struct context *ctx, unsigned long offset, u32 v)
2424{
2525 unsigned int needs_clflush ;
2626 struct page * page ;
27- void * map ;
2827 u32 * cpu ;
2928 int err ;
3029
@@ -34,8 +33,7 @@ static int cpu_set(struct context *ctx, unsigned long offset, u32 v)
3433 goto out ;
3534
3635 page = i915_gem_object_get_page (ctx -> obj , offset >> PAGE_SHIFT );
37- map = kmap_atomic (page );
38- cpu = map + offset_in_page (offset );
36+ cpu = kmap_local_page (page ) + offset_in_page (offset );
3937
4038 if (needs_clflush & CLFLUSH_BEFORE )
4139 drm_clflush_virt_range (cpu , sizeof (* cpu ));
@@ -45,7 +43,7 @@ static int cpu_set(struct context *ctx, unsigned long offset, u32 v)
4543 if (needs_clflush & CLFLUSH_AFTER )
4644 drm_clflush_virt_range (cpu , sizeof (* cpu ));
4745
48- kunmap_atomic ( map );
46+ kunmap_local ( cpu );
4947 i915_gem_object_finish_access (ctx -> obj );
5048
5149out :
@@ -57,7 +55,6 @@ static int cpu_get(struct context *ctx, unsigned long offset, u32 *v)
5755{
5856 unsigned int needs_clflush ;
5957 struct page * page ;
60- void * map ;
6158 u32 * cpu ;
6259 int err ;
6360
@@ -67,15 +64,14 @@ static int cpu_get(struct context *ctx, unsigned long offset, u32 *v)
6764 goto out ;
6865
6966 page = i915_gem_object_get_page (ctx -> obj , offset >> PAGE_SHIFT );
70- map = kmap_atomic (page );
71- cpu = map + offset_in_page (offset );
67+ cpu = kmap_local_page (page ) + offset_in_page (offset );
7268
7369 if (needs_clflush & CLFLUSH_BEFORE )
7470 drm_clflush_virt_range (cpu , sizeof (* cpu ));
7571
7672 * v = * cpu ;
7773
78- kunmap_atomic ( map );
74+ kunmap_local ( cpu );
7975 i915_gem_object_finish_access (ctx -> obj );
8076
8177out :
0 commit comments