OSDN Git Service

net: netsec: use dma_addr_t for storing dma address
authorArnd Bergmann <arnd@arndb.de>
Sat, 13 Jan 2018 21:13:44 +0000 (22:13 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 14 Jan 2018 17:00:23 +0000 (12:00 -0500)
On targets that have different sizes for phys_addr_t and dma_addr_t,
we get a type mismatch error:

drivers/net/ethernet/socionext/netsec.c: In function 'netsec_alloc_dring':
drivers/net/ethernet/socionext/netsec.c:970:9: error: passing argument 3 of 'dma_zalloc_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]

The code is otherwise correct, as the address is never actually used as a
physical address but only passed into a DMA register.  For consistently,
I'm changing the variable name as well, to clarify that this is a DMA
address.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/socionext/netsec.c

index 6c263af..f4c0b02 100644 (file)
@@ -252,7 +252,7 @@ struct netsec_desc {
 };
 
 struct netsec_desc_ring {
-       phys_addr_t desc_phys;
+       dma_addr_t desc_dma;
        struct netsec_desc *desc;
        void *vaddr;
        u16 pkt_cnt;
@@ -953,7 +953,7 @@ static void netsec_free_dring(struct netsec_priv *priv, int id)
 
        if (dring->vaddr) {
                dma_free_coherent(priv->dev, DESC_SZ * DESC_NUM,
-                                 dring->vaddr, dring->desc_phys);
+                                 dring->vaddr, dring->desc_dma);
                dring->vaddr = NULL;
        }
 
@@ -967,7 +967,7 @@ static int netsec_alloc_dring(struct netsec_priv *priv, enum ring_id id)
        int ret = 0;
 
        dring->vaddr = dma_zalloc_coherent(priv->dev, DESC_SZ * DESC_NUM,
-                                          &dring->desc_phys, GFP_KERNEL);
+                                          &dring->desc_dma, GFP_KERNEL);
        if (!dring->vaddr) {
                ret = -ENOMEM;
                goto err;
@@ -1087,14 +1087,14 @@ static int netsec_reset_hardware(struct netsec_priv *priv)
 
        /* set desc_start addr */
        netsec_write(priv, NETSEC_REG_NRM_RX_DESC_START_UP,
-                    upper_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys));
+                    upper_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_dma));
        netsec_write(priv, NETSEC_REG_NRM_RX_DESC_START_LW,
-                    lower_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys));
+                    lower_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_dma));
 
        netsec_write(priv, NETSEC_REG_NRM_TX_DESC_START_UP,
-                    upper_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys));
+                    upper_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_dma));
        netsec_write(priv, NETSEC_REG_NRM_TX_DESC_START_LW,
-                    lower_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys));
+                    lower_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_dma));
 
        /* set normal tx dring ring config */
        netsec_write(priv, NETSEC_REG_NRM_TX_CONFIG,