提交 54f7bf72 编写于 作者: A Arnd Bergmann 提交者: David S. Miller

net: netsec: use dma_addr_t for storing dma address

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: NArnd Bergmann <arnd@arndb.de>
Acked-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 6bd39bc3
......@@ -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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册