• Michael Ellerman's avatar
    Revert "powerpc: Handle simultaneous interrupts at once" · 0edc2ca9
    Michael Ellerman authored
    This reverts commit 45cb08f4.
    
    For some reason this is causing IRQ problems on Freescale Book3E
    machines, eg on my p5020ds:
    
      irq 25: nobody cared (try booting with the "irqpoll" option)
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc3-gcc-6.3.1-00037-g45cb08f4 #624
      Call Trace:
      [c0000000fffdbb10] [c00000000049962c] .dump_stack+0xa8/0xe8 (unreliable)
      [c0000000fffdbba0] [c0000000000babf4] .__report_bad_irq+0x54/0x140
      [c0000000fffdbc40] [c0000000000bb11c] .note_interrupt+0x324/0x380
      [c0000000fffdbd00] [c0000000000b7110] .handle_irq_event_percpu+0x68/0x88
      [c0000000fffdbd90] [c0000000000b718c] .handle_irq_event+0x5c/0xa8
      [c0000000fffdbe10] [c0000000000bc01c] .handle_fasteoi_irq+0xe4/0x298
      [c0000000fffdbe90] [c0000000000b59c4] .generic_handle_irq+0x50/0x74
      [c0000000fffdbf10] [c0000000000075d8] .__do_irq+0x74/0x1f0
      [c0000000fffdbf90] [c0000000000189f8] .call_do_irq+0x14/0x24
      [c0000000f7173060] [c0000000000077e4] .do_IRQ+0x90/0x120
      [c0000000f7173100] [c00000000001d93c] exc_0x500_common+0xfc/0x100
      --- interrupt: 501 at .prepare_to_wait_event+0xc/0x14c
          LR = .fsl_elbc_run_command+0xc8/0x23c
      [c0000000f71734d0] [c00000000065f418] .nand_reset+0xb8/0x168
      [c0000000f7173560] [c00000000065fec4] .nand_scan_ident+0x2b0/0x1638
      [c0000000f7173650] [c000000000666cd8] .fsl_elbc_nand_probe+0x34c/0x5f0
      ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
      [c0000000f7173750] [c0000000005a3c60] .platform_drv_probe+0x64/0xb0
      [c0000000f71737d0] [c0000000005a12e0] .really_probe+0x290/0x334
      [c0000000f7173870] [c0000000005a14a0] .__driver_attach+0x11c/0x120
      [c0000000f7173900] [c00000000059e6a0] .bus_for_each_dev+0x98/0xfc
      [c0000000f71739a0] [c0000000005a0b3c] .driver_attach+0x34/0x4c
      [c0000000f7173a20] [c0000000005a04b0] .bus_add_driver+0x1ac/0x2e0
      [c0000000f7173ac0] [c0000000005a2170] .driver_register+0x94/0x160
      [c0000000f7173b40] [c0000000005a3be0] .__platform_driver_register+0x60/0x7c
      [c0000000f7173bc0] [c000000000d6aab4] .fsl_elbc_nand_driver_init+0x24/0x38
      [c0000000f7173c30] [c000000000001934] .do_one_initcall+0x68/0x1b8
      [c0000000f7173d00] [c000000000d210f8] .kernel_init_freeable+0x260/0x338
      [c0000000f7173db0] [c0000000000021b0] .kernel_init+0x20/0xe70
      [c0000000f7173e30] [c0000000000009bc] .ret_from_kernel_thread+0x58/0x9c
      handlers:
      [<c000000000ed85c8>] .fsl_lbc_ctrl_irq
      Disabling IRQ #25
    
    Ben also had concerns with the implementation being potentially slow on
    some PICs, so revert it for now.
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    0edc2ca9
irq.c 17.3 KB