All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hanjun Guo <hanjun.guo@linaro.org>
To: Tomasz Nowicki <tn@semihalf.com>,
	marc.zyngier@arm.com, tglx@linutronix.de, jason@lakedaemon.net,
	rjw@rjwysocki.net, bhelgaas@google.com,
	lorenzo.pieralisi@arm.com, robert.richter@caviumnetworks.com,
	shijie.huang@arm.com, Suravee.Suthikulpanit@amd.com
Cc: al.stone@linaro.org, graeme.gregory@linaro.org,
	Catalin.Marinas@arm.com, will.deacon@arm.com,
	linux-kernel@vger.kernel.org, okaya@codeaurora.org,
	linux-acpi@vger.kernel.org, ddaney.cavm@gmail.com,
	linux-pci@vger.kernel.org, mw@semihalf.com,
	andrea.gallo@linaro.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH V7 8/8] irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
Date: Tue, 21 Jun 2016 16:19:21 +0800	[thread overview]
Message-ID: <d5dbe248-673e-698a-7e92-cf4ccdd2051f@linaro.org> (raw)
In-Reply-To: <1466420541-20101-9-git-send-email-tn@semihalf.com>

On 2016/6/20 19:02, Tomasz Nowicki wrote:
> Let ACPI build ITS PCI MSI domain. ACPI code is responsible for retrieving
> inner domain token and passing it on to its_pci_msi_init_one generic
> init call.
>
> IORT maintains list of registered domain tokens and allows to find
> corresponding domain based on MADT ITS subtable ID info.
>
> Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
>  drivers/irqchip/irq-gic-v3-its-pci-msi.c | 44 ++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
>
> diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> index d2c2496..ae7221c 100644
> --- a/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> +++ b/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> @@ -15,6 +15,7 @@
>   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
>   */
>
> +#include <linux/iort.h>
>  #include <linux/msi.h>
>  #include <linux/of.h>
>  #include <linux/of_irq.h>
> @@ -144,9 +145,52 @@ static int __init its_pci_of_msi_init(void)
>  	return 0;
>  }
>
> +#ifdef CONFIG_ACPI
> +
> +static int __init
> +its_pci_msi_parse_madt(struct acpi_subtable_header *header,
> +		       const unsigned long end)
> +{
> +	struct acpi_madt_generic_translator *its_entry;
> +	struct fwnode_handle *dom_handle;
> +	const char *node_name;
> +	int err = -ENXIO;
> +
> +	its_entry = (struct acpi_madt_generic_translator *)header;
> +	node_name = kasprintf(GFP_KERNEL, "ITS@0x%lx",
> +			      (long)its_entry->base_address);
> +	dom_handle = iort_find_domain_token(its_entry->translation_id);
> +	if (!dom_handle) {
> +		pr_err("%s: Unable to locate ITS domain handle\n", node_name);
> +		goto out;
> +	}
> +
> +	err = its_pci_msi_init_one(dom_handle, node_name);
> +	if (!err)
> +		pr_info("PCI/MSI: %s domain created\n", node_name);
> +
> +out:
> +	kfree(node_name);
> +	return err;
> +}
> +
> +static int __init its_pci_acpi_msi_init(void)
> +{
> +	acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR,
> +			      its_pci_msi_parse_madt, 0);
> +	return 0;
> +}
> +#else
> +static int __init its_pci_acpi_msi_init(void)
> +{
> +	return 0;
> +}
> +#endif
> +
>  static int __init its_pci_msi_init(void)
>  {
>  	its_pci_of_msi_init();
> +	its_pci_acpi_msi_init();
>
>  	return 0;
>  }

Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>

Thanks
Hanjun

WARNING: multiple messages have this Message-ID (diff)
From: Hanjun Guo <hanjun.guo@linaro.org>
To: Tomasz Nowicki <tn@semihalf.com>,
	marc.zyngier@arm.com, tglx@linutronix.de, jason@lakedaemon.net,
	rjw@rjwysocki.net, bhelgaas@google.com,
	lorenzo.pieralisi@arm.com, robert.richter@caviumnetworks.com,
	shijie.huang@arm.com, Suravee.Suthikulpanit@amd.com
Cc: al.stone@linaro.org, mw@semihalf.com, graeme.gregory@linaro.org,
	Catalin.Marinas@arm.com, will.deacon@arm.com,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, ddaney.cavm@gmail.com,
	okaya@codeaurora.org, andrea.gallo@linaro.org,
	linux-pci@vger.kernel.org
Subject: Re: [PATCH V7 8/8] irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
Date: Tue, 21 Jun 2016 16:19:21 +0800	[thread overview]
Message-ID: <d5dbe248-673e-698a-7e92-cf4ccdd2051f@linaro.org> (raw)
In-Reply-To: <1466420541-20101-9-git-send-email-tn@semihalf.com>

On 2016/6/20 19:02, Tomasz Nowicki wrote:
> Let ACPI build ITS PCI MSI domain. ACPI code is responsible for retrieving
> inner domain token and passing it on to its_pci_msi_init_one generic
> init call.
>
> IORT maintains list of registered domain tokens and allows to find
> corresponding domain based on MADT ITS subtable ID info.
>
> Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
>  drivers/irqchip/irq-gic-v3-its-pci-msi.c | 44 ++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
>
> diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> index d2c2496..ae7221c 100644
> --- a/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> +++ b/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> @@ -15,6 +15,7 @@
>   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
>   */
>
> +#include <linux/iort.h>
>  #include <linux/msi.h>
>  #include <linux/of.h>
>  #include <linux/of_irq.h>
> @@ -144,9 +145,52 @@ static int __init its_pci_of_msi_init(void)
>  	return 0;
>  }
>
> +#ifdef CONFIG_ACPI
> +
> +static int __init
> +its_pci_msi_parse_madt(struct acpi_subtable_header *header,
> +		       const unsigned long end)
> +{
> +	struct acpi_madt_generic_translator *its_entry;
> +	struct fwnode_handle *dom_handle;
> +	const char *node_name;
> +	int err = -ENXIO;
> +
> +	its_entry = (struct acpi_madt_generic_translator *)header;
> +	node_name = kasprintf(GFP_KERNEL, "ITS@0x%lx",
> +			      (long)its_entry->base_address);
> +	dom_handle = iort_find_domain_token(its_entry->translation_id);
> +	if (!dom_handle) {
> +		pr_err("%s: Unable to locate ITS domain handle\n", node_name);
> +		goto out;
> +	}
> +
> +	err = its_pci_msi_init_one(dom_handle, node_name);
> +	if (!err)
> +		pr_info("PCI/MSI: %s domain created\n", node_name);
> +
> +out:
> +	kfree(node_name);
> +	return err;
> +}
> +
> +static int __init its_pci_acpi_msi_init(void)
> +{
> +	acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR,
> +			      its_pci_msi_parse_madt, 0);
> +	return 0;
> +}
> +#else
> +static int __init its_pci_acpi_msi_init(void)
> +{
> +	return 0;
> +}
> +#endif
> +
>  static int __init its_pci_msi_init(void)
>  {
>  	its_pci_of_msi_init();
> +	its_pci_acpi_msi_init();
>
>  	return 0;
>  }

Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>

Thanks
Hanjun

WARNING: multiple messages have this Message-ID (diff)
From: Hanjun Guo <hanjun.guo@linaro.org>
To: Tomasz Nowicki <tn@semihalf.com>,
	marc.zyngier@arm.com, tglx@linutronix.de, jason@lakedaemon.net,
	rjw@rjwysocki.net, bhelgaas@google.com,
	lorenzo.pieralisi@arm.com, robert.richter@caviumnetworks.com,
	shijie.huang@arm.com, Suravee.Suthikulpanit@amd.com
Cc: al.stone@linaro.org, graeme.gregory@linaro.org,
	Catalin.Marinas@arm.com, will.deacon@arm.com,
	linux-kernel@vger.kernel.org, okaya@codeaurora.org,
	linux-acpi@vger.kernel.org, ddaney.cavm@gmail.com,
	linux-pci@vger.kernel.org, mw@semihalf.com,
	andrea.gallo@linaro.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH V7 8/8] irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
Date: Tue, 21 Jun 2016 16:19:21 +0800	[thread overview]
Message-ID: <d5dbe248-673e-698a-7e92-cf4ccdd2051f@linaro.org> (raw)
In-Reply-To: <1466420541-20101-9-git-send-email-tn@semihalf.com>

On 2016/6/20 19:02, Tomasz Nowicki wrote:
> Let ACPI build ITS PCI MSI domain. ACPI code is responsible for retrieving
> inner domain token and passing it on to its_pci_msi_init_one generic
> init call.
>
> IORT maintains list of registered domain tokens and allows to find
> corresponding domain based on MADT ITS subtable ID info.
>
> Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
>  drivers/irqchip/irq-gic-v3-its-pci-msi.c | 44 ++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
>
> diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> index d2c2496..ae7221c 100644
> --- a/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> +++ b/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> @@ -15,6 +15,7 @@
>   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
>   */
>
> +#include <linux/iort.h>
>  #include <linux/msi.h>
>  #include <linux/of.h>
>  #include <linux/of_irq.h>
> @@ -144,9 +145,52 @@ static int __init its_pci_of_msi_init(void)
>  	return 0;
>  }
>
> +#ifdef CONFIG_ACPI
> +
> +static int __init
> +its_pci_msi_parse_madt(struct acpi_subtable_header *header,
> +		       const unsigned long end)
> +{
> +	struct acpi_madt_generic_translator *its_entry;
> +	struct fwnode_handle *dom_handle;
> +	const char *node_name;
> +	int err = -ENXIO;
> +
> +	its_entry = (struct acpi_madt_generic_translator *)header;
> +	node_name = kasprintf(GFP_KERNEL, "ITS@0x%lx",
> +			      (long)its_entry->base_address);
> +	dom_handle = iort_find_domain_token(its_entry->translation_id);
> +	if (!dom_handle) {
> +		pr_err("%s: Unable to locate ITS domain handle\n", node_name);
> +		goto out;
> +	}
> +
> +	err = its_pci_msi_init_one(dom_handle, node_name);
> +	if (!err)
> +		pr_info("PCI/MSI: %s domain created\n", node_name);
> +
> +out:
> +	kfree(node_name);
> +	return err;
> +}
> +
> +static int __init its_pci_acpi_msi_init(void)
> +{
> +	acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR,
> +			      its_pci_msi_parse_madt, 0);
> +	return 0;
> +}
> +#else
> +static int __init its_pci_acpi_msi_init(void)
> +{
> +	return 0;
> +}
> +#endif
> +
>  static int __init its_pci_msi_init(void)
>  {
>  	its_pci_of_msi_init();
> +	its_pci_acpi_msi_init();
>
>  	return 0;
>  }

Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>

Thanks
Hanjun

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: hanjun.guo@linaro.org (Hanjun Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V7 8/8] irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
Date: Tue, 21 Jun 2016 16:19:21 +0800	[thread overview]
Message-ID: <d5dbe248-673e-698a-7e92-cf4ccdd2051f@linaro.org> (raw)
In-Reply-To: <1466420541-20101-9-git-send-email-tn@semihalf.com>

On 2016/6/20 19:02, Tomasz Nowicki wrote:
> Let ACPI build ITS PCI MSI domain. ACPI code is responsible for retrieving
> inner domain token and passing it on to its_pci_msi_init_one generic
> init call.
>
> IORT maintains list of registered domain tokens and allows to find
> corresponding domain based on MADT ITS subtable ID info.
>
> Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
>  drivers/irqchip/irq-gic-v3-its-pci-msi.c | 44 ++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
>
> diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> index d2c2496..ae7221c 100644
> --- a/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> +++ b/drivers/irqchip/irq-gic-v3-its-pci-msi.c
> @@ -15,6 +15,7 @@
>   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
>   */
>
> +#include <linux/iort.h>
>  #include <linux/msi.h>
>  #include <linux/of.h>
>  #include <linux/of_irq.h>
> @@ -144,9 +145,52 @@ static int __init its_pci_of_msi_init(void)
>  	return 0;
>  }
>
> +#ifdef CONFIG_ACPI
> +
> +static int __init
> +its_pci_msi_parse_madt(struct acpi_subtable_header *header,
> +		       const unsigned long end)
> +{
> +	struct acpi_madt_generic_translator *its_entry;
> +	struct fwnode_handle *dom_handle;
> +	const char *node_name;
> +	int err = -ENXIO;
> +
> +	its_entry = (struct acpi_madt_generic_translator *)header;
> +	node_name = kasprintf(GFP_KERNEL, "ITS at 0x%lx",
> +			      (long)its_entry->base_address);
> +	dom_handle = iort_find_domain_token(its_entry->translation_id);
> +	if (!dom_handle) {
> +		pr_err("%s: Unable to locate ITS domain handle\n", node_name);
> +		goto out;
> +	}
> +
> +	err = its_pci_msi_init_one(dom_handle, node_name);
> +	if (!err)
> +		pr_info("PCI/MSI: %s domain created\n", node_name);
> +
> +out:
> +	kfree(node_name);
> +	return err;
> +}
> +
> +static int __init its_pci_acpi_msi_init(void)
> +{
> +	acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR,
> +			      its_pci_msi_parse_madt, 0);
> +	return 0;
> +}
> +#else
> +static int __init its_pci_acpi_msi_init(void)
> +{
> +	return 0;
> +}
> +#endif
> +
>  static int __init its_pci_msi_init(void)
>  {
>  	its_pci_of_msi_init();
> +	its_pci_acpi_msi_init();
>
>  	return 0;
>  }

Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>

Thanks
Hanjun

  reply	other threads:[~2016-06-21  8:19 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-20 11:02 [PATCH V7 0/8] Introduce ACPI world to ITS irqchip Tomasz Nowicki
2016-06-20 11:02 ` Tomasz Nowicki
2016-06-20 11:02 ` Tomasz Nowicki
2016-06-20 11:02 ` [PATCH V7 1/8] ACPI: I/O Remapping Table (IORT) initial support Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-21  7:12   ` Hanjun Guo
2016-06-21  7:12     ` Hanjun Guo
2016-06-21  7:12     ` Hanjun Guo
2016-06-21  7:12     ` Hanjun Guo
2016-06-22 10:50     ` Marc Zyngier
2016-06-22 10:50       ` Marc Zyngier
2016-06-22 11:06       ` Tomasz Nowicki
2016-06-22 11:06         ` Tomasz Nowicki
2016-06-22 12:03         ` Marc Zyngier
2016-06-22 12:03           ` Marc Zyngier
2016-06-21 11:23   ` Lorenzo Pieralisi
2016-06-21 11:23     ` Lorenzo Pieralisi
2016-06-21 17:36   ` Lorenzo Pieralisi
2016-06-21 17:36     ` Lorenzo Pieralisi
2016-06-22 12:35   ` Tomasz Nowicki
2016-06-22 12:35     ` Tomasz Nowicki
2016-06-22 12:35     ` Tomasz Nowicki
2016-06-22 12:40     ` Tomasz Nowicki
2016-06-22 12:40       ` Tomasz Nowicki
2016-06-22 12:40       ` Tomasz Nowicki
2016-06-22 12:40       ` Tomasz Nowicki
2016-06-22 13:25     ` Marc Zyngier
2016-06-22 13:25       ` Marc Zyngier
2016-06-22 13:52       ` Tomasz Nowicki
2016-06-22 13:52         ` Tomasz Nowicki
2016-06-22 13:52         ` Tomasz Nowicki
2016-06-22 14:51         ` Marc Zyngier
2016-06-22 14:51           ` Marc Zyngier
2016-06-23  1:34           ` Hanjun Guo
2016-06-23  1:34             ` Hanjun Guo
2016-06-23  1:34             ` Hanjun Guo
2016-07-26 13:19             ` Christopher Covington
2016-07-26 13:19               ` Christopher Covington
2016-07-26 13:19               ` Christopher Covington
2016-07-26 14:48               ` Marc Zyngier
2016-07-26 14:48                 ` Marc Zyngier
2016-07-26 14:48                 ` Marc Zyngier
2016-06-20 11:02 ` [PATCH V7 2/8] ACPI: Add new IORT functions to support MSI domain handling Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-21  7:28   ` Hanjun Guo
2016-06-21  7:28     ` Hanjun Guo
2016-06-20 11:02 ` [PATCH V7 3/8] PCI/MSI: Setup MSI domain on a per-device basis using IORT ACPI table Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-21  7:33   ` Hanjun Guo
2016-06-21  7:33     ` Hanjun Guo
2016-07-19 21:42   ` Bjorn Helgaas
2016-07-19 21:42     ` Bjorn Helgaas
2016-06-20 11:02 ` [PATCH V7 4/8] irqchip/gicv3-its: Cleanup for ITS domain initialization Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-21  7:44   ` Hanjun Guo
2016-06-21  7:44     ` Hanjun Guo
2016-06-21  7:44     ` Hanjun Guo
2016-06-21  7:44     ` Hanjun Guo
2016-06-20 11:02 ` [PATCH V7 5/8] irqchip/gicv3-its: Refactor ITS DT init code to prepare for ACPI Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02 ` [PATCH V7 6/8] irqchip/gicv3-its: Probe ITS in the ACPI way Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-21  8:03   ` Hanjun Guo
2016-06-21  8:03     ` Hanjun Guo
2016-06-21  8:03     ` Hanjun Guo
2016-06-20 11:02 ` [PATCH V7 7/8] irqchip/gicv3-its: Factor out code that might be reused for ACPI Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02 ` [PATCH V7 8/8] irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-20 11:02   ` Tomasz Nowicki
2016-06-21  8:19   ` Hanjun Guo [this message]
2016-06-21  8:19     ` Hanjun Guo
2016-06-21  8:19     ` Hanjun Guo
2016-06-21  8:19     ` Hanjun Guo
2016-06-20 17:31 ` [PATCH V7 0/8] Introduce ACPI world to ITS irqchip Shanker Donthineni
2016-06-20 17:31   ` Shanker Donthineni
2016-06-20 17:31   ` Shanker Donthineni
2016-06-24 11:04 ` Tomasz Nowicki
2016-06-24 11:04   ` Tomasz Nowicki
2016-08-09 10:45 ` Robert Richter
2016-08-09 10:45   ` Robert Richter
2016-08-09 10:45   ` Robert Richter
2016-08-09 10:45   ` Robert Richter

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=d5dbe248-673e-698a-7e92-cf4ccdd2051f@linaro.org \
    --to=hanjun.guo@linaro.org \
    --cc=Catalin.Marinas@arm.com \
    --cc=Suravee.Suthikulpanit@amd.com \
    --cc=al.stone@linaro.org \
    --cc=andrea.gallo@linaro.org \
    --cc=bhelgaas@google.com \
    --cc=ddaney.cavm@gmail.com \
    --cc=graeme.gregory@linaro.org \
    --cc=jason@lakedaemon.net \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=marc.zyngier@arm.com \
    --cc=mw@semihalf.com \
    --cc=okaya@codeaurora.org \
    --cc=rjw@rjwysocki.net \
    --cc=robert.richter@caviumnetworks.com \
    --cc=shijie.huang@arm.com \
    --cc=tglx@linutronix.de \
    --cc=tn@semihalf.com \
    --cc=will.deacon@arm.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.