[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170811.144935.36255660873272850.davem@davemloft.net>
Date: Fri, 11 Aug 2017 14:49:35 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: romieu@...zoreil.com
Cc: khoroshilov@...ras.ru, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, ldv-project@...uxtesting.org
Subject: Re: [PATCH v3 net-next 2/2] wan: dscc4: convert to plain DMA API
From: Francois Romieu <romieu@...zoreil.com>
Date: Fri, 11 Aug 2017 23:45:49 +0200
> Alexey Khoroshilov <khoroshilov@...ras.ru> :
> [...]
>> diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c
>> index 8480dbf..a043fb1 100644
>> --- a/drivers/net/wan/dscc4.c
>> +++ b/drivers/net/wan/dscc4.c
> [...]
>> @@ -506,8 +506,9 @@ static void dscc4_release_ring(struct dscc4_dev_priv *dpriv)
>> skbuff = dpriv->rx_skbuff;
>> for (i = 0; i < RX_RING_SIZE; i++) {
>> if (*skbuff) {
>> - pci_unmap_single(pdev, le32_to_cpu(rx_fd->data),
>> - RX_MAX(HDLC_MAX_MRU), PCI_DMA_FROMDEVICE);
>> + dma_unmap_single(d, le32_to_cpu(rx_fd->data),
>> + RX_MAX(HDLC_MAX_MRU),
>> + DMA_FROM_DEVICE);
>
> RX_MAX(HDLC_MAX_MRU), DMA_FROM_DEVICE);
...
>> @@ -782,8 +783,8 @@ static int dscc4_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>>
>> rc = -ENOMEM;
>>
>> - priv->iqcfg = (__le32 *) pci_alloc_consistent(pdev,
>> - IRQ_RING_SIZE*sizeof(__le32), &priv->iqcfg_dma);
>> + priv->iqcfg = (__le32 *)dma_alloc_coherent(&pdev->dev,
>> + IRQ_RING_SIZE*sizeof(__le32), &priv->iqcfg_dma, GFP_KERNEL);
>
> - the cast can go away
> - please replace &pdev->dev with a local variable
>
> priv->iqcfg = dma_alloc_coherent(d, IRQ_RING_SIZE*sizeof(__le32),
> &priv->iqcfg_dma, GFP_KERNEL);
>
> Same thing for iqtx and iqrx (beware of copy&paste + tx/rx mismatch).
Oops, this will need to be sent as a relative fixup as I've applied these
two patches to net-next, sorry Francois.
Powered by blists - more mailing lists