]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/base/dma-mapping.c
drm/i915: reorder edp disabling to fix ivb MacBook Air
[karo-tx-linux.git] / drivers / base / dma-mapping.c
index db5db02e885f63e4d4eab67f84ef15759abfa09a..3fbedc75e7c56219d1f0eafeabdebe9e058edc27 100644 (file)
@@ -218,6 +218,24 @@ void dmam_release_declared_memory(struct device *dev)
 }
 EXPORT_SYMBOL(dmam_release_declared_memory);
 
+/*
+ * Create scatter-list for the already allocated DMA buffer.
+ */
+int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt,
+                void *cpu_addr, dma_addr_t handle, size_t size)
+{
+       struct page *page = virt_to_page(cpu_addr);
+       int ret;
+
+       ret = sg_alloc_table(sgt, 1, GFP_KERNEL);
+       if (unlikely(ret))
+               return ret;
+
+       sg_set_page(sgt->sgl, page, PAGE_ALIGN(size), 0);
+       return 0;
+}
+EXPORT_SYMBOL(dma_common_get_sgtable);
+
 #endif
 
 /*