Split DMA memory and buffer setup in kernel driver

To allow the NPU kernel driver to allocate and use DMA memory internally
without creating a buffer instance, the DMA memory management has been
split out from the buffer code.

Change-Id: I46fdeee51b5ef786a54b8e7c866d137d91222724
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
diff --git a/kernel/ethosu_buffer.h b/kernel/ethosu_buffer.h
index 1829fbe..8bef2d2 100644
--- a/kernel/ethosu_buffer.h
+++ b/kernel/ethosu_buffer.h
@@ -31,25 +31,22 @@
  * Types
  ****************************************************************************/
 
+struct ethosu_dma_mem;
 struct ethosu_device;
 struct device;
 
 /**
- * struct ethosu_buffer - Buffer
- * @dev:		Device
- * @file:		File
- * @kref:		Reference counting
- * @size:		Size of the buffer
- * @cpu_addr:		Kernel mapped address
- * @dma_addr:		DMA address
+ * struct ethosu_buffer - User data buffer
+ * @dev:	Device
+ * @file:	File
+ * @kref:	Reference counting
+ * @dma_mem:	DMA memory allocated for the buffer
  */
 struct ethosu_buffer {
-	struct device *dev;
-	struct file   *file;
-	struct kref   kref;
-	size_t        size;
-	void          *cpu_addr;
-	dma_addr_t    dma_addr;
+	struct device         *dev;
+	struct file           *file;
+	struct kref           kref;
+	struct ethosu_dma_mem *dma_mem;
 };
 
 /****************************************************************************