linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gabriele Paoloni <gabriele.paoloni@huawei.com>
To: Marc Zyngier <marc.zyngier@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jiang Liu <jiang.liu@linux.intel.com>,
	Jason Cooper <jason@lakedaemon.net>
Cc: "majun (F)" <majun258@huawei.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH RFC 4/7] genirq/msi: Make the .prepare callback reusable
Date: Thu, 15 Oct 2015 17:24:35 +0000	[thread overview]
Message-ID: <EE11001F9E5DDD47B7634E2F8A612F2E1624783E@lhreml503-mbs> (raw)
In-Reply-To: <1444923568-17413-5-git-send-email-marc.zyngier@arm.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="gb2312", Size: 3173 bytes --]

Hi Marc

It looks like this patch fails to apply to 4.3-rc5....

Gab

> -----Original Message-----
> From: linux-pci-owner@vger.kernel.org [mailto:linux-pci-
> owner@vger.kernel.org] On Behalf Of Marc Zyngier
> Sent: Thursday, October 15, 2015 4:39 PM
> To: Thomas Gleixner; Jiang Liu; Jason Cooper
> Cc: majun (F); linux-arm-kernel@lists.infradead.org; linux-
> pci@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: [PATCH RFC 4/7] genirq/msi: Make the .prepare callback
> reusable
> 
> The .prepare callbacks are so far only called from
> msi_domain_alloc_irqs.
> In order to reuse that code, split that code and create a
> msi_domain_prepare_irqs function that the existing code can call into.
> 
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
>  include/linux/msi.h |  4 ++++
>  kernel/irq/msi.c    | 20 +++++++++++++++++---
>  2 files changed, 21 insertions(+), 3 deletions(-)
> 
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index 32a24b9..5bb36a9 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -277,6 +277,10 @@ struct irq_domain
> *platform_msi_create_irq_domain(struct fwnode_handle *fwnode,
>  int platform_msi_domain_alloc_irqs(struct device *dev, unsigned int
> nvec,
>  				   irq_write_msi_msg_t write_msi_msg);
>  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);
>  #endif /* CONFIG_GENERIC_MSI_IRQ_DOMAIN */
> 
>  #ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
> diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
> index 95354bb..8e6e112 100644
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -256,6 +256,22 @@ struct irq_domain *msi_create_irq_domain(struct
> fwnode_handle *fwnode,
>  					   &msi_domain_ops, info);
>  }
> 
> +int msi_domain_prepare_irqs(struct irq_domain *domain, struct device
> *dev,
> +			    int nvec, msi_alloc_info_t *arg)
> +{
> +	struct msi_domain_info *info = domain->host_data;
> +	struct msi_domain_ops *ops = info->ops;
> +	int ret;
> +
> +	ret = ops->msi_check(domain, info, dev);
> +	if (ret == 0)
> +		ret = ops->msi_prepare(domain, dev, nvec, arg);
> +	if (ret)
> +		return ret;
> +
> +	return 0;
> +}
> +
>  /**
>   * msi_domain_alloc_irqs - Allocate interrupts from a MSI interrupt
> domain
>   * @domain:	The domain to allocate from
> @@ -274,9 +290,7 @@ int msi_domain_alloc_irqs(struct irq_domain *domain,
> struct device *dev,
>  	struct msi_desc *desc;
>  	int i, ret, virq = -1;
> 
> -	ret = ops->msi_check(domain, info, dev);
> -	if (ret == 0)
> -		ret = ops->msi_prepare(domain, dev, nvec, &arg);
> +	ret = msi_domain_prepare_irqs(domain, dev, nvec, &arg);
>  	if (ret)
>  		return ret;
> 
> --
> 2.1.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

  reply	other threads:[~2015-10-15 17:25 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-15 15:39 [PATCH RFC 0/7] Adding core support for wire-MSI bridges Marc Zyngier
2015-10-15 15:39 ` [PATCH RFC 1/7] platform-msi: Allow MSIs to be allocated in chunks Marc Zyngier
2015-10-15 15:39 ` [PATCH RFC 2/7] platform-msi: Factor out allocation/free of private data Marc Zyngier
2015-10-16  5:46   ` Jiang Liu
2015-10-16  8:50     ` Marc Zyngier
2015-10-15 15:39 ` [PATCH RFC 3/7] irqdomain: Make irq_domain_alloc_irqs_recursive available Marc Zyngier
2015-10-15 15:39 ` [PATCH RFC 4/7] genirq/msi: Make the .prepare callback reusable Marc Zyngier
2015-10-15 17:24   ` Gabriele Paoloni [this message]
2015-10-15 17:39     ` Marc Zyngier
2015-10-16 13:07       ` Gabriele Paoloni
2015-10-16  5:45   ` Jiang Liu
2015-10-16  8:48     ` Marc Zyngier
2015-10-15 15:39 ` [PATCH RFC 5/7] genirq/msi: Add msi_domain_populate_irqs Marc Zyngier
2015-10-15 15:39 ` [PATCH RFC 6/7] platform-msi: Allow creation of a MSI-based stacked irq domain Marc Zyngier
2015-10-15 15:39 ` [PATCH RFC 7/7] irqchip: [Example] dummy wired interrupt/MSI bridge driver Marc Zyngier
2015-11-04  8:00   ` majun (F)
2015-11-04  9:03     ` Marc Zyngier
2015-11-05  8:25       ` Gabriele Paoloni
2015-11-05  9:35         ` Marc Zyngier
2015-11-05  9:43           ` Gabriele Paoloni
2015-10-15 15:46 ` [PATCH RFC 0/7] Adding core support for wire-MSI bridges Arnd Bergmann
2015-10-15 16:01   ` Marc Zyngier
2015-10-15 19:16     ` Arnd Bergmann
2015-10-16  8:03       ` Marc Zyngier
2015-10-16  8:45         ` Arnd Bergmann
2015-10-16  1:55 ` Jiang Liu
2015-10-16  8:48   ` Marc Zyngier
2015-11-04 13:34     ` Thomas Gleixner
2015-11-05 12:22       ` Marc Zyngier
2015-11-05 12: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=EE11001F9E5DDD47B7634E2F8A612F2E1624783E@lhreml503-mbs \
    --to=gabriele.paoloni@huawei.com \
    --cc=jason@lakedaemon.net \
    --cc=jiang.liu@linux.intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=majun258@huawei.com \
    --cc=marc.zyngier@arm.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;
as well as URLs for NNTP newsgroup(s).