From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754144AbeAMVca (ORCPT + 1 other); Sat, 13 Jan 2018 16:32:30 -0500 Received: from mail-io0-f193.google.com ([209.85.223.193]:39295 "EHLO mail-io0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752830AbeAMVc2 (ORCPT ); Sat, 13 Jan 2018 16:32:28 -0500 X-Google-Smtp-Source: ACJfBotUPf2mRMUUeRu3E3SSb8mbo8OfWUM6ePxyQqjTv4zwypuEK+pxPshgllOo3wxMTxawHpO9rtimK/AchjtHnxc= MIME-Version: 1.0 In-Reply-To: <20180113211355.638195-1-arnd@arndb.de> References: <20180113211355.638195-1-arnd@arndb.de> From: Ard Biesheuvel Date: Sat, 13 Jan 2018 21:32:27 +0000 Message-ID: Subject: Re: [PATCH] [net-next] net: netsec: use dma_addr_t for storing dma address To: Arnd Bergmann Cc: Jassi Brar , "David S. Miller" , Wei Yongjun , "" , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 13 January 2018 at 21:13, Arnd Bergmann 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 Acked-by: Ard Biesheuvel > --- > 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 >