Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp933298imu; Fri, 7 Dec 2018 11:11:15 -0800 (PST) X-Google-Smtp-Source: AFSGD/UOQ4D8WtlzQzFZujdNMhA9A0IkFxaTh5z1QW0yFg2/mzGiUowl48vsBvtxEv5JLA23TG7R X-Received: by 2002:a63:3858:: with SMTP id h24mr2908380pgn.300.1544209875711; Fri, 07 Dec 2018 11:11:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544209875; cv=none; d=google.com; s=arc-20160816; b=kgD0WU8CBfSWkL7UNcmjBgk7M/hDul59wzMqet65I+3NOYGUNu33jhCB2LVpVF33NZ 2VIO2un1Iz4CG41jCI206j8ygaykAd9/7+x/qzilyafqCJ/ALLNErRfJsmZ8Blg46NJ1 183v8AhVA7PrsrE8Y1nFHVGOC7Bnby0EiuGzKcgxHQE47QTwwbt7dXdobnfCfFuAybCv HWR2Qh6FCo/yG1Nqx57btpNhrFXcIseKIT/R1ZGvT+l1SuC/YGEEUMFaE0XeLN0+qLR5 gmruHYw88oGzgzWK40s3vxQNd/rYyhS/AyIvaJQr73Wp1QZC+UPjxEz5QFR1gttAFJ17 QIWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ChQTgKiZwHVIwfgRsCDcMPaE+ZWz7J22Nwq2a30o9aU=; b=PhvyBg/y54MGSq5DlEnQfHijhQYYbZ4W3tGXbk5qmkzpccRQL70DycvqpNJdjGGJkZ tS00A7jxDj6t8gsIxPYtbXiG68NxLB1I+WRUE9WUmU8DTGynbdqC7wHDhhfvQsYBUtx4 QzbBXmeyLkXqyBOHXvKZj6ok9kByl1J3Y8NXGvYOytxGYmTUFv/MMVEETLGmNeE2cVHQ u4/30dftKxuTdLpQ4wbRS9eKbUSIyV1zaor8tS3YywdTyfgZ5XCQ3oXjAZGWpgGujiK9 2Fi4rJJnFnSuryORh4VKMPkH4XWRzzQCxZnvsaUsnq/xZzOJJjh/BEGRcQ6EEgZ5jdP+ sN9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=ZfTRxh60; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c22si3410111pgb.254.2018.12.07.11.11.00; Fri, 07 Dec 2018 11:11:15 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=ZfTRxh60; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726401AbeLGTId (ORCPT + 99 others); Fri, 7 Dec 2018 14:08:33 -0500 Received: from bombadil.infradead.org ([198.137.202.133]:48624 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726389AbeLGTI3 (ORCPT ); Fri, 7 Dec 2018 14:08:29 -0500 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=ChQTgKiZwHVIwfgRsCDcMPaE+ZWz7J22Nwq2a30o9aU=; b=ZfTRxh60hk4ZBQ6JO81vJjk8Pp ZikcVQo9Y5l8K6iY0LjzHeEDfM0G3iuHYYtmynLzpZKsod8MnffY5rjPhX9IQBxoT2TpcHh+8x7q6 6urf+OMWfWsWyXMpAefHCvJbfcc8N7uwIB3EoDuWvAkVxC+ioMI5GGczGKT2xE5BQ6cBfNHVDMlx7 NlJOXVgOrJkuLWs2lWKIda4xe5NSSDvjMCau+/zwwn6tFRI7NrtcsKRYEPWeV9dmU/4dH5gFK/+vv 9khR3PinaaC63md3+UuvfYsiBf8faedXq0Lxvh+X29EIbo86hmoeryImc5atFPGu1fYl6sgCSXVsB 4Ciz6lCA==; Received: from [199.255.44.128] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1gVLU4-0006tF-8r; Fri, 07 Dec 2018 19:08:20 +0000 From: Christoph Hellwig To: iommu@lists.linux-foundation.org, Linus Torvalds , Jesper Dangaard Brouer Cc: Tariq Toukan , Ilias Apalodimas , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Robin Murphy , Konrad Rzeszutek Wilk , Tony Luck , Fenghua Yu , Marek Szyprowski , Keith Busch , Jonathan Derrick , linux-pci@vger.kernel.org, linux-ia64@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/15] dma-mapping: move dma_cache_sync out of line Date: Fri, 7 Dec 2018 11:07:15 -0800 Message-Id: <20181207190720.18517-11-hch@lst.de> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181207190720.18517-1-hch@lst.de> References: <20181207190720.18517-1-hch@lst.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This isn't exactly a slow path routine, but it is not super critical either, and moving it out of line will help to keep the include chain clean for the following DMA indirection bypass work. Signed-off-by: Christoph Hellwig --- include/linux/dma-mapping.h | 12 ++---------- kernel/dma/mapping.c | 11 +++++++++++ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index 0bbce52606c2..0f0078490df4 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -411,16 +411,8 @@ dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, #define dma_map_page(d, p, o, s, r) dma_map_page_attrs(d, p, o, s, r, 0) #define dma_unmap_page(d, a, s, r) dma_unmap_page_attrs(d, a, s, r, 0) -static inline void -dma_cache_sync(struct device *dev, void *vaddr, size_t size, - enum dma_data_direction dir) -{ - const struct dma_map_ops *ops = get_dma_ops(dev); - - BUG_ON(!valid_dma_direction(dir)); - if (ops->cache_sync) - ops->cache_sync(dev, vaddr, size, dir); -} +void dma_cache_sync(struct device *dev, void *vaddr, size_t size, + enum dma_data_direction dir); extern int dma_common_mmap(struct device *dev, struct vm_area_struct *vma, void *cpu_addr, dma_addr_t dma_addr, size_t size, diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c index 176ae3e08916..0b18cfbdde95 100644 --- a/kernel/dma/mapping.c +++ b/kernel/dma/mapping.c @@ -430,3 +430,14 @@ int dma_set_coherent_mask(struct device *dev, u64 mask) } EXPORT_SYMBOL(dma_set_coherent_mask); #endif + +void dma_cache_sync(struct device *dev, void *vaddr, size_t size, + enum dma_data_direction dir) +{ + const struct dma_map_ops *ops = get_dma_ops(dev); + + BUG_ON(!valid_dma_direction(dir)); + if (ops->cache_sync) + ops->cache_sync(dev, vaddr, size, dir); +} +EXPORT_SYMBOL(dma_cache_sync); -- 2.19.1