Skip to contentSkip to conversation

OMAP3: l3: fix for "irq 10: nobody cared" message

PATCH New Omar Ramirez Luna 4 participants 9 messages Mar 26, 2011 – Mar 28, 2011

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which coincidentally points to MPU) and not with the actual source of the error.

---
 arch/arm/mach-omap2/omap_l3_smx.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/omap_l3_smx.c +3 -2
index 5f2da75..da917c2 100644
@@ -196,11 +196,12 @@ static irqreturn_t omap3_l3_app_irq(int irq, void *_l3)
 		/* No timeout error for debug sources */
 	}
 
-	base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
-
 	/* identify the error source */
 	for (err_source = 0; !(status & (1 << err_source)); err_source++)
 									;
+
+	base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
+
 	error = omap3_l3_readll(base, L3_ERROR_LOG);
 
 	if (error) {
Signature · 1 line
1.7.1
#1 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

Quoted 3 lines · Omar Ramirez Luna

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which

s/err_base/err_source/

Quoted 4 lines

coincidentally points to MPU) and not with the actual source of the error.

Regards,

Omar

#2 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

In reply to Omar Ramirez Luna

Hello.

Quoted 17 lines · Omar Ramirez Luna

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which coincidentally points to MPU) and not with the actual source of the error.

---
  arch/arm/mach-omap2/omap_l3_smx.c |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/omap_l3_smx.c +0 -0
index 5f2da75..da917c2 100644
@@ -196,11 +196,12 @@ static irqreturn_t omap3_l3_app_irq(int irq, void *_l3)
  		/* No timeout error for debug sources */

arch/arm/mach-omap2/omap_l3_smx.c static irqreturn_t omap3_l3_app_irq(int irq, void *_l3) · line 204

Quoted 10 lines
arch/arm/mach-omap2/omap_l3_smx.c +3 -2
  	}
 
-	base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
-
  	/* identify the error source */
  	for (err_source = 0; !(status&  (1<<  err_source)); err_source++)
  									;
+
+	base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
+

What's the point of having () around rvalue? You could drop them, while at
it...

WBR, Sergei

#3 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

Quoted 25 lines · Sergei Shtylyov

Hello.

Quoted 21 lines · Omar Ramirez Luna

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which coincidentally points to MPU) and not with the actual source of the error.

---
?arch/arm/mach-omap2/omap_l3_smx.c | ? ?5 +++--
?1 files changed, 3 insertions(+), 2 deletions(-)

arch/arm/mach-omap2/omap_l3_smx.c +0 -0
index 5f2da75..da917c2 100644
@@ -196,11 +196,12 @@ static irqreturn_t omap3_l3_app_irq(int irq, void
 *_l3)

? ? ? ? ? ? ? ?/* No timeout error for debug sources */ ? ? ? ?}

Quoted 11 lines

arch/arm/mach-omap2/omap_l3_smx.c static irqreturn_t omap3_l3_app_irq(int irq, void *_l3) · line 204

Quoted 8 lines

- ? ? ? base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source))); -
? ? ? ?/* identify the error source */
? ? ? ?for (err_source = 0; !(status& ?(1<< ?err_source)); err_source++) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?;

arch/arm/mach-omap2/omap_l3_smx.c +3 -0
+
+ ? ? ? base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
+

? What's the point of having () around rvalue? You could drop them, while at it...

You're right, will do.

Regards,

Omar

#4 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

Hello.

Quoted 33 lines · Omar
Quoted 21 lines
Quoted 21 lines

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which coincidentally points to MPU) and not with the actual source of the error.

---
  arch/arm/mach-omap2/omap_l3_smx.c |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/omap_l3_smx.c +0 -0
index 5f2da75..da917c2 100644
@@ -196,11 +196,12 @@ static irqreturn_t omap3_l3_app_irq(int irq, void
 *_l3)
                /* No timeout error for debug sources */
        }
 
Quoted 11 lines

arch/arm/mach-omap2/omap_l3_smx.c static irqreturn_t omap3_l3_app_irq(int irq, void *_l3) · line 204

Quoted 8 lines
arch/arm/mach-omap2/omap_l3_smx.c +3 -2
-       base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
-
        /* identify the error source */
        for (err_source = 0; !(status&    (1<<    err_source)); err_source++)
                                                                        ;
+
+       base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
+

What's the point of having () around rvalue? You could drop them, while at
it...

Quoted 1 line

You're right, will do.

    The same goes about 'l3->rt' and '*(omap3_l3_bases[int_type] + err_source)'...
Quoted 3 lines

Regards,

Omar

WBR, Sergei

#5 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

In reply to Omar Ramirez Luna
Quoted 27 lines · Omar Ramirez Luna

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which coincidentally points to MPU) and not with the actual source of the error.

---
?arch/arm/mach-omap2/omap_l3_smx.c | ? ?5 +++--
?1 files changed, 3 insertions(+), 2 deletions(-)

arch/arm/mach-omap2/omap_l3_smx.c +0 -0
index 5f2da75..da917c2 100644
@@ -196,11 +196,12 @@ static irqreturn_t omap3_l3_app_irq(int irq, void *_l3)

? ? ? ? ? ? ? ?/* No timeout error for debug sources */ ? ? ? ?}

- ? ? ? base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source))); -
? ? ? ?/* identify the error source */
? ? ? ?for (err_source = 0; !(status & (1 << err_source)); err_source++) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?;

arch/arm/mach-omap2/omap_l3_smx.c +3 -0
+
+ ? ? ? base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
+
Quoted 1 line

? ? ? ?error = omap3_l3_readll(base, L3_ERROR_LOG);

One extra space too much.

Signature · 1 line
Felipe Contreras
#6 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

Quoted 20 lines · Felipe Contreras
Quoted 19 lines · Omar Ramirez Luna

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which coincidentally points to MPU) and not with the actual source of the error.

---
?arch/arm/mach-omap2/omap_l3_smx.c | ? ?5 +++--
?1 files changed, 3 insertions(+), 2 deletions(-)

arch/arm/mach-omap2/omap_l3_smx.c +0 -0
index 5f2da75..da917c2 100644
@@ -196,11 +196,12 @@ static irqreturn_t omap3_l3_app_irq(int irq, void *_l3)

? ? ? ? ? ? ? ?/* No timeout error for debug sources */ ? ? ? ?}

Quoted 11 lines
Quoted 9 lines

- ? ? ? base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source))); -
? ? ? ?/* identify the error source */
? ? ? ?for (err_source = 0; !(status & (1 << err_source)); err_source++) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?;

arch/arm/mach-omap2/omap_l3_smx.c +3 -0
+
+ ? ? ? base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
+

? ? ? ?error = omap3_l3_readll(base, L3_ERROR_LOG);

One extra space too much.

Between base and error assignments? Yep, I can remove it.

Regards,

Omar

#7 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

In reply to Omar Ramirez Luna
Quoted 8 lines

-----Original Message-----
From: Omar Ramirez Luna [mailto:omar.ramirez at ti.com]
Sent: Saturday, March 26, 2011 6:00 AM
To: Tony Lindgren
Cc: Russell King; l-o; lak; sricharan; Santosh Shilimkar; Felipe Balbi; Benoit Cousson; Omar Ramirez Luna
Subject: [PATCH] OMAP3: l3: fix for "irq 10: nobody cared" message

Quoted 7 lines

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which coincidentally points to MPU) and not with the actual source of the error.

Patch looks good. Did you observe this with DSP initiator??

Quoted 30 lines
---
 arch/arm/mach-omap2/omap_l3_smx.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/mach- renamed from arch/arm/mach-omap2/omap_l3_smx.c +0 -0

omap2/omap_l3_smx.c
index 5f2da75..da917c2 100644

arch/arm/mach-omap2/omap_l3_smx.c +2 -2
@@ -196,11 +196,12 @@ static irqreturn_t omap3_l3_app_irq(int irq,
 void *_l3)
 		/* No timeout error for debug sources */
 	}
 
-	base = ((l3->rt) + (*(omap3_l3_bases[int_type] +
 err_source)));
-
 	/* identify the error source */
 	for (err_source = 0; !(status & (1 << err_source));
 err_source++)
 									;
+
+	base = ((l3->rt) + (*(omap3_l3_bases[int_type] +

err_source)));

arch/arm/mach-omap2/omap_l3_smx.c +1 -1
+
 	error = omap3_l3_readll(base, L3_ERROR_LOG);
 
 	if (error) {
--

1.7.1

#8 lore raw

PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message

Hi,

Quoted 9 lines · Santosh Shilimkar
Quoted 7 lines

If an error occurs in the L3 on any other initiator than MPU, the interrupt goes unhandled given that the 'base' register was calculated with the initialized err_base value (which coincidentally points to MPU) and not with the actual source of the error.

Patch looks good. Did you observe this with DSP initiator??

Yes, when loading a base image for the DSP, I got an: In-band Error Error seen by IVA_SS at address 0; after this fix.

I was planning to remove the duplicated "Error" print too.

Quoted 1 line

Thanks, I'll add it in my next version when I make the changes affecting only these lines.

Regards,

Omar