From: Marc Zyngier <marc.zyngier@arm.com>
To: David Daney <ddaney.cavm@gmail.com>,
linux-arm-kernel@lists.infradead.org,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
Bjorn Helgaas <bhelgaas@google.com>,
linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
Jason Cooper <jason@lakedaemon.net>
Cc: Robert Richter <rrichter@cavium.com>,
linux-kernel@vger.kernel.org,
David Daney <david.daney@cavium.com>
Subject: Re: [PATCH 2/5] gic-its: Allow pci_requester_id to be overridden.
Date: Wed, 15 Jul 2015 18:30:36 +0100 [thread overview]
Message-ID: <55A698BC.2060308@arm.com> (raw)
In-Reply-To: <1436979285-8177-3-git-send-email-ddaney.cavm@gmail.com>
On 15/07/15 17:54, David Daney wrote:
> From: David Daney <david.daney@cavium.com>
>
> Signed-off-by: David Daney <david.daney@cavium.com>
> ---
> drivers/irqchip/irq-gic-v3-its.c | 14 +++++++++++++-
> include/linux/irqchip/arm-gic-v3.h | 2 ++
> 2 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index 1b7e155..4580970 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -1189,11 +1189,23 @@ static int its_pci_msi_vec_count(struct pci_dev *pdev)
> return max(msi, msix);
> }
>
> +static u32 its_dflt_pci_requester_id(struct pci_dev *pdev, u16 alias)
> +{
> + return alias;
> +}
> +
> +static its_pci_requester_id_t its_pci_requester_id = its_dflt_pci_requester_id;
> +void set_its_pci_requester_id(its_pci_requester_id_t fn)
> +{
> + its_pci_requester_id = fn;
> +}
> +EXPORT_SYMBOL(set_its_pci_requester_id);
> +
> static int its_get_pci_alias(struct pci_dev *pdev, u16 alias, void *data)
> {
> struct its_pci_alias *dev_alias = data;
>
> - dev_alias->dev_id = alias;
> + dev_alias->dev_id = its_pci_requester_id(pdev, alias);
> if (pdev != dev_alias->pdev)
> dev_alias->count += its_pci_msi_vec_count(dev_alias->pdev);
>
> diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h
> index ffbc034..18e3757 100644
> --- a/include/linux/irqchip/arm-gic-v3.h
> +++ b/include/linux/irqchip/arm-gic-v3.h
> @@ -389,6 +389,8 @@ int its_cpu_init(void);
> int its_init(struct device_node *node, struct rdists *rdists,
> struct irq_domain *domain);
>
> +typedef u32 (*its_pci_requester_id_t)(struct pci_dev *, u16);
> +void set_its_pci_requester_id(its_pci_requester_id_t fn);
> #endif
>
> #endif
>
This has already been proposed, and I already spoke my mind about that
sort of approach (just in case you had any doubt, this is a NAK).
If you have a new fancy kind of aliasing, please extend the capabilities
of pci_for_each_dma_alias or describe it in terms of topological
information that can be parsed.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/5] gic-its: Allow pci_requester_id to be overridden.
Date: Wed, 15 Jul 2015 18:30:36 +0100 [thread overview]
Message-ID: <55A698BC.2060308@arm.com> (raw)
In-Reply-To: <1436979285-8177-3-git-send-email-ddaney.cavm@gmail.com>
On 15/07/15 17:54, David Daney wrote:
> From: David Daney <david.daney@cavium.com>
>
> Signed-off-by: David Daney <david.daney@cavium.com>
> ---
> drivers/irqchip/irq-gic-v3-its.c | 14 +++++++++++++-
> include/linux/irqchip/arm-gic-v3.h | 2 ++
> 2 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index 1b7e155..4580970 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -1189,11 +1189,23 @@ static int its_pci_msi_vec_count(struct pci_dev *pdev)
> return max(msi, msix);
> }
>
> +static u32 its_dflt_pci_requester_id(struct pci_dev *pdev, u16 alias)
> +{
> + return alias;
> +}
> +
> +static its_pci_requester_id_t its_pci_requester_id = its_dflt_pci_requester_id;
> +void set_its_pci_requester_id(its_pci_requester_id_t fn)
> +{
> + its_pci_requester_id = fn;
> +}
> +EXPORT_SYMBOL(set_its_pci_requester_id);
> +
> static int its_get_pci_alias(struct pci_dev *pdev, u16 alias, void *data)
> {
> struct its_pci_alias *dev_alias = data;
>
> - dev_alias->dev_id = alias;
> + dev_alias->dev_id = its_pci_requester_id(pdev, alias);
> if (pdev != dev_alias->pdev)
> dev_alias->count += its_pci_msi_vec_count(dev_alias->pdev);
>
> diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h
> index ffbc034..18e3757 100644
> --- a/include/linux/irqchip/arm-gic-v3.h
> +++ b/include/linux/irqchip/arm-gic-v3.h
> @@ -389,6 +389,8 @@ int its_cpu_init(void);
> int its_init(struct device_node *node, struct rdists *rdists,
> struct irq_domain *domain);
>
> +typedef u32 (*its_pci_requester_id_t)(struct pci_dev *, u16);
> +void set_its_pci_requester_id(its_pci_requester_id_t fn);
> #endif
>
> #endif
>
This has already been proposed, and I already spoke my mind about that
sort of approach (just in case you had any doubt, this is a NAK).
If you have a new fancy kind of aliasing, please extend the capabilities
of pci_for_each_dma_alias or describe it in terms of topological
information that can be parsed.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2015-07-15 17:30 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-15 16:54 [PATCH 0/5] arm64, pci: Add ECAM/PCIe support for Cavium ThunderX David Daney
2015-07-15 16:54 ` David Daney
2015-07-15 16:54 ` [PATCH 1/5] pci: Add is_pcierc element to struct pci_bus David Daney
2015-07-15 16:54 ` David Daney
2015-07-15 16:54 ` [PATCH 2/5] gic-its: Allow pci_requester_id to be overridden David Daney
2015-07-15 16:54 ` David Daney
2015-07-15 17:30 ` Marc Zyngier [this message]
2015-07-15 17:30 ` Marc Zyngier
2015-08-20 14:11 ` Pavel Fedin
2015-08-20 14:11 ` Pavel Fedin
2015-08-20 15:23 ` David Daney
2015-08-20 15:23 ` David Daney
2015-08-25 11:01 ` Pavel Fedin
2015-08-25 11:01 ` Pavel Fedin
2015-07-15 16:54 ` [PATCH 3/5] arm64, pci: Allow RC drivers to supply pcibios_add_device() implementation David Daney
2015-07-15 16:54 ` David Daney
2015-07-16 9:04 ` Lorenzo Pieralisi
2015-07-16 9:04 ` Lorenzo Pieralisi
2015-07-16 17:00 ` David Daney
2015-07-16 17:00 ` David Daney
2015-07-17 11:00 ` Lorenzo Pieralisi
2015-07-17 11:00 ` Lorenzo Pieralisi
2015-07-17 16:38 ` David Daney
2015-07-17 16:38 ` David Daney
2015-07-17 17:15 ` Mark Rutland
2015-07-17 17:15 ` Mark Rutland
2015-07-15 16:54 ` [PATCH 4/5] irqchip: gic-v3: Add gic_get_irq_domain() to get the irqdomain of the GIC David Daney
2015-07-15 16:54 ` David Daney
2015-07-15 17:12 ` Marc Zyngier
2015-07-15 17:12 ` Marc Zyngier
2015-07-15 18:57 ` David Daney
2015-07-15 18:57 ` David Daney
2015-07-16 7:38 ` Marc Zyngier
2015-07-16 7:38 ` Marc Zyngier
2015-07-16 16:50 ` David Daney
2015-07-16 16:50 ` David Daney
2015-07-16 17:09 ` Marc Zyngier
2015-07-16 17:09 ` Marc Zyngier
2015-07-16 17:14 ` David Daney
2015-07-16 17:14 ` David Daney
2015-07-16 17:32 ` Marc Zyngier
2015-07-16 17:32 ` Marc Zyngier
2015-07-17 6:45 ` Marc Zyngier
2015-07-17 6:45 ` Marc Zyngier
2015-07-15 16:54 ` [PATCH 5/5] PCI: Add host drivers for Cavium ThunderX processors David Daney
2015-07-15 16:54 ` David Daney
2015-07-15 17:44 ` Mark Rutland
2015-07-15 17:44 ` Mark Rutland
2015-07-15 17:48 ` Marc Zyngier
2015-07-15 17:48 ` Marc Zyngier
2015-07-16 8:31 ` Paul Bolle
2015-07-16 8:31 ` Paul Bolle
2015-07-16 16:52 ` David Daney
2015-07-16 16:52 ` David Daney
2015-07-16 13:06 ` Lorenzo Pieralisi
2015-07-16 13:06 ` Lorenzo Pieralisi
2015-07-17 12:12 ` Arnd Bergmann
2015-07-17 12:12 ` Arnd Bergmann
2015-07-15 17:07 ` [PATCH 0/5] arm64, pci: Add ECAM/PCIe support for Cavium ThunderX Mark Rutland
2015-07-15 17:07 ` Mark Rutland
2015-07-15 17:29 ` Will Deacon
2015-07-15 17:29 ` Will Deacon
2015-07-16 17:25 ` Thomas Gleixner
2015-07-16 17:25 ` Thomas Gleixner
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=55A698BC.2060308@arm.com \
--to=marc.zyngier@arm.com \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=david.daney@cavium.com \
--cc=ddaney.cavm@gmail.com \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=rrichter@cavium.com \
--cc=tglx@linutronix.de \
--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.