diff mbox series

[net-next] net: netsec: use dma_addr_t for storing dma address

Message ID 20180113211355.638195-1-arnd@arndb.de
State Accepted
Commit 54f7bf7230520ef6f0c79ac507fef46e5d7aa7fb
Headers show
Series [net-next] net: netsec: use dma_addr_t for storing dma address | expand

Commit Message

Arnd Bergmann Jan. 13, 2018, 9:13 p.m. UTC
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>

---
 drivers/net/ethernet/socionext/netsec.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

-- 
2.9.0

Comments

Ard Biesheuvel Jan. 13, 2018, 9:32 p.m. UTC | #1
On 13 January 2018 at 21:13, Arnd Bergmann <arnd@arndb.de> wrote:
> 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,


consistency

> 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>


> ---

>  drivers/net/ethernet/socionext/netsec.c | 14 +++++++-------

>  1 file changed, 7 insertions(+), 7 deletions(-)

>

> diff --git a/drivers/net/ethernet/socionext/netsec.c b/drivers/net/ethernet/socionext/netsec.c

> index 6c263af86b8a..f4c0b02ddad8 100644

> --- a/drivers/net/ethernet/socionext/netsec.c

> +++ b/drivers/net/ethernet/socionext/netsec.c

> @@ -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,

> --

> 2.9.0

>
David Miller Jan. 14, 2018, 5 p.m. UTC | #2
From: Arnd Bergmann <arnd@arndb.de>

Date: Sat, 13 Jan 2018 22:13:44 +0100

> 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>


Applied, thanks Arnd.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/socionext/netsec.c b/drivers/net/ethernet/socionext/netsec.c
index 6c263af86b8a..f4c0b02ddad8 100644
--- a/drivers/net/ethernet/socionext/netsec.c
+++ b/drivers/net/ethernet/socionext/netsec.c
@@ -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,