OSDN Git Service

gpu: host1x: Fix compiler errors by converting to dma_addr_t
authorEmil Goode <emil.fsw@goode.io>
Wed, 16 May 2018 10:22:04 +0000 (12:22 +0200)
committerThierry Reding <treding@nvidia.com>
Fri, 18 May 2018 09:23:48 +0000 (11:23 +0200)
The compiler is complaining with the following errors:

drivers/gpu/host1x/cdma.c:94:48: error:
passing argument 3 of ‘dma_alloc_wc’ from incompatible pointer type
[-Werror=incompatible-pointer-types]

drivers/gpu/host1x/cdma.c:113:48: error:
passing argument 3 of ‘dma_alloc_wc’ from incompatible pointer type
[-Werror=incompatible-pointer-types]

The expected pointer type of the third argument to dma_alloc_wc() is
dma_addr_t but phys_addr_t is passed.

Change the phys member of struct push_buffer to be dma_addr_t so that we
pass the correct type to dma_alloc_wc().
Also check pb->mapped for non-NULL in the destroy function as that is the
right way of checking if dma_alloc_wc() was successful.

Signed-off-by: Emil Goode <emil.fsw@goode.io>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/host1x/cdma.c
drivers/gpu/host1x/cdma.h

index cf6caa9..69bb773 100644 (file)
@@ -51,7 +51,7 @@ static void host1x_pushbuffer_destroy(struct push_buffer *pb)
        struct host1x_cdma *cdma = pb_to_cdma(pb);
        struct host1x *host1x = cdma_to_host1x(cdma);
 
-       if (!pb->phys)
+       if (!pb->mapped)
                return;
 
        if (host1x->domain) {
index 286d493..446ee1a 100644 (file)
@@ -44,7 +44,7 @@ struct host1x_job;
 struct push_buffer {
        void *mapped;                   /* mapped pushbuffer memory */
        dma_addr_t dma;                 /* device address of pushbuffer */
-       phys_addr_t phys;               /* physical address of pushbuffer */
+       dma_addr_t phys;                /* physical address of pushbuffer */
        u32 fence;                      /* index we've written */
        u32 pos;                        /* index to write to */
        u32 size;