In the linux-4.19 stable kernel, we get a warning about a type
mismatch between phys_addr_t and dma_addr_t:

drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c: In function 
'_dpu_dbg_dump_dpu_dbg_bus':
drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c:2003:16: error: passing argument 3 of 
'dma_alloc_coherent' from incompatible pointer type 
[-Werror=incompatible-pointer-types]
     list_size, &phys, GFP_KERNEL);
                ^~~~~
In file included from include/linux/dma-buf.h:31,
                 from drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c:20:
include/linux/dma-mapping.h:561:15: note: expected 'dma_addr_t *' {aka 'long 
long unsigned int *'} but argument is of type 'phys_addr_t *' {aka 'unsigned 
int *'}
   dma_addr_t *dma_handle, gfp_t flag)
   ~~~~~~~~~~~~^~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c: In function 
'_dpu_dbg_dump_vbif_dbg_bus':
drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c:2154:16: error: passing argument 3 of 
'dma_alloc_coherent' from incompatible pointer type 
[-Werror=incompatible-pointer-types]
     list_size, &phys, GFP_KERNEL);
                ^~~~~
In file included from include/linux/dma-buf.h:31,
                 from drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c:20:
include/linux/dma-mapping.h:561:15: note: expected 'dma_addr_t *' {aka 'long 
long unsigned int *'} but argument is of type 'phys_addr_t *' {aka 'unsigned 
int *'}

This code was removed in linux-4.20 with upstream commit effec874792f
("drm/msm/dpu: Remove dpu_dbg"). Rather than backporting the large
patch, this just fixes the warning by using the correct type.

Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
Signed-off-by: Arnd Bergmann <a...@arndb.de>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c
index ae2aee7ed9e1..e741d26185df 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_dbg.c
@@ -1962,7 +1962,7 @@ static void _dpu_dbg_dump_dpu_dbg_bus(struct 
dpu_dbg_dpu_debug_bus *bus)
        u32 *dump_addr = NULL;
        u32 status = 0;
        struct dpu_debug_bus_entry *head;
-       phys_addr_t phys = 0;
+       dma_addr_t dma = 0;
        int list_size;
        int i;
        u32 offset;
@@ -2000,7 +2000,7 @@ static void _dpu_dbg_dump_dpu_dbg_bus(struct 
dpu_dbg_dpu_debug_bus *bus)
        if (in_mem) {
                if (!(*dump_mem))
                        *dump_mem = dma_alloc_coherent(dpu_dbg_base.dev,
-                               list_size, &phys, GFP_KERNEL);
+                               list_size, &dma, GFP_KERNEL);
 
                if (*dump_mem) {
                        dump_addr = *dump_mem;
@@ -2101,7 +2101,7 @@ static void _dpu_dbg_dump_vbif_dbg_bus(struct 
dpu_dbg_vbif_debug_bus *bus)
        u32 value, d0, d1;
        unsigned long reg, reg1, reg2;
        struct vbif_debug_bus_entry *head;
-       phys_addr_t phys = 0;
+       dma_addr_t dma = 0;
        int i, list_size = 0;
        void __iomem *mem_base = NULL;
        struct vbif_debug_bus_entry *dbg_bus;
@@ -2151,7 +2151,7 @@ static void _dpu_dbg_dump_vbif_dbg_bus(struct 
dpu_dbg_vbif_debug_bus *bus)
        if (in_mem) {
                if (!(*dump_mem))
                        *dump_mem = dma_alloc_coherent(dpu_dbg_base.dev,
-                               list_size, &phys, GFP_KERNEL);
+                               list_size, &dma, GFP_KERNEL);
 
                if (*dump_mem) {
                        dump_addr = *dump_mem;
-- 
2.20.0

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to