From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A3935CA9EC0 for ; Mon, 28 Oct 2019 11:38:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7EA8C20873 for ; Mon, 28 Oct 2019 11:38:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388523AbfJ1LiT (ORCPT ); Mon, 28 Oct 2019 07:38:19 -0400 Received: from verein.lst.de ([213.95.11.211]:34037 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726463AbfJ1LiS (ORCPT ); Mon, 28 Oct 2019 07:38:18 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id C917068BE1; Mon, 28 Oct 2019 12:38:16 +0100 (CET) Date: Mon, 28 Oct 2019 12:38:16 +0100 From: "hch@lst.de" To: Laurentiu Tudor Cc: Jonathan Lemon , "hch@lst.de" , "joro@8bytes.org" , Ioana Ciocoi Radulescu , "linux-kernel@vger.kernel.org" , "iommu@lists.linux-foundation.org" , "netdev@vger.kernel.org" , Ioana Ciornei , Leo Li , "robin.murphy@arm.com" , Diana Madalina Craciun , "davem@davemloft.net" , Madalin Bucur Subject: Re: [PATCH v2 3/3] dpaa2_eth: use new unmap and sync dma api variants Message-ID: <20191028113816.GB24055@lst.de> References: <20191024124130.16871-1-laurentiu.tudor@nxp.com> <20191024124130.16871-4-laurentiu.tudor@nxp.com> <00a138f0-3651-5441-7241-5f02956b6c2c@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <00a138f0-3651-5441-7241-5f02956b6c2c@nxp.com> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 28, 2019 at 10:55:05AM +0000, Laurentiu Tudor wrote: > >> @@ -85,9 +75,10 @@ static void free_rx_fd(struct dpaa2_eth_priv *priv, > >>      sgt = vaddr + dpaa2_fd_get_offset(fd); > >>      for (i = 1; i < DPAA2_ETH_MAX_SG_ENTRIES; i++) { > >>          addr = dpaa2_sg_get_addr(&sgt[i]); > >> -        sg_vaddr = dpaa2_iova_to_virt(priv->iommu_domain, addr); > >> -        dma_unmap_page(dev, addr, DPAA2_ETH_RX_BUF_SIZE, > >> -                   DMA_BIDIRECTIONAL); > >> +        sg_vaddr = page_to_virt > >> +                (dma_unmap_page_desc(dev, addr, > >> +                            DPAA2_ETH_RX_BUF_SIZE, > >> +                            DMA_BIDIRECTIONAL)); > > > > This is doing virt -> page -> virt.  Why not just have the new > > function return the VA corresponding to the addr, which would > > match the other functions? > > I'd really like that as it would get rid of the page_to_virt() calls but > it will break the symmetry with the dma_map_page() API. I'll let the > maintainers decide. It would be symmetric with dma_map_single, though. Maybe we need both variants?