From: Bjorn Helgaas <bhelgaas@google.com>
To: Bharat Bhushan <r65777@freescale.com>
Cc: alex.williamson@redhat.com, joro@8bytes.org, agraf@suse.de,
scottwood@freescale.com, stuart.yoder@freescale.com,
iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
Bharat Bhushan <Bharat.Bhushan@freescale.com>
Subject: Re: [PATCH 1/9 v2] pci:msi: add weak function for returning msi region info
Date: Mon, 25 Nov 2013 16:36:02 -0700 [thread overview]
Message-ID: <20131125233602.GA4066@google.com> (raw)
In-Reply-To: <1384838233-24847-2-git-send-email-Bharat.Bhushan@freescale.com>
On Tue, Nov 19, 2013 at 10:47:05AM +0530, Bharat Bhushan wrote:
> In Aperture type of IOMMU (like FSL PAMU), VFIO-iommu system need to know
> the MSI region to map its window in h/w. This patch just defines the
> required weak functions only and will be used by followup patches.
>
> Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
> ---
> v1->v2
> - Added description on "struct msi_region"
>
> drivers/pci/msi.c | 22 ++++++++++++++++++++++
> include/linux/msi.h | 14 ++++++++++++++
> 2 files changed, 36 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index d5f90d6..2643a29 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -67,6 +67,28 @@ int __weak arch_msi_check_device(struct pci_dev *dev, int nvec, int type)
> return chip->check_device(chip, dev, nvec, type);
> }
>
> +int __weak arch_msi_get_region_count(void)
> +{
> + return 0;
> +}
> +
> +int __weak arch_msi_get_region(int region_num, struct msi_region *region)
> +{
> + return 0;
> +}
> +
> +int msi_get_region_count(void)
> +{
> + return arch_msi_get_region_count();
> +}
> +EXPORT_SYMBOL(msi_get_region_count);
> +
> +int msi_get_region(int region_num, struct msi_region *region)
> +{
> + return arch_msi_get_region(region_num, region);
> +}
> +EXPORT_SYMBOL(msi_get_region);
> +
> int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
> {
> struct msi_desc *entry;
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index b17ead8..ade1480 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -51,6 +51,18 @@ struct msi_desc {
> };
>
> /*
> + * This structure is used to get
> + * - physical address
> + * - size
> + * of a msi region
> + */
> +struct msi_region {
> + int region_num; /* MSI region number */
> + dma_addr_t addr; /* Address of MSI region */
> + size_t size; /* Size of MSI region */
> +};
> +
> +/*
> * The arch hooks to setup up msi irqs. Those functions are
> * implemented as weak symbols so that they /can/ be overriden by
> * architecture specific code if needed.
> @@ -64,6 +76,8 @@ void arch_restore_msi_irqs(struct pci_dev *dev, int irq);
>
> void default_teardown_msi_irqs(struct pci_dev *dev);
> void default_restore_msi_irqs(struct pci_dev *dev, int irq);
> +int arch_msi_get_region_count(void);
> +int arch_msi_get_region(int region_num, struct msi_region *region);
It doesn't look like any of this (struct msi_region, msi_get_region(),
msi_get_region_count()) is actually used by drivers/pci/msi.c, so I don't
think it needs to be declared in generic code. It looks like it's only
used in drivers/vfio/vfio_iommu_fsl_pamu.c, where you already know you have
an FSL IOMMU, and you can just call FSL-specific interfaces directly.
Bjorn
>
> struct msi_chip {
> struct module *owner;
> --
> 1.7.0.4
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <bhelgaas@google.com>
To: Bharat Bhushan <r65777@freescale.com>
Cc: linux-pci@vger.kernel.org, joro@8bytes.org,
stuart.yoder@freescale.com, iommu@lists.linux-foundation.org,
agraf@suse.de, Bharat Bhushan <Bharat.Bhushan@freescale.com>,
alex.williamson@redhat.com, scottwood@freescale.com,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/9 v2] pci:msi: add weak function for returning msi region info
Date: Mon, 25 Nov 2013 16:36:02 -0700 [thread overview]
Message-ID: <20131125233602.GA4066@google.com> (raw)
In-Reply-To: <1384838233-24847-2-git-send-email-Bharat.Bhushan@freescale.com>
On Tue, Nov 19, 2013 at 10:47:05AM +0530, Bharat Bhushan wrote:
> In Aperture type of IOMMU (like FSL PAMU), VFIO-iommu system need to know
> the MSI region to map its window in h/w. This patch just defines the
> required weak functions only and will be used by followup patches.
>
> Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
> ---
> v1->v2
> - Added description on "struct msi_region"
>
> drivers/pci/msi.c | 22 ++++++++++++++++++++++
> include/linux/msi.h | 14 ++++++++++++++
> 2 files changed, 36 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index d5f90d6..2643a29 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -67,6 +67,28 @@ int __weak arch_msi_check_device(struct pci_dev *dev, int nvec, int type)
> return chip->check_device(chip, dev, nvec, type);
> }
>
> +int __weak arch_msi_get_region_count(void)
> +{
> + return 0;
> +}
> +
> +int __weak arch_msi_get_region(int region_num, struct msi_region *region)
> +{
> + return 0;
> +}
> +
> +int msi_get_region_count(void)
> +{
> + return arch_msi_get_region_count();
> +}
> +EXPORT_SYMBOL(msi_get_region_count);
> +
> +int msi_get_region(int region_num, struct msi_region *region)
> +{
> + return arch_msi_get_region(region_num, region);
> +}
> +EXPORT_SYMBOL(msi_get_region);
> +
> int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
> {
> struct msi_desc *entry;
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index b17ead8..ade1480 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -51,6 +51,18 @@ struct msi_desc {
> };
>
> /*
> + * This structure is used to get
> + * - physical address
> + * - size
> + * of a msi region
> + */
> +struct msi_region {
> + int region_num; /* MSI region number */
> + dma_addr_t addr; /* Address of MSI region */
> + size_t size; /* Size of MSI region */
> +};
> +
> +/*
> * The arch hooks to setup up msi irqs. Those functions are
> * implemented as weak symbols so that they /can/ be overriden by
> * architecture specific code if needed.
> @@ -64,6 +76,8 @@ void arch_restore_msi_irqs(struct pci_dev *dev, int irq);
>
> void default_teardown_msi_irqs(struct pci_dev *dev);
> void default_restore_msi_irqs(struct pci_dev *dev, int irq);
> +int arch_msi_get_region_count(void);
> +int arch_msi_get_region(int region_num, struct msi_region *region);
It doesn't look like any of this (struct msi_region, msi_get_region(),
msi_get_region_count()) is actually used by drivers/pci/msi.c, so I don't
think it needs to be declared in generic code. It looks like it's only
used in drivers/vfio/vfio_iommu_fsl_pamu.c, where you already know you have
an FSL IOMMU, and you can just call FSL-specific interfaces directly.
Bjorn
>
> struct msi_chip {
> struct module *owner;
> --
> 1.7.0.4
>
>
next prev parent reply other threads:[~2013-11-25 23:36 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-19 5:17 [PATCH 0/9 v2] vfio-pci: add support for Freescale IOMMU (PAMU) Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
[not found] ` <1384838233-24847-1-git-send-email-Bharat.Bhushan-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-11-19 5:17 ` [PATCH 1/9 v2] pci:msi: add weak function for returning msi region info Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-25 23:36 ` Bjorn Helgaas [this message]
2013-11-25 23:36 ` Bjorn Helgaas
2013-11-28 10:08 ` Bharat Bhushan
2013-11-28 10:08 ` Bharat Bhushan
2013-11-19 5:17 ` [PATCH 2/9 v2] pci: msi: expose msi region information functions Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` [PATCH 3/9 v2] powerpc: pci: Add arch specific msi region interface Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` [PATCH 4/9 v2] powerpc: msi: Extend the msi region interface to get info from fsl_msi Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` [PATCH 5/9 v2] pci/msi: interface to set an iova for a msi region Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` [PATCH 6/9 v2] powerpc: pci: Extend msi iova page setup to arch specific Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` [PATCH 7/9 v2] pci: msi: Extend msi iova setting interface to powerpc arch Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` [PATCH 8/9 v2] vfio: moving some functions in common file Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` [PATCH 9/9 v2] vfio pci: Add vfio iommu implementation for FSL_PAMU Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-19 5:17 ` Bharat Bhushan
2013-11-20 18:47 ` [PATCH 0/9 v2] vfio-pci: add support for Freescale IOMMU (PAMU) Alex Williamson
2013-11-20 18:47 ` Alex Williamson
2013-11-20 18:47 ` Alex Williamson
[not found] ` <1384973243.2879.361.camel-85EaTFmN5p//9pzu0YdTqQ@public.gmane.org>
2013-11-21 11:20 ` Varun Sethi
2013-11-21 11:20 ` Varun Sethi
2013-11-21 11:20 ` Varun Sethi
2013-11-21 11:20 ` Bharat Bhushan
2013-11-21 11:20 ` Bharat Bhushan
2013-11-21 11:20 ` Bharat Bhushan
2013-11-21 11:20 ` Bharat Bhushan
[not found] ` <6A3DF150A5B70D4F9B66A25E3F7C888D0721D9AC-RL0Hj/+nBVDAtPZc1oz0FK4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2013-11-21 20:43 ` Alex Williamson
2013-11-21 20:43 ` Alex Williamson
2013-11-21 20:43 ` Alex Williamson
[not found] ` <1385066603.2879.414.camel-85EaTFmN5p//9pzu0YdTqQ@public.gmane.org>
2013-11-21 20:47 ` Scott Wood
2013-11-21 20:47 ` Scott Wood
2013-11-21 20:47 ` Scott Wood
[not found] ` <1385066835.1403.489.camel-88ow+0ZRuxG2UiBs7uKeOtHuzzzSOjJt@public.gmane.org>
2013-11-21 21:00 ` Alex Williamson
2013-11-21 21:00 ` Alex Williamson
2013-11-21 21:00 ` Alex Williamson
[not found] ` <1385067648.2879.421.camel-85EaTFmN5p//9pzu0YdTqQ@public.gmane.org>
2013-11-25 5:33 ` Bharat Bhushan
2013-11-25 5:33 ` Bharat Bhushan
2013-11-25 5:33 ` Bharat Bhushan
[not found] ` <6A3DF150A5B70D4F9B66A25E3F7C888D0722C180-RL0Hj/+nBVDAtPZc1oz0FK4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2013-11-25 16:38 ` Alex Williamson
2013-11-25 16:38 ` Alex Williamson
2013-11-25 16:38 ` Alex Williamson
[not found] ` <1385397493.2879.557.camel-85EaTFmN5p//9pzu0YdTqQ@public.gmane.org>
2013-11-27 16:08 ` Bharat Bhushan
2013-11-27 16:08 ` Bharat Bhushan
2013-11-27 16:08 ` Bharat Bhushan
2013-11-27 16:08 ` Bharat Bhushan
2013-11-28 9:19 ` Bharat Bhushan
2013-11-28 9:19 ` Bharat Bhushan
2013-11-28 9:19 ` Bharat Bhushan
2013-11-28 9:19 ` Bharat Bhushan
2013-12-06 0:21 ` Scott Wood
2013-12-06 0:21 ` Scott Wood
[not found] ` <1386289316.7375.107.camel-88ow+0ZRuxG2UiBs7uKeOtHuzzzSOjJt@public.gmane.org>
2013-12-06 4:11 ` Bharat Bhushan
2013-12-06 4:11 ` Bharat Bhushan
2013-12-06 4:11 ` Bharat Bhushan
2013-12-06 4:11 ` Bharat Bhushan
[not found] ` <6A3DF150A5B70D4F9B66A25E3F7C888D07251EE4-RL0Hj/+nBVDAtPZc1oz0FK4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2013-12-06 18:59 ` Scott Wood
2013-12-06 18:59 ` Scott Wood
2013-12-06 18:59 ` Scott Wood
[not found] ` <1386356393.7375.118.camel-88ow+0ZRuxG2UiBs7uKeOtHuzzzSOjJt@public.gmane.org>
2013-12-06 19:30 ` Alex Williamson
2013-12-06 19:30 ` Alex Williamson
2013-12-06 19:30 ` Alex Williamson
[not found] ` <1386358226.25738.506.camel-85EaTFmN5p//9pzu0YdTqQ@public.gmane.org>
2013-12-07 0:22 ` Scott Wood
2013-12-07 0:22 ` Scott Wood
2013-12-10 5:37 ` Bharat.Bhushan-KZfg59tc24xl57MIdRCFDg
2013-12-10 5:37 ` Bharat.Bhushan
2013-12-10 5:37 ` Bharat.Bhushan
2013-12-10 5:37 ` Bharat.Bhushan
[not found] ` <326a93628a9141a9abce97b7bb4e04fd-1xfNCLzsyCo4Ngm60E62wOO6mTEJWrR4XA4E9RH9d+qIuWR1G4zioA@public.gmane.org>
2013-12-10 5:53 ` Alex Williamson
2013-12-10 5:53 ` Alex Williamson
2013-12-10 5:53 ` Alex Williamson
[not found] ` <1386654800.22974.2.camel-85EaTFmN5p//9pzu0YdTqQ@public.gmane.org>
2013-12-10 9:09 ` Bharat.Bhushan-KZfg59tc24xl57MIdRCFDg
2013-12-10 9:09 ` Bharat.Bhushan
2013-12-10 9:09 ` Bharat.Bhushan
2013-12-10 9:09 ` Bharat.Bhushan
2013-12-06 0:00 ` Scott Wood
2013-12-06 0:00 ` Scott Wood
2013-12-06 0:00 ` Scott Wood
2013-12-06 4:17 ` Bharat Bhushan
2013-12-06 4:17 ` Bharat Bhushan
2013-12-06 4:17 ` Bharat Bhushan
2013-12-06 4:17 ` Bharat Bhushan
[not found] ` <6A3DF150A5B70D4F9B66A25E3F7C888D07251EFF-RL0Hj/+nBVDAtPZc1oz0FK4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2013-12-06 19:25 ` Scott Wood
2013-12-06 19:25 ` Scott Wood
2013-12-06 19:25 ` Scott Wood
[not found] ` <1386357907.7375.127.camel-88ow+0ZRuxG2UiBs7uKeOtHuzzzSOjJt@public.gmane.org>
2013-12-10 5:37 ` Bharat.Bhushan-KZfg59tc24xl57MIdRCFDg
2013-12-10 5:37 ` Bharat.Bhushan
[not found] ` <34c6142137194b1cbd2336013ed3b10d-1xfNCLzsyCo4Ngm60E62wOO6mTEJWrR4XA4E9RH9d+qIuWR1G4zioA@public.gmane.org>
2013-12-10 20:29 ` Scott Wood
2013-12-10 20:29 ` Scott Wood
2013-12-10 20:29 ` Scott Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131125233602.GA4066@google.com \
--to=bhelgaas@google.com \
--cc=Bharat.Bhushan@freescale.com \
--cc=agraf@suse.de \
--cc=alex.williamson@redhat.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=r65777@freescale.com \
--cc=scottwood@freescale.com \
--cc=stuart.yoder@freescale.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.