]> Git Repo - J-linux.git/commitdiff
dma-buf/heaps: Correct the types of fd_flags and heap_flags
authorBarry Song <[email protected]>
Thu, 6 Jun 2024 02:02:13 +0000 (14:02 +1200)
committerSumit Semwal <[email protected]>
Wed, 19 Jun 2024 14:35:34 +0000 (20:05 +0530)
dma_heap_allocation_data defines the UAPI as follows:

 struct dma_heap_allocation_data {
        __u64 len;
        __u32 fd;
        __u32 fd_flags;
        __u64 heap_flags;
 };

But dma heaps are casting both fd_flags and heap_flags into
unsigned long. This patch makes dma heaps - cma heap and
system heap have consistent types with UAPI.

Signed-off-by: Barry Song <[email protected]>
Acked-by: John Stultz <[email protected]>
Reviewed-by: Carlos Llamas <[email protected]>
Signed-off-by: Sumit Semwal <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
drivers/dma-buf/heaps/cma_heap.c
drivers/dma-buf/heaps/system_heap.c
include/linux/dma-heap.h

index 4a63567e93bae3dd2d5affabeedfd713aaa51460..c384004b918e23909a5b8bef519e6860b1dfc021 100644 (file)
@@ -274,8 +274,8 @@ static const struct dma_buf_ops cma_heap_buf_ops = {
 
 static struct dma_buf *cma_heap_allocate(struct dma_heap *heap,
                                         unsigned long len,
-                                        unsigned long fd_flags,
-                                        unsigned long heap_flags)
+                                        u32 fd_flags,
+                                        u64 heap_flags)
 {
        struct cma_heap *cma_heap = dma_heap_get_drvdata(heap);
        struct cma_heap_buffer *buffer;
index 9076d47ed2ef46cdb2e300eca3303ee15eb14639..d78cdb9d01e5e404f5024ea04cd6acbffa5bd0f6 100644 (file)
@@ -333,8 +333,8 @@ static struct page *alloc_largest_available(unsigned long size,
 
 static struct dma_buf *system_heap_allocate(struct dma_heap *heap,
                                            unsigned long len,
-                                           unsigned long fd_flags,
-                                           unsigned long heap_flags)
+                                           u32 fd_flags,
+                                           u64 heap_flags)
 {
        struct system_heap_buffer *buffer;
        DEFINE_DMA_BUF_EXPORT_INFO(exp_info);
index 0c05561cad6e62b78af6d492b565f50db21e596f..064bad7250611a6520a176597805940ef67d1fad 100644 (file)
@@ -23,8 +23,8 @@ struct dma_heap;
 struct dma_heap_ops {
        struct dma_buf *(*allocate)(struct dma_heap *heap,
                                    unsigned long len,
-                                   unsigned long fd_flags,
-                                   unsigned long heap_flags);
+                                   u32 fd_flags,
+                                   u64 heap_flags);
 };
 
 /**
This page took 0.058574 seconds and 4 git commands to generate.