diff mbox

ARM: OMAP3: Clean up spurious interrupt check logic

Message ID 49D4C9B8.10806@nokia.com (mailing list archive)
State Accepted
Commit 7d7137897a95e8bf74f54c0df672ad481b216097
Headers show

Commit Message

Roger Quadros April 2, 2009, 2:20 p.m. UTC
From: Roger Quadros <ext-roger.quadros@nokia.com>
Date: Thu, 2 Apr 2009 16:41:00 +0300
Subject: [PATCH] ARM: OMAP3: Clean up spurious interrupt check logic

SPURIOUSIRQ is contained in bits 31:7 of INTC_SIR, so
INTC_SIR must be right shifted by 7, not 6.

No change in logic, only changes for better readability.
Refer to register definition of INTCPS_SIR_IRQ in OMAP3 Manual.

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
---
 arch/arm/mach-omap2/irq.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Comments

Tony Lindgren April 2, 2009, 4:25 p.m. UTC | #1
* Roger Quadros <ext-roger.quadros@nokia.com> [090402 07:21]:
> From: Roger Quadros <ext-roger.quadros@nokia.com>
> Date: Thu, 2 Apr 2009 16:41:00 +0300
> Subject: [PATCH] ARM: OMAP3: Clean up spurious interrupt check logic
>
> SPURIOUSIRQ is contained in bits 31:7 of INTC_SIR, so
> INTC_SIR must be right shifted by 7, not 6.
>
> No change in logic, only changes for better readability.
> Refer to register definition of INTCPS_SIR_IRQ in OMAP3 Manual.

Argh, that bug explains why I could not figure out the meaning
of the first spurious bit.. :)

I guess the spurious bit value is still on or off instead of
actually telling the previous spurious irq number though.

Tony

> Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
> ---
> arch/arm/mach-omap2/irq.c |    4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
> index 2842fe8..296ab86 100644
> --- a/arch/arm/mach-omap2/irq.c
> +++ b/arch/arm/mach-omap2/irq.c
> @@ -73,9 +73,9 @@ static int omap_check_spurious(unsigned int irq)
> 	u32 sir, spurious;
>
> 	sir = intc_bank_read_reg(&irq_banks[0], INTC_SIR);
> -	spurious = sir >> 6;
> +	spurious = sir >> 7;
>
> -	if (spurious > 1) {
> +	if (spurious) {
> 		printk(KERN_WARNING "Spurious irq %i: 0x%08x, please flush "
> 					"posted write for irq %i\n",
> 					irq, sir, previous_irq);
> -- 
> 1.5.6.5
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Roger Quadros April 3, 2009, 6:18 a.m. UTC | #2
ext Tony Lindgren wrote:
> * Roger Quadros <ext-roger.quadros@nokia.com> [090402 07:21]:
>   
>> From: Roger Quadros <ext-roger.quadros@nokia.com>
>> Date: Thu, 2 Apr 2009 16:41:00 +0300
>> Subject: [PATCH] ARM: OMAP3: Clean up spurious interrupt check logic
>>
>> SPURIOUSIRQ is contained in bits 31:7 of INTC_SIR, so
>> INTC_SIR must be right shifted by 7, not 6.
>>
>> No change in logic, only changes for better readability.
>> Refer to register definition of INTCPS_SIR_IRQ in OMAP3 Manual.
>>     
>
> Argh, that bug explains why I could not figure out the meaning
> of the first spurious bit.. :)
>
> I guess the spurious bit value is still on or off instead of
> actually telling the previous spurious irq number though.
>
> Tony
>
>   
Yes Tony you are right.

-roger

>> Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
>> ---
>> arch/arm/mach-omap2/irq.c |    4 ++--
>> 1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
>> index 2842fe8..296ab86 100644
>> --- a/arch/arm/mach-omap2/irq.c
>> +++ b/arch/arm/mach-omap2/irq.c
>> @@ -73,9 +73,9 @@ static int omap_check_spurious(unsigned int irq)
>> 	u32 sir, spurious;
>>
>> 	sir = intc_bank_read_reg(&irq_banks[0], INTC_SIR);
>> -	spurious = sir >> 6;
>> +	spurious = sir >> 7;
>>
>> -	if (spurious > 1) {
>> +	if (spurious) {
>> 		printk(KERN_WARNING "Spurious irq %i: 0x%08x, please flush "
>> 					"posted write for irq %i\n",
>> 					irq, sir, previous_irq);
>> -- 
>> 1.5.6.5
>>
>>
>>     
>
>   

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren April 3, 2009, 11:49 p.m. UTC | #3
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Commit: 7d7137897a95e8bf74f54c0df672ad481b216097

PatchWorks
http://patchwork.kernel.org/patch/15920/

Git
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=7d7137897a95e8bf74f54c0df672ad481b216097


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 2842fe8..296ab86 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -73,9 +73,9 @@  static int omap_check_spurious(unsigned int irq)
 	u32 sir, spurious;
 
 	sir = intc_bank_read_reg(&irq_banks[0], INTC_SIR);
-	spurious = sir >> 6;
+	spurious = sir >> 7;
 
-	if (spurious > 1) {
+	if (spurious) {
 		printk(KERN_WARNING "Spurious irq %i: 0x%08x, please flush "
 					"posted write for irq %i\n",
 					irq, sir, previous_irq);