Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp7526737ybn; Mon, 30 Sep 2019 15:32:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqzWmq8ProLSAf249YfZsgLaBYay6H035RUgWnZ5HDo8LUJfVXVSVnYpbulOuDH7bZWIhEFR X-Received: by 2002:a50:8a9a:: with SMTP id j26mr22456594edj.251.1569882754531; Mon, 30 Sep 2019 15:32:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569882754; cv=none; d=google.com; s=arc-20160816; b=kQNZEyrS8F/mC6lnpXz/Ynf4R4QY/d/6ttJOpS5vqXfozjNQOohCf3ixq1pZxkOCSS FxyM2GNbo9vA7YCQ72OGqIcN8bvV9v7nBk8uzmQGiiSE+YbYFwECBU2MZzPa6XHqDNfs Q9680dpYvJwP/o+k7rjfw6+4reJ6Sq1Z3kxSxxuLqxKdZxNFGm+He+2f35PqPWbznlK9 wzGfbW3E87eM8wmER7D0W1bypLQl9o9DC7wO7Rwmzs6QFYEzZTHZXY3cTqnqF5JtMmS0 ZdJtVePPMe8rku3tJwEJ7WL4ysUn0AarnFhMF7Qy00N/gn7GgSJurWPjbjF5pKL7l4ZA HQUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:message-id:subject:cc:to:from:date :dkim-signature; bh=HhdGgGRRQTBFvutw+KtgYtqEO2d/Fn8mMAf4j2eYn1o=; b=iSTEx75ZAJxPK3+1N1f3ZbJf/maveEcIvgPVFlnak0TLdhQsC4R3x2KVC+idHpACEw 5dQtPvqqySHAg1sYdCcwq+Wd0Fm8uqT1cwKavQDas3nPQsRED2myXxKcpr1ex8BhArBV VslJS3co4A9HKen1YyAAZuBiOZiuvWYUCUqmB4I5yPZ5+Dq1S35RTuXdhrzOQRxjZkAs iEF4Mb8qRPWbCHrzh3fMEbcMDRF3jtxCyKz8TZ7dpJMXeyLqIcebxhaLarAvkLgiQ3m6 ew4k5qeo1qlq4rA01+QWJLSTooOnelqYzv1rnbCsx9KmaZQsE+4qMpBxfjhMRausHnXz ff5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QzDciQpN; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a7si7576074ejx.258.2019.09.30.15.32.09; Mon, 30 Sep 2019 15:32:34 -0700 (PDT) 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=pass header.i=@kernel.org header.s=default header.b=QzDciQpN; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727469AbfI3WbU (ORCPT + 99 others); Mon, 30 Sep 2019 18:31:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:35116 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726103AbfI3WbU (ORCPT ); Mon, 30 Sep 2019 18:31:20 -0400 Received: from localhost (unknown [69.71.4.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CCF6220842; Mon, 30 Sep 2019 22:31:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1569882679; bh=3hlrgytMsPG+Nev+4sXHGMfpWpuL+FFTmPNPIizXz4Q=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=QzDciQpN52a/HyjuM3ARibJ1X2XtHJbWTe0x/FhRta1fa7GozAQPiQm/Y7RA1Skew KVQAOdj8auXOZTuby4unk9zaeFNcM+FNwqdG0ExczvJ8FRr5GfSRbALg9RJ+QEM1rU +cDcUF2xmIarD1CMNIBuJZ9mk2eqAiC7paElK9QQ= Date: Mon, 30 Sep 2019 17:31:17 -0500 From: Bjorn Helgaas To: Krzysztof Wilczynski Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] PCI: Move ATS declarations to linux/pci-ats.h Message-ID: <20190930223117.GA215913@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190914213032.22314-1-kw@linux.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Sep 14, 2019 at 11:30:32PM +0200, Krzysztof Wilczynski wrote: > Move ATS function prototypes from include/linux/pci.h > to include/linux/pci-ats.h as the ATS, PRI, and PASID > interfaces are related, and are used only by the IOMMU > drivers. This effecively reverts the change done in > commit ff9bee895c4d ("PCI: Move ATS declarations to > linux/pci.h so they're all together"). > > Also, remove surplus forward declaration of struct pci_ats > from include/linux/pci.h, as it is no longer needed, since > the struct pci_ats has been embedded directly into struct > pci_dev in the commit d544d75ac96a ("PCI: Embed ATS info > directly into struct pci_dev"). > > No functional changes intended. > > Signed-off-by: Krzysztof Wilczynski Applied to pci/virtualization for v5.5, thanks! > --- > Related: > https://lore.kernel.org/r/20190902211100.GH7013@google.com > https://lore.kernel.org/r/20190724233848.73327-9-skunberg.kelsey@gmail.com > > include/linux/pci-ats.h | 76 +++++++++++++++-------------------------- > include/linux/pci.h | 14 -------- > 2 files changed, 28 insertions(+), 62 deletions(-) > > diff --git a/include/linux/pci-ats.h b/include/linux/pci-ats.h > index 1ebb88e7c184..a2001673d445 100644 > --- a/include/linux/pci-ats.h > +++ b/include/linux/pci-ats.h > @@ -4,74 +4,54 @@ > > #include > > -#ifdef CONFIG_PCI_PRI > +#ifdef CONFIG_PCI_ATS > +/* Address Translation Service */ > +int pci_enable_ats(struct pci_dev *dev, int ps); > +void pci_disable_ats(struct pci_dev *dev); > +int pci_ats_queue_depth(struct pci_dev *dev); > +int pci_ats_page_aligned(struct pci_dev *dev); > +#else /* CONFIG_PCI_ATS */ > +static inline int pci_enable_ats(struct pci_dev *d, int ps) > +{ return -ENODEV; } > +static inline void pci_disable_ats(struct pci_dev *d) { } > +static inline int pci_ats_queue_depth(struct pci_dev *d) > +{ return -ENODEV; } > +static inline int pci_ats_page_aligned(struct pci_dev *dev) > +{ return 0; } > +#endif /* CONFIG_PCI_ATS */ > > +#ifdef CONFIG_PCI_PRI > int pci_enable_pri(struct pci_dev *pdev, u32 reqs); > void pci_disable_pri(struct pci_dev *pdev); > void pci_restore_pri_state(struct pci_dev *pdev); > int pci_reset_pri(struct pci_dev *pdev); > - > #else /* CONFIG_PCI_PRI */ > - > static inline int pci_enable_pri(struct pci_dev *pdev, u32 reqs) > -{ > - return -ENODEV; > -} > - > -static inline void pci_disable_pri(struct pci_dev *pdev) > -{ > -} > - > -static inline void pci_restore_pri_state(struct pci_dev *pdev) > -{ > -} > - > +{ return -ENODEV; } > +static inline void pci_disable_pri(struct pci_dev *pdev) { } > +static inline void pci_restore_pri_state(struct pci_dev *pdev) { } > static inline int pci_reset_pri(struct pci_dev *pdev) > -{ > - return -ENODEV; > -} > - > +{ return -ENODEV; } > #endif /* CONFIG_PCI_PRI */ > > #ifdef CONFIG_PCI_PASID > - > int pci_enable_pasid(struct pci_dev *pdev, int features); > void pci_disable_pasid(struct pci_dev *pdev); > void pci_restore_pasid_state(struct pci_dev *pdev); > int pci_pasid_features(struct pci_dev *pdev); > int pci_max_pasids(struct pci_dev *pdev); > int pci_prg_resp_pasid_required(struct pci_dev *pdev); > - > -#else /* CONFIG_PCI_PASID */ > - > +#else /* CONFIG_PCI_PASID */ > static inline int pci_enable_pasid(struct pci_dev *pdev, int features) > -{ > - return -EINVAL; > -} > - > -static inline void pci_disable_pasid(struct pci_dev *pdev) > -{ > -} > - > -static inline void pci_restore_pasid_state(struct pci_dev *pdev) > -{ > -} > - > +{ return -EINVAL; } > +static inline void pci_disable_pasid(struct pci_dev *pdev) { } > +static inline void pci_restore_pasid_state(struct pci_dev *pdev) { } > static inline int pci_pasid_features(struct pci_dev *pdev) > -{ > - return -EINVAL; > -} > - > +{ return -EINVAL; } > static inline int pci_max_pasids(struct pci_dev *pdev) > -{ > - return -EINVAL; > -} > - > +{ return -EINVAL; } > static inline int pci_prg_resp_pasid_required(struct pci_dev *pdev) > -{ > - return 0; > -} > +{ return 0; } > #endif /* CONFIG_PCI_PASID */ > > - > -#endif /* LINUX_PCI_ATS_H*/ > +#endif /* LINUX_PCI_ATS_H */ > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 56767f50ad96..5f2ae580bd19 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -284,7 +284,6 @@ struct irq_affinity; > struct pcie_link_state; > struct pci_vpd; > struct pci_sriov; > -struct pci_ats; > struct pci_p2pdma; > > /* The pci_dev structure describes PCI devices */ > @@ -1764,19 +1763,6 @@ static inline const struct pci_device_id *pci_match_id(const struct pci_device_i > static inline bool pci_ats_disabled(void) { return true; } > #endif /* CONFIG_PCI */ > > -#ifdef CONFIG_PCI_ATS > -/* Address Translation Service */ > -int pci_enable_ats(struct pci_dev *dev, int ps); > -void pci_disable_ats(struct pci_dev *dev); > -int pci_ats_queue_depth(struct pci_dev *dev); > -int pci_ats_page_aligned(struct pci_dev *dev); > -#else > -static inline int pci_enable_ats(struct pci_dev *d, int ps) { return -ENODEV; } > -static inline void pci_disable_ats(struct pci_dev *d) { } > -static inline int pci_ats_queue_depth(struct pci_dev *d) { return -ENODEV; } > -static inline int pci_ats_page_aligned(struct pci_dev *dev) { return 0; } > -#endif > - > /* Include architecture-dependent settings and functions */ > > #include > -- > 2.23.0 >