All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
To: Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org,
	linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Thierry Reding
	<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Michael Ellerman <mpe-Gsx/Oe8HsFggBc27wqDAHg@public.gmane.org>,
	x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	Sebastian Ott
	<sebott-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Benjamin Herrenschmidt
	<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
	xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b@public.gmane.org,
	arnab.basu-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
	Liviu Dudau <liviu-I3yL/QOVVjH10XsdtD+oqA@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Chris Metcalf <cmetcalf-kv+TWInifGbQT0dZR+AlfA@public.gmane.org>,
	Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Thomas Petazzoni
	<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Xinwei Hu <huxinwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
	Tony Luck <tony.luck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Sergei Shtylyov
	<sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Ralf Baechle <ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>,
	iommu@l
Subject: Re: [PATCH v3 24/27] IA64/MSI: Use MSI chip framework to configure MSI/MSI-X irq
Date: Wed, 22 Oct 2014 17:53:45 -0600	[thread overview]
Message-ID: <20141022235345.GE4795@google.com> (raw)
In-Reply-To: <1413342435-7876-25-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>

On Wed, Oct 15, 2014 at 11:07:12AM +0800, Yijing Wang wrote:
> Use MSI chip framework instead of arch MSI functions to configure
> MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.

This needs slightly more detail.  You're using the MSI chip framework
"instead of arch MSI functions".  Well, there are still arch-specific
functions, i.e., arch_ia64_setup_msi_irq() and
arch_ia64_teardown_msi_irq().

We used to have arch_setup_msi_irq() which had a weak default
implementation, and a strong arch-specific implementation here, and you're
replacing that model with the new "msi-ops" model.  I don't know how you
want to write that, but it's not that you're getting rid of the
arch-specific code; you're keeping arch-specific code but structuring it
differently.

> Signed-off-by: Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
> ---
>  arch/ia64/include/asm/pci.h |   10 ++++++++++
>  arch/ia64/kernel/msi_ia64.c |   14 ++++++++++----
>  arch/ia64/pci/pci.c         |    1 +
>  3 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h
> index 52af5ed..907dcba 100644
> --- a/arch/ia64/include/asm/pci.h
> +++ b/arch/ia64/include/asm/pci.h
> @@ -94,6 +94,7 @@ struct pci_controller {
>  	int segment;
>  	int node;		/* nearest node with memory or NUMA_NO_NODE for global allocation */
>  
> +	struct msi_chip *msi_chip;
>  	void *platform_data;
>  };
>  
> @@ -101,6 +102,15 @@ struct pci_controller {
>  #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata)
>  #define pci_domain_nr(busdev)    (PCI_CONTROLLER(busdev)->segment)
>  
> +extern struct msi_chip chip;

Please make this name more descriptive.  "chip" is way too generic for a
global name.

> +static inline struct msi_chip *pci_msi_chip(struct pci_bus *bus)
> +{
> +	struct pci_controller *ctrl = bus->sysdata;
> +
> +	return ctrl->msi_chip;
> +}
> +
>  extern struct pci_ops pci_root_ops;
>  
>  static inline int pci_proc_domain(struct pci_bus *bus)
> diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
> index 8c3730c..401fc98 100644
> --- a/arch/ia64/kernel/msi_ia64.c
> +++ b/arch/ia64/kernel/msi_ia64.c
> @@ -112,15 +112,16 @@ static struct irq_chip ia64_msi_chip = {
>  };
>  
>  
> -int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
> +static int arch_ia64_setup_msi_irq(struct msi_chip *chip,
> +		struct pci_dev *dev, struct msi_desc *desc)
>  {
>  	if (platform_setup_msi_irq)
> -		return platform_setup_msi_irq(pdev, desc);
> +		return platform_setup_msi_irq(dev, desc);
>  
> -	return ia64_setup_msi_irq(pdev, desc);
> +	return ia64_setup_msi_irq(dev, desc);

Please don't make gratuitous changes ("pdev" -> "dev") at the same time,
especially since the rest of the file still uses "pdev".

>  }
>  
> -void arch_teardown_msi_irq(unsigned int irq)
> +static void arch_ia64_teardown_msi_irq(struct msi_chip *chip, unsigned int irq)
>  {
>  	if (platform_teardown_msi_irq)
>  		return platform_teardown_msi_irq(irq);
> @@ -128,6 +129,11 @@ void arch_teardown_msi_irq(unsigned int irq)
>  	return ia64_teardown_msi_irq(irq);
>  }
>  
> +struct msi_chip chip = {
> +	.setup_irq = arch_ia64_setup_msi_irq,
> +	.teardown_irq = arch_ia64_teardown_msi_irq,
> +};
> +
>  #ifdef CONFIG_INTEL_IOMMU
>  #ifdef CONFIG_SMP
>  static int dmar_msi_set_affinity(struct irq_data *data,
> diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
> index 291a582..299b67d 100644
> --- a/arch/ia64/pci/pci.c
> +++ b/arch/ia64/pci/pci.c
> @@ -437,6 +437,7 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
>  
>  	controller->companion = device;
>  	controller->node = acpi_get_node(device->handle);
> +	controller->msi_chip = &chip;
>  
>  	info = kzalloc(sizeof(*info), GFP_KERNEL);
>  	if (!info) {
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <bhelgaas@google.com>
To: Yijing Wang <wangyijing@huawei.com>
Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
	Xinwei Hu <huxinwei@huawei.com>, Wuyun <wuyun.wu@huawei.com>,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@arm.linux.org.uk>,
	linux-arch@vger.kernel.org, arnab.basu@freescale.com,
	Bharat.Bhushan@freescale.com, x86@kernel.org,
	Arnd Bergmann <arnd@arndb.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel@lists.xenproject.org, Joerg Roedel <joro@8bytes.org>,
	iommu@lists.linux-foundation.org, linux-mips@linux-mips.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	Sebastian Ott <sebott@linux.vnet.ibm.com>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	sparclinux@vger.kernel.org, Chris Metcalf <cmetcalf@tilera.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	Lucas Stach <l.stach@pengutronix.de>,
	David Vrabel <david.vrabel@citrix.com>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Thierry Reding <thierry.reding@gmail.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Liviu Dudau <liviu@dudau.co.uk>
Subject: Re: [PATCH v3 24/27] IA64/MSI: Use MSI chip framework to configure MSI/MSI-X irq
Date: Wed, 22 Oct 2014 17:53:45 -0600	[thread overview]
Message-ID: <20141022235345.GE4795@google.com> (raw)
Message-ID: <20141022235345.azYRGvBtk45q20hMBtBimJLUrDFppVxMUiLImVYp1io@z> (raw)
In-Reply-To: <1413342435-7876-25-git-send-email-wangyijing@huawei.com>

On Wed, Oct 15, 2014 at 11:07:12AM +0800, Yijing Wang wrote:
> Use MSI chip framework instead of arch MSI functions to configure
> MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.

This needs slightly more detail.  You're using the MSI chip framework
"instead of arch MSI functions".  Well, there are still arch-specific
functions, i.e., arch_ia64_setup_msi_irq() and
arch_ia64_teardown_msi_irq().

We used to have arch_setup_msi_irq() which had a weak default
implementation, and a strong arch-specific implementation here, and you're
replacing that model with the new "msi-ops" model.  I don't know how you
want to write that, but it's not that you're getting rid of the
arch-specific code; you're keeping arch-specific code but structuring it
differently.

> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
> ---
>  arch/ia64/include/asm/pci.h |   10 ++++++++++
>  arch/ia64/kernel/msi_ia64.c |   14 ++++++++++----
>  arch/ia64/pci/pci.c         |    1 +
>  3 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h
> index 52af5ed..907dcba 100644
> --- a/arch/ia64/include/asm/pci.h
> +++ b/arch/ia64/include/asm/pci.h
> @@ -94,6 +94,7 @@ struct pci_controller {
>  	int segment;
>  	int node;		/* nearest node with memory or NUMA_NO_NODE for global allocation */
>  
> +	struct msi_chip *msi_chip;
>  	void *platform_data;
>  };
>  
> @@ -101,6 +102,15 @@ struct pci_controller {
>  #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata)
>  #define pci_domain_nr(busdev)    (PCI_CONTROLLER(busdev)->segment)
>  
> +extern struct msi_chip chip;

Please make this name more descriptive.  "chip" is way too generic for a
global name.

> +static inline struct msi_chip *pci_msi_chip(struct pci_bus *bus)
> +{
> +	struct pci_controller *ctrl = bus->sysdata;
> +
> +	return ctrl->msi_chip;
> +}
> +
>  extern struct pci_ops pci_root_ops;
>  
>  static inline int pci_proc_domain(struct pci_bus *bus)
> diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
> index 8c3730c..401fc98 100644
> --- a/arch/ia64/kernel/msi_ia64.c
> +++ b/arch/ia64/kernel/msi_ia64.c
> @@ -112,15 +112,16 @@ static struct irq_chip ia64_msi_chip = {
>  };
>  
>  
> -int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
> +static int arch_ia64_setup_msi_irq(struct msi_chip *chip,
> +		struct pci_dev *dev, struct msi_desc *desc)
>  {
>  	if (platform_setup_msi_irq)
> -		return platform_setup_msi_irq(pdev, desc);
> +		return platform_setup_msi_irq(dev, desc);
>  
> -	return ia64_setup_msi_irq(pdev, desc);
> +	return ia64_setup_msi_irq(dev, desc);

Please don't make gratuitous changes ("pdev" -> "dev") at the same time,
especially since the rest of the file still uses "pdev".

>  }
>  
> -void arch_teardown_msi_irq(unsigned int irq)
> +static void arch_ia64_teardown_msi_irq(struct msi_chip *chip, unsigned int irq)
>  {
>  	if (platform_teardown_msi_irq)
>  		return platform_teardown_msi_irq(irq);
> @@ -128,6 +129,11 @@ void arch_teardown_msi_irq(unsigned int irq)
>  	return ia64_teardown_msi_irq(irq);
>  }
>  
> +struct msi_chip chip = {
> +	.setup_irq = arch_ia64_setup_msi_irq,
> +	.teardown_irq = arch_ia64_teardown_msi_irq,
> +};
> +
>  #ifdef CONFIG_INTEL_IOMMU
>  #ifdef CONFIG_SMP
>  static int dmar_msi_set_affinity(struct irq_data *data,
> diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
> index 291a582..299b67d 100644
> --- a/arch/ia64/pci/pci.c
> +++ b/arch/ia64/pci/pci.c
> @@ -437,6 +437,7 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
>  
>  	controller->companion = device;
>  	controller->node = acpi_get_node(device->handle);
> +	controller->msi_chip = &chip;
>  
>  	info = kzalloc(sizeof(*info), GFP_KERNEL);
>  	if (!info) {
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <bhelgaas@google.com>
To: Yijing Wang <wangyijing@huawei.com>
Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
	Xinwei Hu <huxinwei@huawei.com>, Wuyun <wuyun.wu@huawei.com>,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@arm.linux.org.uk>,
	linux-arch@vger.kernel.org, arnab.basu@freescale.com,
	Bharat.Bhushan@freescale.com, x86@kernel.org,
	Arnd Bergmann <arnd@arndb.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel@lists.xenproject.org, Joerg Roedel <joro@8bytes.org>,
	iommu@lists.linux-foundation.org, linux-mips@linux-mips.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	Sebastian Ott <sebott@linux.vnet.ibm.com>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	sparclinux@vger.kernel.org, Chris Metcalf <cmetcalf@tilera.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	Lucas Stach <l.stach@pengutronix.de>,
	David Vrabel <david.vrabel@citrix.com>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Thierry Reding <thierry.reding@gmail.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Liviu Dudau <liviu@dudau.co.uk>
Subject: Re: [PATCH v3 24/27] IA64/MSI: Use MSI chip framework to configure MSI/MSI-X irq
Date: Wed, 22 Oct 2014 23:53:45 +0000	[thread overview]
Message-ID: <20141022235345.GE4795@google.com> (raw)
In-Reply-To: <1413342435-7876-25-git-send-email-wangyijing@huawei.com>

On Wed, Oct 15, 2014 at 11:07:12AM +0800, Yijing Wang wrote:
> Use MSI chip framework instead of arch MSI functions to configure
> MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.

This needs slightly more detail.  You're using the MSI chip framework
"instead of arch MSI functions".  Well, there are still arch-specific
functions, i.e., arch_ia64_setup_msi_irq() and
arch_ia64_teardown_msi_irq().

We used to have arch_setup_msi_irq() which had a weak default
implementation, and a strong arch-specific implementation here, and you're
replacing that model with the new "msi-ops" model.  I don't know how you
want to write that, but it's not that you're getting rid of the
arch-specific code; you're keeping arch-specific code but structuring it
differently.

> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
> ---
>  arch/ia64/include/asm/pci.h |   10 ++++++++++
>  arch/ia64/kernel/msi_ia64.c |   14 ++++++++++----
>  arch/ia64/pci/pci.c         |    1 +
>  3 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h
> index 52af5ed..907dcba 100644
> --- a/arch/ia64/include/asm/pci.h
> +++ b/arch/ia64/include/asm/pci.h
> @@ -94,6 +94,7 @@ struct pci_controller {
>  	int segment;
>  	int node;		/* nearest node with memory or NUMA_NO_NODE for global allocation */
>  
> +	struct msi_chip *msi_chip;
>  	void *platform_data;
>  };
>  
> @@ -101,6 +102,15 @@ struct pci_controller {
>  #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata)
>  #define pci_domain_nr(busdev)    (PCI_CONTROLLER(busdev)->segment)
>  
> +extern struct msi_chip chip;

Please make this name more descriptive.  "chip" is way too generic for a
global name.

> +static inline struct msi_chip *pci_msi_chip(struct pci_bus *bus)
> +{
> +	struct pci_controller *ctrl = bus->sysdata;
> +
> +	return ctrl->msi_chip;
> +}
> +
>  extern struct pci_ops pci_root_ops;
>  
>  static inline int pci_proc_domain(struct pci_bus *bus)
> diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
> index 8c3730c..401fc98 100644
> --- a/arch/ia64/kernel/msi_ia64.c
> +++ b/arch/ia64/kernel/msi_ia64.c
> @@ -112,15 +112,16 @@ static struct irq_chip ia64_msi_chip = {
>  };
>  
>  
> -int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
> +static int arch_ia64_setup_msi_irq(struct msi_chip *chip,
> +		struct pci_dev *dev, struct msi_desc *desc)
>  {
>  	if (platform_setup_msi_irq)
> -		return platform_setup_msi_irq(pdev, desc);
> +		return platform_setup_msi_irq(dev, desc);
>  
> -	return ia64_setup_msi_irq(pdev, desc);
> +	return ia64_setup_msi_irq(dev, desc);

Please don't make gratuitous changes ("pdev" -> "dev") at the same time,
especially since the rest of the file still uses "pdev".

>  }
>  
> -void arch_teardown_msi_irq(unsigned int irq)
> +static void arch_ia64_teardown_msi_irq(struct msi_chip *chip, unsigned int irq)
>  {
>  	if (platform_teardown_msi_irq)
>  		return platform_teardown_msi_irq(irq);
> @@ -128,6 +129,11 @@ void arch_teardown_msi_irq(unsigned int irq)
>  	return ia64_teardown_msi_irq(irq);
>  }
>  
> +struct msi_chip chip = {
> +	.setup_irq = arch_ia64_setup_msi_irq,
> +	.teardown_irq = arch_ia64_teardown_msi_irq,
> +};
> +
>  #ifdef CONFIG_INTEL_IOMMU
>  #ifdef CONFIG_SMP
>  static int dmar_msi_set_affinity(struct irq_data *data,
> diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
> index 291a582..299b67d 100644
> --- a/arch/ia64/pci/pci.c
> +++ b/arch/ia64/pci/pci.c
> @@ -437,6 +437,7 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
>  
>  	controller->companion = device;
>  	controller->node = acpi_get_node(device->handle);
> +	controller->msi_chip = &chip;
>  
>  	info = kzalloc(sizeof(*info), GFP_KERNEL);
>  	if (!info) {
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <bhelgaas@google.com>
To: Yijing Wang <wangyijing@huawei.com>
Cc: linux-mips@linux-mips.org, linux-ia64@vger.kernel.org,
	linux-pci@vger.kernel.org, Bharat.Bhushan@freescale.com,
	Thierry Reding <thierry.reding@gmail.com>,
	sparclinux@vger.kernel.org, linux-arch@vger.kernel.org,
	linux-s390@vger.kernel.org, Russell King <linux@arm.linux.org.uk>,
	Joerg Roedel <joro@8bytes.org>,
	x86@kernel.org, Sebastian Ott <sebott@linux.vnet.ibm.com>,
	xen-devel@lists.xenproject.org, arnab.basu@freescale.com,
	Liviu Dudau <liviu@dudau.co.uk>, Arnd Bergmann <arnd@arndb.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Chris Metcalf <cmetcalf@tilera.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Xinwei Hu <huxinwei@huawei.com>, Tony Luck <tony.luck@intel.com>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	linux-kernel@vger.kernel.org, Ralf Baechle <ralf@linux-mips.org>,
	iommu@lists.linux-foundation.org,
	David Vrabel <david.vrabel@citrix.com>,
	Wuyun <wuyun.wu@huawei.com>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>,
	Lucas Stach <l.stach@pengutronix.de>
Subject: Re: [PATCH v3 24/27] IA64/MSI: Use MSI chip framework to configure MSI/MSI-X irq
Date: Wed, 22 Oct 2014 17:53:45 -0600	[thread overview]
Message-ID: <20141022235345.GE4795@google.com> (raw)
In-Reply-To: <1413342435-7876-25-git-send-email-wangyijing@huawei.com>

On Wed, Oct 15, 2014 at 11:07:12AM +0800, Yijing Wang wrote:
> Use MSI chip framework instead of arch MSI functions to configure
> MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.

This needs slightly more detail.  You're using the MSI chip framework
"instead of arch MSI functions".  Well, there are still arch-specific
functions, i.e., arch_ia64_setup_msi_irq() and
arch_ia64_teardown_msi_irq().

We used to have arch_setup_msi_irq() which had a weak default
implementation, and a strong arch-specific implementation here, and you're
replacing that model with the new "msi-ops" model.  I don't know how you
want to write that, but it's not that you're getting rid of the
arch-specific code; you're keeping arch-specific code but structuring it
differently.

> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
> ---
>  arch/ia64/include/asm/pci.h |   10 ++++++++++
>  arch/ia64/kernel/msi_ia64.c |   14 ++++++++++----
>  arch/ia64/pci/pci.c         |    1 +
>  3 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h
> index 52af5ed..907dcba 100644
> --- a/arch/ia64/include/asm/pci.h
> +++ b/arch/ia64/include/asm/pci.h
> @@ -94,6 +94,7 @@ struct pci_controller {
>  	int segment;
>  	int node;		/* nearest node with memory or NUMA_NO_NODE for global allocation */
>  
> +	struct msi_chip *msi_chip;
>  	void *platform_data;
>  };
>  
> @@ -101,6 +102,15 @@ struct pci_controller {
>  #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata)
>  #define pci_domain_nr(busdev)    (PCI_CONTROLLER(busdev)->segment)
>  
> +extern struct msi_chip chip;

Please make this name more descriptive.  "chip" is way too generic for a
global name.

> +static inline struct msi_chip *pci_msi_chip(struct pci_bus *bus)
> +{
> +	struct pci_controller *ctrl = bus->sysdata;
> +
> +	return ctrl->msi_chip;
> +}
> +
>  extern struct pci_ops pci_root_ops;
>  
>  static inline int pci_proc_domain(struct pci_bus *bus)
> diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
> index 8c3730c..401fc98 100644
> --- a/arch/ia64/kernel/msi_ia64.c
> +++ b/arch/ia64/kernel/msi_ia64.c
> @@ -112,15 +112,16 @@ static struct irq_chip ia64_msi_chip = {
>  };
>  
>  
> -int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
> +static int arch_ia64_setup_msi_irq(struct msi_chip *chip,
> +		struct pci_dev *dev, struct msi_desc *desc)
>  {
>  	if (platform_setup_msi_irq)
> -		return platform_setup_msi_irq(pdev, desc);
> +		return platform_setup_msi_irq(dev, desc);
>  
> -	return ia64_setup_msi_irq(pdev, desc);
> +	return ia64_setup_msi_irq(dev, desc);

Please don't make gratuitous changes ("pdev" -> "dev") at the same time,
especially since the rest of the file still uses "pdev".

>  }
>  
> -void arch_teardown_msi_irq(unsigned int irq)
> +static void arch_ia64_teardown_msi_irq(struct msi_chip *chip, unsigned int irq)
>  {
>  	if (platform_teardown_msi_irq)
>  		return platform_teardown_msi_irq(irq);
> @@ -128,6 +129,11 @@ void arch_teardown_msi_irq(unsigned int irq)
>  	return ia64_teardown_msi_irq(irq);
>  }
>  
> +struct msi_chip chip = {
> +	.setup_irq = arch_ia64_setup_msi_irq,
> +	.teardown_irq = arch_ia64_teardown_msi_irq,
> +};
> +
>  #ifdef CONFIG_INTEL_IOMMU
>  #ifdef CONFIG_SMP
>  static int dmar_msi_set_affinity(struct irq_data *data,
> diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
> index 291a582..299b67d 100644
> --- a/arch/ia64/pci/pci.c
> +++ b/arch/ia64/pci/pci.c
> @@ -437,6 +437,7 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
>  
>  	controller->companion = device;
>  	controller->node = acpi_get_node(device->handle);
> +	controller->msi_chip = &chip;
>  
>  	info = kzalloc(sizeof(*info), GFP_KERNEL);
>  	if (!info) {
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <bhelgaas@google.com>
To: Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org,
	linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Thierry Reding
	<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Michael Ellerman <mpe-Gsx/Oe8HsFggBc27wqDAHg@public.gmane.org>,
	x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	Sebastian Ott
	<sebott-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Benjamin Herrenschmidt
	<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
	xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b@public.gmane.org,
	arnab.basu-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
	Liviu Dudau <liviu-I3yL/QOVVjH10XsdtD+oqA@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Chris Metcalf <cmetcalf-kv+TWInifGbQT0dZR+AlfA@public.gmane.org>,
	Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Thomas Petazzoni
	<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Xinwei Hu <huxinwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
	Tony Luck <tony.luck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Sergei Shtylyov
	<sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Ralf Baechle <ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>,
	iommu@l
Subject: Re: [PATCH v3 24/27] IA64/MSI: Use MSI chip framework to configure MSI/MSI-X irq
Date: Wed, 22 Oct 2014 23:53:45 +0000	[thread overview]
Message-ID: <20141022235345.GE4795@google.com> (raw)
In-Reply-To: <1413342435-7876-25-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>

On Wed, Oct 15, 2014 at 11:07:12AM +0800, Yijing Wang wrote:
> Use MSI chip framework instead of arch MSI functions to configure
> MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.

This needs slightly more detail.  You're using the MSI chip framework
"instead of arch MSI functions".  Well, there are still arch-specific
functions, i.e., arch_ia64_setup_msi_irq() and
arch_ia64_teardown_msi_irq().

We used to have arch_setup_msi_irq() which had a weak default
implementation, and a strong arch-specific implementation here, and you're
replacing that model with the new "msi-ops" model.  I don't know how you
want to write that, but it's not that you're getting rid of the
arch-specific code; you're keeping arch-specific code but structuring it
differently.

> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
> ---
>  arch/ia64/include/asm/pci.h |   10 ++++++++++
>  arch/ia64/kernel/msi_ia64.c |   14 ++++++++++----
>  arch/ia64/pci/pci.c         |    1 +
>  3 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h
> index 52af5ed..907dcba 100644
> --- a/arch/ia64/include/asm/pci.h
> +++ b/arch/ia64/include/asm/pci.h
> @@ -94,6 +94,7 @@ struct pci_controller {
>  	int segment;
>  	int node;		/* nearest node with memory or NUMA_NO_NODE for global allocation */
>  
> +	struct msi_chip *msi_chip;
>  	void *platform_data;
>  };
>  
> @@ -101,6 +102,15 @@ struct pci_controller {
>  #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata)
>  #define pci_domain_nr(busdev)    (PCI_CONTROLLER(busdev)->segment)
>  
> +extern struct msi_chip chip;

Please make this name more descriptive.  "chip" is way too generic for a
global name.

> +static inline struct msi_chip *pci_msi_chip(struct pci_bus *bus)
> +{
> +	struct pci_controller *ctrl = bus->sysdata;
> +
> +	return ctrl->msi_chip;
> +}
> +
>  extern struct pci_ops pci_root_ops;
>  
>  static inline int pci_proc_domain(struct pci_bus *bus)
> diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
> index 8c3730c..401fc98 100644
> --- a/arch/ia64/kernel/msi_ia64.c
> +++ b/arch/ia64/kernel/msi_ia64.c
> @@ -112,15 +112,16 @@ static struct irq_chip ia64_msi_chip = {
>  };
>  
>  
> -int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
> +static int arch_ia64_setup_msi_irq(struct msi_chip *chip,
> +		struct pci_dev *dev, struct msi_desc *desc)
>  {
>  	if (platform_setup_msi_irq)
> -		return platform_setup_msi_irq(pdev, desc);
> +		return platform_setup_msi_irq(dev, desc);
>  
> -	return ia64_setup_msi_irq(pdev, desc);
> +	return ia64_setup_msi_irq(dev, desc);

Please don't make gratuitous changes ("pdev" -> "dev") at the same time,
especially since the rest of the file still uses "pdev".

>  }
>  
> -void arch_teardown_msi_irq(unsigned int irq)
> +static void arch_ia64_teardown_msi_irq(struct msi_chip *chip, unsigned int irq)
>  {
>  	if (platform_teardown_msi_irq)
>  		return platform_teardown_msi_irq(irq);
> @@ -128,6 +129,11 @@ void arch_teardown_msi_irq(unsigned int irq)
>  	return ia64_teardown_msi_irq(irq);
>  }
>  
> +struct msi_chip chip = {
> +	.setup_irq = arch_ia64_setup_msi_irq,
> +	.teardown_irq = arch_ia64_teardown_msi_irq,
> +};
> +
>  #ifdef CONFIG_INTEL_IOMMU
>  #ifdef CONFIG_SMP
>  static int dmar_msi_set_affinity(struct irq_data *data,
> diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
> index 291a582..299b67d 100644
> --- a/arch/ia64/pci/pci.c
> +++ b/arch/ia64/pci/pci.c
> @@ -437,6 +437,7 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
>  
>  	controller->companion = device;
>  	controller->node = acpi_get_node(device->handle);
> +	controller->msi_chip = &chip;
>  
>  	info = kzalloc(sizeof(*info), GFP_KERNEL);
>  	if (!info) {
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

WARNING: multiple messages have this Message-ID (diff)
From: bhelgaas@google.com (Bjorn Helgaas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 24/27] IA64/MSI: Use MSI chip framework to configure MSI/MSI-X irq
Date: Wed, 22 Oct 2014 17:53:45 -0600	[thread overview]
Message-ID: <20141022235345.GE4795@google.com> (raw)
In-Reply-To: <1413342435-7876-25-git-send-email-wangyijing@huawei.com>

On Wed, Oct 15, 2014 at 11:07:12AM +0800, Yijing Wang wrote:
> Use MSI chip framework instead of arch MSI functions to configure
> MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.

This needs slightly more detail.  You're using the MSI chip framework
"instead of arch MSI functions".  Well, there are still arch-specific
functions, i.e., arch_ia64_setup_msi_irq() and
arch_ia64_teardown_msi_irq().

We used to have arch_setup_msi_irq() which had a weak default
implementation, and a strong arch-specific implementation here, and you're
replacing that model with the new "msi-ops" model.  I don't know how you
want to write that, but it's not that you're getting rid of the
arch-specific code; you're keeping arch-specific code but structuring it
differently.

> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
> ---
>  arch/ia64/include/asm/pci.h |   10 ++++++++++
>  arch/ia64/kernel/msi_ia64.c |   14 ++++++++++----
>  arch/ia64/pci/pci.c         |    1 +
>  3 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h
> index 52af5ed..907dcba 100644
> --- a/arch/ia64/include/asm/pci.h
> +++ b/arch/ia64/include/asm/pci.h
> @@ -94,6 +94,7 @@ struct pci_controller {
>  	int segment;
>  	int node;		/* nearest node with memory or NUMA_NO_NODE for global allocation */
>  
> +	struct msi_chip *msi_chip;
>  	void *platform_data;
>  };
>  
> @@ -101,6 +102,15 @@ struct pci_controller {
>  #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata)
>  #define pci_domain_nr(busdev)    (PCI_CONTROLLER(busdev)->segment)
>  
> +extern struct msi_chip chip;

Please make this name more descriptive.  "chip" is way too generic for a
global name.

> +static inline struct msi_chip *pci_msi_chip(struct pci_bus *bus)
> +{
> +	struct pci_controller *ctrl = bus->sysdata;
> +
> +	return ctrl->msi_chip;
> +}
> +
>  extern struct pci_ops pci_root_ops;
>  
>  static inline int pci_proc_domain(struct pci_bus *bus)
> diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
> index 8c3730c..401fc98 100644
> --- a/arch/ia64/kernel/msi_ia64.c
> +++ b/arch/ia64/kernel/msi_ia64.c
> @@ -112,15 +112,16 @@ static struct irq_chip ia64_msi_chip = {
>  };
>  
>  
> -int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
> +static int arch_ia64_setup_msi_irq(struct msi_chip *chip,
> +		struct pci_dev *dev, struct msi_desc *desc)
>  {
>  	if (platform_setup_msi_irq)
> -		return platform_setup_msi_irq(pdev, desc);
> +		return platform_setup_msi_irq(dev, desc);
>  
> -	return ia64_setup_msi_irq(pdev, desc);
> +	return ia64_setup_msi_irq(dev, desc);

Please don't make gratuitous changes ("pdev" -> "dev") at the same time,
especially since the rest of the file still uses "pdev".

>  }
>  
> -void arch_teardown_msi_irq(unsigned int irq)
> +static void arch_ia64_teardown_msi_irq(struct msi_chip *chip, unsigned int irq)
>  {
>  	if (platform_teardown_msi_irq)
>  		return platform_teardown_msi_irq(irq);
> @@ -128,6 +129,11 @@ void arch_teardown_msi_irq(unsigned int irq)
>  	return ia64_teardown_msi_irq(irq);
>  }
>  
> +struct msi_chip chip = {
> +	.setup_irq = arch_ia64_setup_msi_irq,
> +	.teardown_irq = arch_ia64_teardown_msi_irq,
> +};
> +
>  #ifdef CONFIG_INTEL_IOMMU
>  #ifdef CONFIG_SMP
>  static int dmar_msi_set_affinity(struct irq_data *data,
> diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
> index 291a582..299b67d 100644
> --- a/arch/ia64/pci/pci.c
> +++ b/arch/ia64/pci/pci.c
> @@ -437,6 +437,7 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
>  
>  	controller->companion = device;
>  	controller->node = acpi_get_node(device->handle);
> +	controller->msi_chip = &chip;
>  
>  	info = kzalloc(sizeof(*info), GFP_KERNEL);
>  	if (!info) {
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

  parent reply	other threads:[~2014-10-22 23:53 UTC|newest]

Thread overview: 401+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-15  2:35 [PATCH v3 00/27] Use MSI chip framework to configure MSI/MSI-X in all platforms Yijing Wang
2014-10-15  3:06 ` Yijing Wang
2014-10-15  3:06 ` Yijing Wang
2014-10-15  3:06 ` Yijing Wang
2014-10-15  3:06 ` Yijing Wang
2014-10-15  3:06 ` Yijing Wang
2014-10-15  2:35 ` Yijing Wang
2014-10-15  2:25 ` [PATCH v3 09/27] arm/PCI: Clean unused pcibios_add_bus() and pcibios_remove_bus() Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:26   ` Yijing Wang
     [not found]   ` <1413342435-7876-10-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-23  5:38     ` Bjorn Helgaas
2014-10-23  5:38       ` Bjorn Helgaas
2014-10-23  5:38       ` Bjorn Helgaas
2014-10-23  5:38       ` Bjorn Helgaas
2014-10-23  5:38       ` Bjorn Helgaas
2014-10-23  5:38       ` Bjorn Helgaas
2014-10-23  6:39       ` Yijing Wang
2014-10-23  6:39         ` Yijing Wang
2014-10-23  6:39         ` Yijing Wang
2014-10-23  6:39         ` Yijing Wang
2014-10-23  6:39         ` Yijing Wang
2014-10-23  6:39         ` Yijing Wang
2014-10-23  6:39         ` Yijing Wang
2014-10-23  6:39       ` Yijing Wang
2014-10-23  5:38   ` Bjorn Helgaas
2014-10-15  2:26 ` [PATCH v3 10/27] PCI/MSI: Remove useless bus->msi assignment Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:33   ` Yijing Wang
     [not found]   ` <1413342435-7876-11-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-23  5:41     ` Bjorn Helgaas
2014-10-23  5:41       ` Bjorn Helgaas
2014-10-23  5:41       ` Bjorn Helgaas
2014-10-23  5:41       ` Bjorn Helgaas
2014-10-23  5:41       ` Bjorn Helgaas
2014-10-23  5:41       ` Bjorn Helgaas
2014-10-23  6:40       ` Yijing Wang
2014-10-23  6:40       ` Yijing Wang
2014-10-23  6:40         ` Yijing Wang
2014-10-23  6:40         ` Yijing Wang
2014-10-23  6:40         ` Yijing Wang
2014-10-23  6:40         ` Yijing Wang
2014-10-23  6:40         ` Yijing Wang
2014-10-23  6:40         ` Yijing Wang
2014-10-23  5:41   ` Bjorn Helgaas
2014-10-15  2:26 ` [PATCH v3 05/27] PCI: tegra: Save msi chip in pci_sys_data Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:32   ` Yijing Wang
2014-10-23  5:18   ` Bjorn Helgaas
     [not found]   ` <1413342435-7876-6-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-23  5:18     ` Bjorn Helgaas
2014-10-23  5:18       ` Bjorn Helgaas
2014-10-23  5:18       ` Bjorn Helgaas
2014-10-23  5:18       ` Bjorn Helgaas
2014-10-23  5:18       ` Bjorn Helgaas
2014-10-23  5:18       ` Bjorn Helgaas
2014-10-23  6:23       ` Yijing Wang
2014-10-23  6:23         ` Yijing Wang
2014-10-23  6:23         ` Yijing Wang
2014-10-23  6:23         ` Yijing Wang
2014-10-23  6:23         ` Yijing Wang
2014-10-23  6:23         ` Yijing Wang
2014-10-23  6:23         ` Yijing Wang
2014-10-23  6:23       ` Yijing Wang
2014-10-15  2:26 ` [PATCH v3 27/27] PCI/MSI: Clean up unused MSI arch functions Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:27   ` Yijing Wang
2014-10-15  2:26 ` [PATCH v3 26/27] tile/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:27   ` Yijing Wang
2014-10-15  2:26 ` [PATCH v3 24/27] IA64/MSI: " Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:26   ` Yijing Wang
     [not found]   ` <1413342435-7876-25-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-22 23:53     ` Bjorn Helgaas [this message]
2014-10-22 23:53       ` Bjorn Helgaas
2014-10-22 23:53       ` Bjorn Helgaas
2014-10-22 23:53       ` Bjorn Helgaas
2014-10-22 23:53       ` Bjorn Helgaas
2014-10-22 23:53       ` Bjorn Helgaas
2014-10-23  1:17       ` Yijing Wang
2014-10-23  1:17         ` Yijing Wang
2014-10-23  1:17         ` Yijing Wang
2014-10-23  1:17         ` Yijing Wang
2014-10-23  1:17         ` Yijing Wang
2014-10-23  1:17         ` Yijing Wang
2014-10-23  1:17         ` Yijing Wang
2014-10-23  1:17       ` Yijing Wang
2014-10-22 23:53   ` Bjorn Helgaas
2014-10-15  2:27 ` [PATCH v3 25/27] Sparc/MSI: " Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:27   ` Yijing Wang
2014-10-15  2:36   ` David Miller
     [not found]   ` <1413342435-7876-26-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-15  2:36     ` David Miller
2014-10-15  2:36       ` David Miller
2014-10-15  2:36       ` David Miller
2014-10-15  2:36       ` David Miller
2014-10-15  2:36       ` David Miller
2014-10-15  2:36       ` David Miller
2014-10-15  2:28 ` [PATCH v3 22/27] s390/MSI: " Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:29   ` Yijing Wang
     [not found]   ` <1413342435-7876-23-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-16 12:13     ` Sebastian Ott
2014-10-16 12:13       ` Sebastian Ott
2014-10-16 12:13       ` Sebastian Ott
2014-10-16 12:13       ` Sebastian Ott
2014-10-16 12:13       ` Sebastian Ott
2014-10-16 12:13       ` Sebastian Ott
2014-10-17  1:04       ` Yijing Wang
2014-10-17  1:04         ` Yijing Wang
2014-10-17  1:04         ` Yijing Wang
2014-10-17  1:04         ` Yijing Wang
2014-10-17  1:04         ` Yijing Wang
2014-10-17  1:04         ` Yijing Wang
2014-10-17  1:04         ` Yijing Wang
2014-10-17  1:04       ` Yijing Wang
2014-10-16 12:13   ` Sebastian Ott
2014-10-15  2:28 ` [PATCH v3 14/27] Irq_remapping/MSI: " Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:31   ` Yijing Wang
2014-10-15  2:28 ` [PATCH v3 08/27] PCI: mvebu: Save msi chip in pci_sys_data Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:31   ` Yijing Wang
2014-10-15  2:28 ` [PATCH v3 01/27] MSI: Remove the redundant irq_set_chip_data() Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:32   ` Yijing Wang
2014-10-15  2:28 ` [PATCH v3 23/27] arm/iop13xx/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:28   ` Yijing Wang
2014-10-15  2:29 ` [PATCH v3 06/27] PCI: designware: Save msi chip in pci_sys_data Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:32   ` Yijing Wang
2014-10-15  2:29 ` [PATCH v3 07/27] PCI: rcar: " Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:33   ` Yijing Wang
2014-10-15  2:30 ` [PATCH v3 03/27] s390/MSI: Use __msi_mask_irq() instead of default_msi_mask_irq() Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:33   ` Yijing Wang
2014-10-15  2:30 ` [PATCH v3 20/27] MIPS/Xlr/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:31   ` Yijing Wang
2014-10-15  2:30 ` [PATCH v3 19/27] MIPS/Xlp/MSI: " Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:31   ` Yijing Wang
     [not found] ` <1413342435-7876-1-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-15  2:29   ` [PATCH v3 21/27] Powerpc/MSI: " Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  2:29     ` Yijing Wang
     [not found]     ` <1413342435-7876-22-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-17  7:23       ` Michael Ellerman
2014-10-17  7:23         ` Michael Ellerman
2014-10-17  7:23         ` Michael Ellerman
2014-10-17  7:23         ` Michael Ellerman
2014-10-17  7:23         ` Michael Ellerman
2014-10-17  7:23         ` Michael Ellerman
2014-10-17  7:42         ` Yijing Wang
2014-10-17  7:42           ` Yijing Wang
2014-10-17  7:42           ` Yijing Wang
2014-10-17  7:42           ` Yijing Wang
2014-10-17  7:42           ` Yijing Wang
2014-10-17  7:42           ` Yijing Wang
2014-10-17  7:42           ` Yijing Wang
2014-10-17  7:42         ` Yijing Wang
2014-10-17  7:23     ` Michael Ellerman
2014-10-15  2:29   ` [PATCH v3 18/27] MIPS/Xlp: Remove the dead function destroy_irq() to fix build error Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  2:29     ` Yijing Wang
2014-10-25 13:11     ` Ralf Baechle
2014-10-25 13:11       ` Ralf Baechle
2014-10-25 13:11       ` Ralf Baechle
2014-10-25 13:11       ` Ralf Baechle
2014-10-25 13:11       ` Ralf Baechle
2014-10-25 13:11       ` Ralf Baechle
2014-10-25 13:11     ` Ralf Baechle
2014-10-15  2:30   ` [PATCH v3 17/27] MIPS/Octeon/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  2:30     ` Yijing Wang
2014-10-15  2:32   ` [PATCH v3 15/27] x86/MSI: Remove unused MSI weak arch functions Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  3:07     ` Yijing Wang
2014-10-15  2:32     ` Yijing Wang
2014-10-15  2:33   ` [PATCH v3 02/27] x86/xen/MSI: Eliminate arch_msix_mask_irq() and arch_msi_mask_irq() Yijing Wang
2014-10-15  3:06     ` Yijing Wang
2014-10-15  3:06     ` Yijing Wang
2014-10-15  3:06     ` Yijing Wang
2014-10-15  3:06     ` Yijing Wang
2014-10-15  3:06     ` Yijing Wang
2014-10-15  2:34     ` Yijing Wang
2014-10-23  4:25     ` Bjorn Helgaas
2014-10-23  4:25       ` Bjorn Helgaas
2014-10-23  4:25       ` Bjorn Helgaas
2014-10-23  4:25       ` Bjorn Helgaas
2014-10-23  4:25       ` Bjorn Helgaas
2014-10-23  4:25       ` Bjorn Helgaas
2014-10-23  4:44       ` Yijing Wang
2014-10-23  4:44         ` Yijing Wang
2014-10-23  4:44         ` Yijing Wang
2014-10-23  4:44         ` Yijing Wang
2014-10-23  4:44         ` Yijing Wang
2014-10-23  4:44         ` Yijing Wang
2014-10-23  4:44         ` Yijing Wang
2014-10-23  4:44       ` Yijing Wang
2014-10-23  4:25     ` Bjorn Helgaas
2014-10-23  5:43   ` [PATCH v3 00/27] Use MSI chip framework to configure MSI/MSI-X in all platforms Bjorn Helgaas
2014-10-23  5:43     ` Bjorn Helgaas
2014-10-23  5:43     ` Bjorn Helgaas
2014-10-23  5:43     ` Bjorn Helgaas
2014-10-23  5:43     ` Bjorn Helgaas
2014-10-23  5:43     ` Bjorn Helgaas
2014-10-23  7:45     ` Yijing Wang
2014-10-23  7:45       ` Yijing Wang
2014-10-23  7:45       ` Yijing Wang
2014-10-23  7:45       ` Yijing Wang
2014-10-23  7:45       ` Yijing Wang
2014-10-23  7:45       ` Yijing Wang
2014-10-23  7:45       ` Yijing Wang
2014-10-23  7:45     ` Yijing Wang
2014-10-15  2:33 ` [PATCH v3 16/27] Mips/MSI: Save msi chip in pci sysdata Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:33   ` Yijing Wang
2014-10-25 13:04   ` Ralf Baechle
2014-10-25 13:04     ` Ralf Baechle
2014-10-25 13:04     ` Ralf Baechle
2014-10-25 13:04     ` Ralf Baechle
2014-10-25 13:04     ` Ralf Baechle
2014-10-25 13:04     ` Ralf Baechle
2014-10-27  1:06     ` Yijing Wang
2014-10-27  1:06       ` Yijing Wang
2014-10-27  1:06       ` Yijing Wang
2014-10-27  1:06       ` Yijing Wang
2014-10-27  1:06       ` Yijing Wang
2014-10-27  1:06       ` Yijing Wang
2014-10-27  1:06       ` Yijing Wang
2014-10-27  1:06     ` Yijing Wang
2014-10-25 13:04   ` Ralf Baechle
2014-10-15  2:33 ` [PATCH v3 11/27] PCI/MSI: Refactor struct msi_chip to make it become more common Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:33   ` Yijing Wang
2014-10-15  2:34 ` [PATCH v3 04/27] arm/MSI: Save MSI chip in pci_sys_data Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  3:06   ` Yijing Wang
2014-10-15  2:35   ` Yijing Wang
2014-10-20 17:21   ` Lorenzo Pieralisi
2014-10-20 17:21     ` Lorenzo Pieralisi
2014-10-20 17:21     ` Lorenzo Pieralisi
2014-10-20 17:21     ` Lorenzo Pieralisi
2014-10-20 17:21     ` Lorenzo Pieralisi
2014-10-20 17:21     ` Lorenzo Pieralisi
2014-10-21  1:32     ` Yijing Wang
2014-10-21  1:32       ` Yijing Wang
2014-10-21  1:32       ` Yijing Wang
2014-10-21  1:32       ` Yijing Wang
2014-10-21  1:32       ` Yijing Wang
2014-10-21  1:32       ` Yijing Wang
2014-10-21  1:32     ` Yijing Wang
2014-10-20 17:21   ` Lorenzo Pieralisi
     [not found]   ` <1413342435-7876-5-git-send-email-wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-10-23  5:35     ` Bjorn Helgaas
2014-10-23  5:35       ` Bjorn Helgaas
2014-10-23  5:35       ` Bjorn Helgaas
2014-10-23  5:35       ` Bjorn Helgaas
2014-10-23  5:35       ` Bjorn Helgaas
2014-10-23  5:35       ` Bjorn Helgaas
2014-10-23  6:32       ` Yijing Wang
2014-10-23  6:32         ` Yijing Wang
2014-10-23  6:32         ` Yijing Wang
2014-10-23  6:32         ` Yijing Wang
2014-10-23  6:32         ` Yijing Wang
2014-10-23  6:32         ` Yijing Wang
2014-10-23  6:32         ` Yijing Wang
2014-10-23  6:32       ` Yijing Wang
2014-10-23  5:35   ` Bjorn Helgaas
2014-10-15  2:34 ` [PATCH v3 13/27] x86/xen/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:34   ` Yijing Wang
2014-10-15  2:35 ` [PATCH v3 12/27] x86/MSI: " Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  3:07   ` Yijing Wang
2014-10-15  2:36   ` Yijing Wang
2014-10-15  3:06 ` [PATCH v3 01/27] MSI: Remove the redundant irq_set_chip_data() Yijing Wang
2014-10-15  3:06 ` [PATCH v3 02/27] x86/xen/MSI: Eliminate arch_msix_mask_irq() and arch_msi_mask_irq() Yijing Wang
2014-10-15  3:06 ` [PATCH v3 03/27] s390/MSI: Use __msi_mask_irq() instead of default_msi_mask_irq() Yijing Wang
2014-10-15  3:06 ` [PATCH v3 04/27] arm/MSI: Save MSI chip in pci_sys_data Yijing Wang
2014-10-15  3:06 ` [PATCH v3 05/27] PCI: tegra: Save msi " Yijing Wang
2014-10-15  3:06 ` [PATCH v3 06/27] PCI: designware: " Yijing Wang
2014-10-15  3:06 ` [PATCH v3 07/27] PCI: rcar: " Yijing Wang
2014-10-15  3:06 ` [PATCH v3 08/27] PCI: mvebu: " Yijing Wang
2014-10-15  3:06 ` [PATCH v3 09/27] arm/PCI: Clean unused pcibios_add_bus() and pcibios_remove_bus() Yijing Wang
2014-10-15  3:06 ` [PATCH v3 10/27] PCI/MSI: Remove useless bus->msi assignment Yijing Wang
2014-10-15  3:06 ` [PATCH v3 11/27] PCI/MSI: Refactor struct msi_chip to make it become more common Yijing Wang
2014-10-15  3:07 ` [PATCH v3 12/27] x86/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-10-15  3:07 ` [PATCH v3 13/27] x86/xen/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 14/27] Irq_remapping/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 15/27] x86/MSI: Remove unused MSI weak arch functions Yijing Wang
2014-10-15  3:07 ` [PATCH v3 16/27] Mips/MSI: Save msi chip in pci sysdata Yijing Wang
2014-10-15  3:07 ` [PATCH v3 17/27] MIPS/Octeon/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-10-15  3:07 ` [PATCH v3 18/27] MIPS/Xlp: Remove the dead function destroy_irq() to fix build error Yijing Wang
2014-10-15  3:07 ` [PATCH v3 19/27] MIPS/Xlp/MSI: Use MSI chip framework to configure MSI/MSI-X irq Yijing Wang
2014-10-15  3:07 ` [PATCH v3 20/27] MIPS/Xlr/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 21/27] Powerpc/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 22/27] s390/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 23/27] arm/iop13xx/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 24/27] IA64/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 25/27] Sparc/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 26/27] tile/MSI: " Yijing Wang
2014-10-15  3:07 ` [PATCH v3 27/27] PCI/MSI: Clean up unused MSI arch functions Yijing Wang
2014-10-23  5:43 ` [PATCH v3 00/27] Use MSI chip framework to configure MSI/MSI-X in all platforms Bjorn Helgaas

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=20141022235345.GE4795@google.com \
    --to=bhelgaas-hpiqsd4aklfqt0dzr+alfa@public.gmane.org \
    --cc=arnab.basu-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
    --cc=cmetcalf-kv+TWInifGbQT0dZR+AlfA@public.gmane.org \
    --cc=huxinwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    --cc=iommu@l \
    --cc=linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org \
    --cc=linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=liviu-I3yL/QOVVjH10XsdtD+oqA@public.gmane.org \
    --cc=mpe-Gsx/Oe8HsFggBc27wqDAHg@public.gmane.org \
    --cc=ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org \
    --cc=sebott-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    --cc=sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org \
    --cc=sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=tony.luck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    --cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b@public.gmane.org \
    /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.