]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/blobdiff - drivers/gpu/nvgpu/gk20a/as_gk20a.c
gpu: nvgpu: implement mapping for sparse allocation
[sojka/nv-tegra/linux-3.10.git] / drivers / gpu / nvgpu / gk20a / as_gk20a.c
index 1d604b83eefe32db3f5543a478e64d716b6f9320..c8e71f1584889972fcf0ef981789f0674cd364e1 100644 (file)
@@ -131,19 +131,14 @@ static int gk20a_as_ioctl_map_buffer_ex(
                struct gk20a_as_share *as_share,
                struct nvhost_as_map_buffer_ex_args *args)
 {
-       int i;
-
        gk20a_dbg_fn("");
 
-       /* ensure that padding is not set. this is required for ensuring that
-        * we can safely use these fields later */
-       for (i = 0; i < ARRAY_SIZE(args->padding); i++)
-               if (args->padding[i])
-                       return -EINVAL;
-
        return gk20a_vm_map_buffer(as_share, args->dmabuf_fd,
-                                  &args->offset, args->flags,
-                                  args->kind);
+                                  &args->as_offset, args->flags,
+                                  args->kind,
+                                  args->buffer_offset,
+                                  args->mapping_size
+                                  );
 }
 
 static int gk20a_as_ioctl_map_buffer(
@@ -152,8 +147,9 @@ static int gk20a_as_ioctl_map_buffer(
 {
        gk20a_dbg_fn("");
        return gk20a_vm_map_buffer(as_share, args->nvmap_handle,
-                                  &args->o_a.align,
-                                  args->flags, NV_KIND_DEFAULT);
+                                  &args->o_a.offset,
+                                  args->flags, NV_KIND_DEFAULT,
+                                  0, 0);
        /* args->o_a.offset will be set if !err */
 }