All of lore.kernel.org
 help / color / mirror / Atom feed
From: jiang.liu@linux.intel.com (Jiang Liu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] [RFC] Using hierarchy irqdomian to implement MTK intpol.
Date: Thu, 25 Sep 2014 11:04:37 +0800	[thread overview]
Message-ID: <54238645.8090502@linux.intel.com> (raw)
In-Reply-To: <1411611417.21763.56.camel@mtksdaap41>

Hi Joe,
	Thanks, I will merge them into my next version.
Regards!
Gerry

On 2014/9/25 10:16, Joe.C wrote:
> 
> Jiang,
> 
> Please consider merge the following 2 changes into your next round.
> 
> On Thu, 2014-09-25 at 00:04 +0800, Joe.C wrote:
>> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
>> index e285f3a..01e852b 100644
>> --- a/kernel/irq/irqdomain.c
>> +++ b/kernel/irq/irqdomain.c
>> @@ -467,7 +467,7 @@ unsigned int irq_create_of_mapping(struct of_phandle_args *irq_data)
>>  	struct irq_domain *domain;
>>  	irq_hw_number_t hwirq;
>>  	unsigned int type = IRQ_TYPE_NONE;
>> -	unsigned int virq;
>> +	int virq;
>>  
>>  	domain = irq_data->np ? irq_find_host(irq_data->np) : irq_default_domain;
>>  	if (!domain) {
>> @@ -493,8 +493,8 @@ unsigned int irq_create_of_mapping(struct of_phandle_args *irq_data)
>>  	else
>>  #endif
>>  		virq = irq_create_mapping(domain, hwirq);
>> -	if (!virq)
>> -		return virq;
>> +	if (virq <= 0)
>> +		return 0;
>>  
>>  	/* Set type if specified and different than the current one */
>>  	if (type != IRQ_TYPE_NONE &&
> 
> irq_of_parse_and_map()/of_irq_to_resource() expect
> irq_create_of_mapping() to return 0 when fail. Return error code will
> cause of_irq_to_resource crash.
> 
> 
>> @@ -716,20 +716,20 @@ const struct irq_domain_ops irq_domain_simple_ops = {
>>  };
>>  EXPORT_SYMBOL_GPL(irq_domain_simple_ops);
>>  
>> -static int irq_domain_alloc_descs(int virq, unsigned int nr_irqs,
>> +static int irq_domain_alloc_descs(int virq, unsigned int cnt,
>>  				  irq_hw_number_t hwirq, int node)
>>  {
>>  	unsigned int hint;
>>  
>>  	if (virq >= 0) {
>> -		virq = irq_alloc_descs(virq, virq, nr_irqs, node);
>> +		virq = irq_alloc_descs(virq, virq, cnt, node);
>>  	} else {
>>  		hint = hwirq % nr_irqs;
>>  		if (hint == 0)
>>  			hint++;
>> -		virq = irq_alloc_descs_from(hint, nr_irqs, node);
>> +		virq = irq_alloc_descs_from(hint, cnt, node);
>>  		if (virq <= 0 && hint > 1)
>> -			virq = irq_alloc_descs_from(1, nr_irqs, node);
>> +			virq = irq_alloc_descs_from(1, cnt, node);
>>  	}
>>  
>>  	return virq;
> 
> This come from irq_create_mapping(), the original code is using global
> nr_irqs. Change to match original behavior.
> 
> Joe.C
> 
> 

WARNING: multiple messages have this Message-ID (diff)
From: Jiang Liu <jiang.liu@linux.intel.com>
To: "Joe.C" <srv_yingjoe.chen@mediatek.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Mark Rutland <mark.rutland@arm.com>,
	Boris BREZILLON <boris.brezillon@free-electrons.com>,
	Russell King <linux@arm.linux.org.uk>,
	Jason Cooper <jason@lakedaemon.net>,
	Pawel Moll <pawel.moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	yh.chen@mediatek.com, linux-kernel@vger.kernel.org,
	srv_heupstream@mediatek.com, devicetree@vger.kernel.org,
	Rob Herring <robh+dt@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	nathan.chung@mediatek.com, Sascha Hauer <kernel@pengutronix.de>,
	Kumar Gala <galak@codeaurora.org>,
	Grant Likely <grant.likely@linaro.org>,
	eddie.huang@mediatek.com, yingjoe.chen@gmail.com,
	linux-arm-kernel@lists.infradead.org, hc.yen@mediatek.com
Subject: Re: [PATCH] [RFC] Using hierarchy irqdomian to implement MTK intpol.
Date: Thu, 25 Sep 2014 11:04:37 +0800	[thread overview]
Message-ID: <54238645.8090502@linux.intel.com> (raw)
In-Reply-To: <1411611417.21763.56.camel@mtksdaap41>

Hi Joe,
	Thanks, I will merge them into my next version.
Regards!
Gerry

On 2014/9/25 10:16, Joe.C wrote:
> 
> Jiang,
> 
> Please consider merge the following 2 changes into your next round.
> 
> On Thu, 2014-09-25 at 00:04 +0800, Joe.C wrote:
>> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
>> index e285f3a..01e852b 100644
>> --- a/kernel/irq/irqdomain.c
>> +++ b/kernel/irq/irqdomain.c
>> @@ -467,7 +467,7 @@ unsigned int irq_create_of_mapping(struct of_phandle_args *irq_data)
>>  	struct irq_domain *domain;
>>  	irq_hw_number_t hwirq;
>>  	unsigned int type = IRQ_TYPE_NONE;
>> -	unsigned int virq;
>> +	int virq;
>>  
>>  	domain = irq_data->np ? irq_find_host(irq_data->np) : irq_default_domain;
>>  	if (!domain) {
>> @@ -493,8 +493,8 @@ unsigned int irq_create_of_mapping(struct of_phandle_args *irq_data)
>>  	else
>>  #endif
>>  		virq = irq_create_mapping(domain, hwirq);
>> -	if (!virq)
>> -		return virq;
>> +	if (virq <= 0)
>> +		return 0;
>>  
>>  	/* Set type if specified and different than the current one */
>>  	if (type != IRQ_TYPE_NONE &&
> 
> irq_of_parse_and_map()/of_irq_to_resource() expect
> irq_create_of_mapping() to return 0 when fail. Return error code will
> cause of_irq_to_resource crash.
> 
> 
>> @@ -716,20 +716,20 @@ const struct irq_domain_ops irq_domain_simple_ops = {
>>  };
>>  EXPORT_SYMBOL_GPL(irq_domain_simple_ops);
>>  
>> -static int irq_domain_alloc_descs(int virq, unsigned int nr_irqs,
>> +static int irq_domain_alloc_descs(int virq, unsigned int cnt,
>>  				  irq_hw_number_t hwirq, int node)
>>  {
>>  	unsigned int hint;
>>  
>>  	if (virq >= 0) {
>> -		virq = irq_alloc_descs(virq, virq, nr_irqs, node);
>> +		virq = irq_alloc_descs(virq, virq, cnt, node);
>>  	} else {
>>  		hint = hwirq % nr_irqs;
>>  		if (hint == 0)
>>  			hint++;
>> -		virq = irq_alloc_descs_from(hint, nr_irqs, node);
>> +		virq = irq_alloc_descs_from(hint, cnt, node);
>>  		if (virq <= 0 && hint > 1)
>> -			virq = irq_alloc_descs_from(1, nr_irqs, node);
>> +			virq = irq_alloc_descs_from(1, cnt, node);
>>  	}
>>  
>>  	return virq;
> 
> This come from irq_create_mapping(), the original code is using global
> nr_irqs. Change to match original behavior.
> 
> Joe.C
> 
> 

  reply	other threads:[~2014-09-25  3:04 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-24 16:04 [PATCH] [RFC] Using hierarchy irqdomian to implement MTK intpol Joe.C
2014-09-24 16:04 ` Joe.C
2014-09-25  2:16 ` Joe.C
2014-09-25  2:16   ` Joe.C
2014-09-25  3:04   ` Jiang Liu [this message]
2014-09-25  3:04     ` Jiang Liu
2014-09-25  3:17     ` Jason Cooper
2014-09-25  3:17       ` Jason Cooper
2014-09-25  3:17       ` Jason Cooper
2014-09-25  3:37       ` Jiang Liu
2014-09-25  3:37         ` Jiang Liu
2014-09-25  3:12 ` Jiang Liu
2014-09-25  3:12   ` Jiang Liu
2014-09-25  3:12   ` Jiang Liu
2014-09-25 14:27 ` Thomas Gleixner
2014-09-25 14:27   ` Thomas Gleixner
2014-09-25 14:27   ` Thomas Gleixner
2014-09-25 19:20   ` Arnd Bergmann
2014-09-25 19:20     ` Arnd Bergmann
2014-09-25 19:20     ` Arnd Bergmann

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=54238645.8090502@linux.intel.com \
    --to=jiang.liu@linux.intel.com \
    --cc=linux-arm-kernel@lists.infradead.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.