Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753865AbdHKVth (ORCPT ); Fri, 11 Aug 2017 17:49:37 -0400 Received: from shards.monkeyblade.net ([184.105.139.130]:60694 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753647AbdHKVtg (ORCPT ); Fri, 11 Aug 2017 17:49:36 -0400 Date: Fri, 11 Aug 2017 14:49:35 -0700 (PDT) Message-Id: <20170811.144935.36255660873272850.davem@davemloft.net> To: romieu@fr.zoreil.com Cc: khoroshilov@ispras.ru, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, ldv-project@linuxtesting.org Subject: Re: [PATCH v3 net-next 2/2] wan: dscc4: convert to plain DMA API From: David Miller In-Reply-To: <20170811214549.GA8187@electric-eye.fr.zoreil.com> References: <1502405721-27738-1-git-send-email-khoroshilov@ispras.ru> <1502405721-27738-2-git-send-email-khoroshilov@ispras.ru> <20170811214549.GA8187@electric-eye.fr.zoreil.com> X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Fri, 11 Aug 2017 14:49:36 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1520 Lines: 41 From: Francois Romieu Date: Fri, 11 Aug 2017 23:45:49 +0200 > Alexey Khoroshilov : > [...] >> 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.