On 13 January 2018 at 21:13, Arnd Bergmann <a...@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 <a...@arndb.de> Acked-by: Ard Biesheuvel <ard.biesheu...@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 >