From patchwork Tue Oct 9 13:24:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 10632581 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4F9DB13AA for ; Tue, 9 Oct 2018 13:27:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4625D289DF for ; Tue, 9 Oct 2018 13:27:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3713528A5D; Tue, 9 Oct 2018 13:27:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 846A8289DF for ; Tue, 9 Oct 2018 13:27:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B5A66B029A; Tue, 9 Oct 2018 09:26:51 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 23E336B029B; Tue, 9 Oct 2018 09:26:51 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 093B66B029C; Tue, 9 Oct 2018 09:26:51 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by kanga.kvack.org (Postfix) with ESMTP id AD2F66B029A for ; Tue, 9 Oct 2018 09:26:50 -0400 (EDT) Received: by mail-pl1-f200.google.com with SMTP id t8-v6so990968plo.4 for ; Tue, 09 Oct 2018 06:26:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=yIv6BDTf8SSyW4q5DR2O7BbFOqkppOKG2igrjWHb8Os=; b=GnRo99pB0+uEjF1wFzsSJr8TIm5uA6gPZqZ35Wi6o92oa6mBkhshP1rEv86GwQTgm/ qUML7i4vZVU23RQrH8/HbbAKQ48YnGUBUwZkreKQuPAZhVS6PpR97OzyMgitooI2B3vl hBku0r0kH51agYSiJAh3a5C00CHGtdRJK36jhn12APuYCYh6ZRzIx7Q3jlGX00z4SpEB kVusHuF/TJKAroiWH/xZaLPaLC1meG9BqVHLQfcngoON7EGSN8Gu1P1VurFh1kVDX2dR s+901/c29kXh+9yQI6PfX1w+atHoaZlfy3nNIH/4vAghHD0LuhIs7sDXMgRZccBeCyzl IFbw== X-Gm-Message-State: ABuFfoi/uG3aUc3piWA2+cjz6ogI1qIqxfOXKS4NBqswqVrYI2tdPfSS LY6Jh64Ebj2Ng6fh1K51BIT4tOMNh+LbA1fuLCzYIakNhUr7sIVFUz+IZqvibYcBO6W1DzJ9LsQ jNQhxpjnsOCYe7TzwEjoVvPRtzCEWskyo8jeH70wj5DiyDl+LIggJE4QIklSwCdU= X-Received: by 2002:a65:5a89:: with SMTP id c9-v6mr24954020pgt.216.1539091610383; Tue, 09 Oct 2018 06:26:50 -0700 (PDT) X-Google-Smtp-Source: ACcGV61UDW51MrEJlQ2Bshds73Je4oz7ABeZeQklpHrh1ED13b93gnwkFKO2CgjIijomRyRJinLr X-Received: by 2002:a65:5a89:: with SMTP id c9-v6mr24953959pgt.216.1539091609317; Tue, 09 Oct 2018 06:26:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539091609; cv=none; d=google.com; s=arc-20160816; b=GPvFdXYIqEd7NH+6H6L93Q3hJVhLFF+BZpPCxSloShcxuR9eZa9flbHQ6xQULW9c4X ZwRMPv7gImBSoXupWg0gqq4s1bqMHuIisERw0mFHsOffqupxfdxWky09uA4f+8wgRJ69 3rb2cWhXY/wMyWEpFXs0k4cJxEgp8iIKyPf1ZuI8wa3dlV1PwWRrUIs4pP12Q8EjVYTr hTOoGlmMB/YJF8hP49IweYY+mNHkvDp0TMkvwzMJSV/n3ln0qTBCStAQLpEoJeRqgbsq pzsPYqUqN1x31amanN3UqVsqAgwxlYpl4Kpbvw2NiGn79Bach8h8rLC/4mEBUZpFzhhJ PY+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=yIv6BDTf8SSyW4q5DR2O7BbFOqkppOKG2igrjWHb8Os=; b=YFdCIoNUxAGtoHoydnJqbPv8iBLewDHYxoU2sOC/G/SOpaf+CK4UZu9REL/CKyxnzR eicAbGW4rFKi4TwxBD4UlvKhBYtHMjtPiw0DcRW4BOr63pUuzdpb2YIgX5o0Bb6M4EZg df2FmkchICpuCBPuF3JhtXy8OeLoO0drlI4dm2/Bq0SmYAhLY6+jM8N5jmext7L05cJa lX8yI/ZFYurkX+WfFAwN/i/4oV+m8MUERfwGv4tSk4RXIh6hD5010sscxrImVTxhptHN dqHiJjUFDKpls6Z/WQDU3vjjMhX03hEdlNMnQyRwvGRXzAwfkaOCfZjbE9p/MwkRUj5O KcJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=QqaUKh2o; spf=pass (google.com: best guess record for domain of batv+39c443e67938b060f200+5525+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+39c443e67938b060f200+5525+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id m4-v6si20743445plt.432.2018.10.09.06.26.49 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 09 Oct 2018 06:26:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+39c443e67938b060f200+5525+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=QqaUKh2o; spf=pass (google.com: best guess record for domain of batv+39c443e67938b060f200+5525+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+39c443e67938b060f200+5525+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=yIv6BDTf8SSyW4q5DR2O7BbFOqkppOKG2igrjWHb8Os=; b=QqaUKh2o32LY2ejJ6ACdm++PJN 9bHPTjax777yMMB+/jALpB3NPNqXVkL2DUVN8ai9c8iwFnvd89iIep2IOLB2X3yh2Wi8eoVE1qyMx XfA+Od6spw1X/mmg8bsX8mLzTMGExn35INk2oS2G4oMv8UIpVt0f++UkVNDcFxR6at7IqS4fcNeqK 0ZEntpKacfWVTw31oxnorN3k3/2P8GZrSZvcpJOhAUSN8cH8JIyZ5Y/4N98ElGPMBRToD9ZSPDdLv dfWEmSG+1qhZo7qj5a866Iby8SY+Y574WvixgRbPCNsUbfIs1lOUZxmMjZqQMUhukVjEhbQaA8ddb DIyW0TBA==; Received: from clnet-p19-102.ikbnet.co.at ([83.175.77.102] helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1g9s1i-0001bW-VA; Tue, 09 Oct 2018 13:26:19 +0000 From: Christoph Hellwig To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linuxppc-dev@lists.ozlabs.org, iommu@lists.linux-foundation.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 30/33] powerpc/dma: remove set_dma_offset Date: Tue, 9 Oct 2018 15:24:57 +0200 Message-Id: <20181009132500.17643-31-hch@lst.de> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181009132500.17643-1-hch@lst.de> References: <20181009132500.17643-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP There is no good reason for this helper, just opencode it. Signed-off-by: Christoph Hellwig --- arch/powerpc/include/asm/dma-mapping.h | 6 ------ arch/powerpc/kernel/pci-common.c | 2 +- arch/powerpc/platforms/cell/iommu.c | 4 ++-- arch/powerpc/platforms/powernv/pci-ioda.c | 6 +++--- arch/powerpc/platforms/pseries/iommu.c | 7 ++----- arch/powerpc/sysdev/dart_iommu.c | 2 +- arch/powerpc/sysdev/fsl_pci.c | 2 +- drivers/misc/cxl/vphb.c | 2 +- 8 files changed, 11 insertions(+), 20 deletions(-) diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h index 2d0879b0acf3..e12439ae8211 100644 --- a/arch/powerpc/include/asm/dma-mapping.h +++ b/arch/powerpc/include/asm/dma-mapping.h @@ -87,11 +87,5 @@ static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus) return NULL; } -static inline void set_dma_offset(struct device *dev, dma_addr_t off) -{ - if (dev) - dev->archdata.dma_offset = off; -} - #endif /* __KERNEL__ */ #endif /* _ASM_DMA_MAPPING_H */ diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index a84707680525..fca2b0bafd82 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c @@ -966,7 +966,7 @@ static void pcibios_setup_device(struct pci_dev *dev) /* Hook up default DMA ops */ set_dma_ops(&dev->dev, pci_dma_ops); - set_dma_offset(&dev->dev, PCI_DRAM_OFFSET); + dev->dev.archdata.dma_offset = PCI_DRAM_OFFSET; /* Additional platform DMA/iommu setup */ phb = pci_bus_to_host(dev->bus); diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c index 93c7e4aef571..997ee0f5fc2f 100644 --- a/arch/powerpc/platforms/cell/iommu.c +++ b/arch/powerpc/platforms/cell/iommu.c @@ -577,10 +577,10 @@ static void cell_dma_dev_setup(struct device *dev) u64 addr = cell_iommu_get_fixed_address(dev); if (addr != OF_BAD_ADDR) - set_dma_offset(dev, addr + dma_iommu_fixed_base); + dev->archdata.dma_offset = addr + dma_iommu_fixed_base; set_iommu_table_base(dev, cell_get_iommu_table(dev)); } else { - set_dma_offset(dev, cell_dma_nommu_offset); + dev->archdata.dma_offset = cell_dma_nommu_offset; } } diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c index 5748b62e2e86..e2333e10598d 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c @@ -1660,7 +1660,7 @@ static void pnv_pci_ioda_dma_dev_setup(struct pnv_phb *phb, struct pci_dev *pdev pe = &phb->ioda.pe_array[pdn->pe_number]; WARN_ON(get_dma_ops(&pdev->dev) != &dma_iommu_ops); - set_dma_offset(&pdev->dev, pe->tce_bypass_base); + pdev->dev.archdata.dma_offset = pe->tce_bypass_base; set_iommu_table_base(&pdev->dev, pe->table_group.tables[0]); /* * Note: iommu_add_device() will fail here as @@ -1773,7 +1773,7 @@ static bool pnv_pci_ioda_iommu_bypass_supported(struct pci_dev *pdev, if (rc) return rc; /* 4GB offset bypasses 32-bit space */ - set_dma_offset(&pdev->dev, (1ULL << 32)); + pdev->dev.archdata.dma_offset = (1ULL << 32); return true; } @@ -1788,7 +1788,7 @@ static void pnv_ioda_setup_bus_dma(struct pnv_ioda_pe *pe, list_for_each_entry(dev, &bus->devices, bus_list) { set_iommu_table_base(&dev->dev, pe->table_group.tables[0]); - set_dma_offset(&dev->dev, pe->tce_bypass_base); + dev->dev.archdata.dma_offset = pe->tce_bypass_base; if (add_to_group) iommu_add_device(&dev->dev); diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index 8965d174c53b..a2ff20d154fe 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c @@ -1197,7 +1197,6 @@ static bool iommu_bypass_supported_pSeriesLP(struct pci_dev *pdev, u64 dma_mask) { struct device_node *dn = pci_device_to_OF_node(pdev), *pdn; const __be32 *dma_window = NULL; - u64 dma_offset; /* only attempt to use a new window if 64-bit DMA is requested */ if (dma_mask < DMA_BIT_MASK(64)) @@ -1219,11 +1218,9 @@ static bool iommu_bypass_supported_pSeriesLP(struct pci_dev *pdev, u64 dma_mask) } if (pdn && PCI_DN(pdn)) { - dma_offset = enable_ddw(pdev, pdn); - if (dma_offset != 0) { - set_dma_offset(&pdev->dev, dma_offset); + pdev->dev.archdata.dma_offset = enable_ddw(pdev, pdn); + if (pdev->dev.archdata.dma_offset) return true; - } } return false; diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index e7d1645a2d2e..21d7e8a30aea 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c @@ -386,7 +386,7 @@ static bool dart_device_on_pcie(struct device *dev) static void pci_dma_dev_setup_dart(struct pci_dev *dev) { if (dart_is_u4 && dart_device_on_pcie(&dev->dev)) - set_dma_offset(&dev->dev, DART_U4_BYPASS_BASE); + dev->dev.archdata.dma_offset = DART_U4_BYPASS_BASE; set_iommu_table_base(&dev->dev, &iommu_table_dart); } diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index cb91a3d113d1..d6b7c91a9ce2 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c @@ -141,7 +141,7 @@ static int fsl_pci_dma_set_mask(struct device *dev, u64 dma_mask) */ if (dev_is_pci(dev) && dma_mask >= pci64_dma_offset * 2 - 1) { dev->bus_dma_mask = 0; - set_dma_offset(dev, pci64_dma_offset); + dev->archdata.dma_offset = pci64_dma_offset; } return 0; diff --git a/drivers/misc/cxl/vphb.c b/drivers/misc/cxl/vphb.c index 49da2f744bbf..f0645ba1d728 100644 --- a/drivers/misc/cxl/vphb.c +++ b/drivers/misc/cxl/vphb.c @@ -44,7 +44,7 @@ static bool cxl_pci_enable_device_hook(struct pci_dev *dev) } set_dma_ops(&dev->dev, &dma_nommu_ops); - set_dma_offset(&dev->dev, PAGE_OFFSET); + dev->dev.archdata.dma_offset = PAGE_OFFSET; /* * Allocate a context to do cxl things too. If we eventually do real