From: Marc Zyngier <marc.zyngier@arm.com>
To: Lokesh Vutla <lokeshvutla@ti.com>, Nishanth Menon <nm@ti.com>,
Santosh Shilimkar <ssantosh@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
tglx@linutronix.de, jason@lakedaemon.net
Cc: Device Tree Mailing List <devicetree@vger.kernel.org>,
Peter Ujfalusi <peter.ujfalusi@ti.com>,
Sekhar Nori <nsekhar@ti.com>,
linux-kernel@vger.kernel.org, Tero Kristo <t-kristo@ti.com>,
Linux ARM Mailing List <linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC PATCH v4 09/13] genirq/msi: Add support for .msi_unprepare callback
Date: Thu, 17 Jan 2019 10:39:36 +0000 [thread overview]
Message-ID: <c4736b58-08e9-eac3-fea1-5bbab7140388@arm.com> (raw)
In-Reply-To: <20181227061313.5451-9-lokeshvutla@ti.com>
On 27/12/2018 06:13, Lokesh Vutla wrote:
> Add an optional callback .msi_unprepare to struct msi_domain_ops.
> This is used to clear any effect that is done by .msi_prepare callback.
>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> ---
> include/linux/msi.h | 3 +++
> kernel/irq/msi.c | 10 ++++++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index 474490826f8c..f35dd19f6c69 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -239,6 +239,8 @@ struct msi_domain_ops {
> int (*msi_prepare)(struct irq_domain *domain,
> struct device *dev, int nvec,
> msi_alloc_info_t *arg);
> + void (*msi_unprepare)(struct irq_domain *domain, int nvec,
> + void *data);
> void (*msi_finish)(msi_alloc_info_t *arg, int retval);
> void (*set_desc)(msi_alloc_info_t *arg,
> struct msi_desc *desc);
> @@ -319,6 +321,7 @@ void platform_msi_domain_free_irqs(struct device *dev);
> /* When an MSI domain is used as an intermediate domain */
> int msi_domain_prepare_irqs(struct irq_domain *domain, struct device *dev,
> int nvec, msi_alloc_info_t *args);
> +void msi_domain_unprepare_irqs(struct irq_domain *domain, int nvec, void *data);
> int msi_domain_populate_irqs(struct irq_domain *domain, struct device *dev,
> int virq, int nvec, msi_alloc_info_t *args);
> struct irq_domain *
> diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
> index eb7459324113..1a1738690519 100644
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -312,6 +312,16 @@ int msi_domain_prepare_irqs(struct irq_domain *domain, struct device *dev,
> return ret;
> }
>
> +void msi_domain_unprepare_irqs(struct irq_domain *domain, int nvec,
> + void *data)
> +{
> + struct msi_domain_info *info = domain->host_data;
> + struct msi_domain_ops *ops = info->ops;
> +
> + if (ops->msi_unprepare)
> + ops->msi_unprepare(domain, nvec, data);
> +}
> +
> int msi_domain_populate_irqs(struct irq_domain *domain, struct device *dev,
> int virq, int nvec, msi_alloc_info_t *arg)
> {
>
Again, this needs justification. What does this brings to the table?
What does this callback do that cannot be done when the MSI are freed?
Also, this only makes sense if it is plugged into the MSI framework. On
its own, this is pretty useless. This makes me think that there is a gap
in the way your MSI controller driver interacts with the reset of the
MSI code.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-01-17 10:39 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-27 6:08 [PATCH v4 00/13] Add support for TISCI irqchip drivers Lokesh Vutla
2018-12-27 6:13 ` [PATCH v4 01/13] firmware: ti_sci: Add support to get TISCI handle using of_phandle Lokesh Vutla
2018-12-27 6:13 ` [PATCH v4 02/13] firmware: ti_sci: Add support for RM core ops Lokesh Vutla
2018-12-27 6:13 ` [PATCH v4 03/13] firmware: ti_sci: Add support for IRQ management Lokesh Vutla
2018-12-27 6:13 ` [PATCH v4 04/13] firmware: ti_sci: Add RM mapping table for am654 Lokesh Vutla
2018-12-27 6:13 ` [PATCH v4 05/13] firmware: ti_sci: Add helper apis to manage resources Lokesh Vutla
2018-12-27 16:15 ` Nishanth Menon
2018-12-27 6:13 ` [PATCH v4 06/13] dt-bindings: irqchip: Introduce TISCI Interrupt router bindings Lokesh Vutla
2018-12-27 6:13 ` [PATCH v4 07/13] irqchip: ti-sci-intr: Add support for Interrupt Router driver Lokesh Vutla
2019-01-16 17:16 ` Marc Zyngier
2019-01-24 10:19 ` Lokesh Vutla
2018-12-27 6:13 ` [RFC PATCH v4 08/13] genirq/msi: Add support for allocating single MSI for a device Lokesh Vutla
2019-01-16 18:30 ` Marc Zyngier
2019-01-24 10:19 ` Lokesh Vutla
2019-02-04 10:33 ` Marc Zyngier
2019-02-05 13:42 ` Lokesh Vutla
2019-02-08 10:39 ` Marc Zyngier
2018-12-27 6:13 ` [RFC PATCH v4 09/13] genirq/msi: Add support for .msi_unprepare callback Lokesh Vutla
2019-01-17 10:39 ` Marc Zyngier [this message]
2018-12-27 6:13 ` [RFC PATCH v4 10/13] soc: ti: Add MSI domain support for K3 Interrupt Aggregator Lokesh Vutla
2019-01-15 14:41 ` Nishanth Menon
2018-12-27 6:13 ` [RFC PATCH v4 11/13] dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings Lokesh Vutla
2018-12-27 6:13 ` [RFC PATCH v4 12/13] irqchip: ti-sci-inta: Add support for Interrupt Aggregator driver Lokesh Vutla
2019-01-02 11:49 ` Peter Ujfalusi
2019-01-02 12:26 ` Lokesh Vutla
2019-01-15 12:38 ` Tero Kristo
2019-01-15 14:04 ` Nishanth Menon
2018-12-27 6:13 ` [RFC PATCH v4 13/13] soc: ti: am6: Enable interrupt controller drivers Lokesh Vutla
2019-01-15 13:54 ` Nishanth Menon
2019-01-02 11:58 ` [PATCH v4 00/13] Add support for TISCI irqchip drivers Peter Ujfalusi
2019-01-11 10:28 ` Lokesh Vutla
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=c4736b58-08e9-eac3-fea1-5bbab7140388@arm.com \
--to=marc.zyngier@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lokeshvutla@ti.com \
--cc=nm@ti.com \
--cc=nsekhar@ti.com \
--cc=peter.ujfalusi@ti.com \
--cc=robh+dt@kernel.org \
--cc=ssantosh@kernel.org \
--cc=t-kristo@ti.com \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox