#21613: brcm63xx: external IRQs broken
-----------------------+---------------------------------------
 Reporter:  dgcbueu@…  |      Owner:  developers
     Type:  defect     |     Status:  new
 Priority:  high       |  Milestone:  Designated Driver (Trunk)
Component:  kernel     |    Version:  Trunk
 Keywords:             |
-----------------------+---------------------------------------
 Since Chaos Calmer version, external IRQs are broken in brcm63xx.

 Previous versions of Openwrt worked quite fine
    - Attitude Adjustment: OK
    - Barrier Breaker: OK
    - Chaos Calmer: '''FAIL'''
    - trunk: '''FAIL'''

 This is the snippet code I used for testing

 {{{
 #include <linux/kernel.h>
 #include <linux/err.h>
 #include <linux/module.h>
 #include <linux/spinlock.h>
 #include <linux/interrupt.h>

 #include <bcm63xx_cpu.h>
 #include <bcm63xx_io.h>
 #include <bcm63xx_regs.h>
 #include <bcm63xx_irq.h>

 static irqreturn_t gpio_interrupt(int irq, void *dev_id)
 {
         printk("my IRQ triggered!!!!\n");
         return IRQ_HANDLED;
 }

 int bcm63xx_button_init(void)
 {
         int ret, irq;

         printk("TEST IRQ (GPIO-button)\n");
         irq = IRQ_EXT_1;
         ret = request_irq(irq, gpio_interrupt, 0, "bcm63xx_extIRQ", NULL);
         if (ret) {
                 printk(KERN_ERR "bcm63xx-extIRQ: failed to register irq
 %d\n",irq);
                 return ret;
         }
         printk("Mapped IRQ %d\n", irq );

         return 0;
 }

 arch_initcall(bcm63xx_button_init);
 }}}

 These external IRQs are commonly wired externally to some physical button
 on the casing, so it was very easy to test it.

 I also succesfully tested a more complex driver like an Infrarred
 receiver:
 https://github.com/danitool/openwrt-pkgs/blob/bb/lirc-
 bcm63xx/src/lirc_bcm63xx.c

 And worked totally fine in AA and BB, but failed on CC and trunk.

 In CC a new driver was introduced to manage IRQs in brcm63xx, probably
 this driver itself is the culprit.



 The IRQ driver irq-bcm6345.ext: http://pastebin.com/DuWFq3fn

--
Ticket URL: <https://dev.openwrt.org/ticket/21613>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets

Reply via email to