gpu: ion: Get an sg_table from an ion handle
authorRebecca Schultz Zavin <rebecca@android.com>
Wed, 23 May 2012 19:55:55 +0000 (12:55 -0700)
committerArve Hjønnevåg <arve@android.com>
Mon, 1 Jul 2013 20:40:48 +0000 (13:40 -0700)
This patch adds an interface to return and sg_table given a
valid ion handle.

Change-Id: Icd948c60c1af0a4279f337bcd591cd39b46325e8
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
drivers/gpu/ion/ion.c
include/linux/ion.h

index f17f92550134679483283ca01ea1a5e287c36780..50a4a407964689e3078d2ddf9af68604bc2bbca6 100644 (file)
@@ -616,8 +616,8 @@ void ion_client_destroy(struct ion_client *client)
        kfree(client);
 }
 
-struct sg_table *ion_map_dma(struct ion_client *client,
-                            struct ion_handle *handle)
+struct sg_table *ion_sg_table(struct ion_client *client,
+                             struct ion_handle *handle)
 {
        struct ion_buffer *buffer;
        struct sg_table *table;
@@ -635,10 +635,6 @@ struct sg_table *ion_map_dma(struct ion_client *client,
        return table;
 }
 
-void ion_unmap_dma(struct ion_client *client, struct ion_handle *handle)
-{
-}
-
 static struct sg_table *ion_map_dma_buf(struct dma_buf_attachment *attachment,
                                        enum dma_data_direction direction)
 {
index 3bf85fd0438b97889323ab399c399c3eec96bb40..d44ce69446dd389687b260792d86f25f766b7f8d 100644 (file)
@@ -149,7 +149,7 @@ void ion_free(struct ion_client *client, struct ion_handle *handle);
  * This function queries the heap for a particular handle to get the
  * handle's physical address.  It't output is only correct if
  * a heap returns physically contiguous memory -- in other cases
- * this api should not be implemented -- ion_map_dma should be used
+ * this api should not be implemented -- ion_sg_table should be used
  * instead.  Returns -EINVAL if the handle is invalid.  This has
  * no implications on the reference counting of the handle --
  * the returned value may not be valid if the caller is not
@@ -158,6 +158,17 @@ void ion_free(struct ion_client *client, struct ion_handle *handle);
 int ion_phys(struct ion_client *client, struct ion_handle *handle,
             ion_phys_addr_t *addr, size_t *len);
 
+/**
+ * ion_map_dma - return an sg_table describing a handle
+ * @client:    the client
+ * @handle:    the handle
+ *
+ * This function returns the sg_table describing
+ * a particular ion handle.
+ */
+struct sg_table *ion_sg_table(struct ion_client *client,
+                             struct ion_handle *handle);
+
 /**
  * ion_map_kernel - create mapping for the given handle
  * @client:    the client