OMAP3: l3: fix for "irq 10: nobody cared" message
Subsystems (3)
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
@@ -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
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_basevalue (which
s/err_base/err_source/
Quoted 4 lines
coincidentally points to MPU) and not with the actual source of the error.
Signed-off-by Omar Ramirez Luna <[email protected]>
Regards,
Omar
PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message
In reply to Omar Ramirez LunaHello.
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_basevalue (which coincidentally points to MPU) and not with the actual source of the error.Signed-off-by Omar Ramirez Luna<[email protected]>--- 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@@ -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
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_basevalue (which coincidentally points to MPU) and not with the actual source of the error.Signed-off-by Omar Ramirez Luna<[email protected]>---
?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@@ -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
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_basevalue (which coincidentally points to MPU) and not with the actual source of the error.Signed-off-by Omar Ramirez Luna<[email protected]>--- 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@@ -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
PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message
In reply to Omar Ramirez LunaQuoted 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_basevalue (which coincidentally points to MPU) and not with the actual source of the error.Signed-off-by Omar Ramirez Luna <[email protected]>---
?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@@ -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
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_basevalue (which coincidentally points to MPU) and not with the actual source of the error.Signed-off-by Omar Ramirez Luna <[email protected]>---
?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@@ -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
PATCH 1/1 OMAP3: l3: fix for "irq 10: nobody cared" message
In reply to Omar Ramirez LunaQuoted 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_basevalue (which coincidentally points to MPU) and not with the actual source of the error.Signed-off-by Omar Ramirez Luna <[email protected]>
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 100644arch/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
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_basevalue (which coincidentally points to MPU) and not with the actual source of the error.Signed-off-by Omar Ramirez Luna <[email protected]>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