summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2014-02-22 20:38:10 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2014-02-22 20:38:10 +0100
commitb9db3d3743927f28f4909861e899818372645344 (patch)
tree26526d702932199350fa94795282ab744df98471 /firmware
parentf8e81594e248f0e3add23596ac3138c9e50c8ab4 (diff)
downloadrockbox-b9db3d3743927f28f4909861e899818372645344.tar.gz
rockbox-b9db3d3743927f28f4909861e899818372645344.zip
imx233: remove nested irq check from debug menu
Change-Id: Ic16c6bf988d21c849488489d1b4a3477f2762afb
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/imx233/debug-imx233.c41
1 files changed, 0 insertions, 41 deletions
diff --git a/firmware/target/arm/imx233/debug-imx233.c b/firmware/target/arm/imx233/debug-imx233.c
index 06b7c001cc..c6ffb48896 100644
--- a/firmware/target/arm/imx233/debug-imx233.c
+++ b/firmware/target/arm/imx233/debug-imx233.c
@@ -484,51 +484,10 @@ bool dbg_hw_info_dcp(void)
484} 484}
485#endif 485#endif
486 486
487/** Nested IRQ check code */
488void INT_SOFTWARE(unsigned nr)
489{
490 imx233_icoll_force_irq(INT_SRC_SOFTWARE(nr), false);
491 HW_DIGCTL_SCRATCH0 = nr;
492 if(nr < 3)
493 {
494 imx233_icoll_force_irq(INT_SRC_SOFTWARE(nr + 1), true);
495 udelay(10);
496 if(HW_DIGCTL_SCRATCH0 == nr)
497 panicf("Nestes IRQ bug (%d)", nr);
498 }
499}
500
501void INT_SOFTWARE0(void) { INT_SOFTWARE(0); }
502void INT_SOFTWARE1(void) { INT_SOFTWARE(1); }
503void INT_SOFTWARE2(void) { INT_SOFTWARE(2); }
504void INT_SOFTWARE3(void) { INT_SOFTWARE(3); }
505
506static void check_nested_irq(void)
507{
508 /* Test protocol: setup SOFTWAREn IRQ as level n and apply:
509 * - enable SOFTWARE0 and soft IRQ'it
510 * - in SOFTWAREn, enable SOFTWARE(n+1) and soft IRQ'it, check it ran
511 */
512 for(int i = 0; i < 4; i++)
513 {
514 imx233_icoll_enable_interrupt(INT_SRC_SOFTWARE(i), true);
515 imx233_icoll_set_priority(INT_SRC_SOFTWARE(i), i);
516 }
517 HW_DIGCTL_SCRATCH0 = 0;
518 imx233_icoll_force_irq(INT_SRC_SOFTWARE(0), true);
519 udelay(100);
520 if(HW_DIGCTL_SCRATCH0 != 3)
521 panicf("Nested IRQ broken (%lu)", HW_DIGCTL_SCRATCH0);
522 for(int i = 0; i < 4; i++)
523 imx233_icoll_enable_interrupt(INT_SRC_SOFTWARE(i), false);
524}
525
526bool dbg_hw_info_icoll(void) 487bool dbg_hw_info_icoll(void)
527{ 488{
528 lcd_setfont(FONT_SYSFIXED); 489 lcd_setfont(FONT_SYSFIXED);
529 490
530 check_nested_irq();
531
532 int first_irq = 0; 491 int first_irq = 0;
533 int dbg_irqs_count = sizeof(dbg_irqs) / sizeof(dbg_irqs[0]); 492 int dbg_irqs_count = sizeof(dbg_irqs) / sizeof(dbg_irqs[0]);
534 int line_count = lcd_getheight() / font_get(lcd_getfont())->height; 493 int line_count = lcd_getheight() / font_get(lcd_getfont())->height;