Thread (74 messages) 74 messages, 16 authors, 2017-03-17

[RFC PATCH 04/12] staging: android: ion: Call dma_map_sg for syncing and mapping

flat view

From: Dan Carpenter <hidden>
Date: 2017-03-03 11:07:55
Also in: dri-devel, linux-media, linux-mm, lkml

On Thu, Mar 02, 2017 at 01:44:36PM -0800, Laura Abbott wrote:
quoted hunk ↗ jump to hunk
 static struct sg_table *ion_map_dma_buf(struct dma_buf_attachment *attachment,
 					enum dma_data_direction direction)
 {
 	struct dma_buf *dmabuf = attachment->dmabuf;
 	struct ion_buffer *buffer = dmabuf->priv;
+	struct sg_table *table;
+	int ret;
+
+	/*
+	 * TODO: Need to sync wrt CPU or device completely owning?
+	 */
+
+	table = dup_sg_table(buffer->sg_table);
 
-	ion_buffer_sync_for_device(buffer, attachment->dev, direction);
-	return dup_sg_table(buffer->sg_table);
+	if (!dma_map_sg(attachment->dev, table->sgl, table->nents,
+			direction)){
+		ret = -ENOMEM;
+		goto err;
+	}
+
+err:
+	free_duped_table(table);
+	return ERR_PTR(ret);
ret isn't initialized on success.
 }
 
regards,
dan carpenter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help