On 11/22/2016 03:22 AM, Marc Zyngier wrote:
>> 2. The kernel will not call idu_irq_set_affinity() for IDU interrupt
>> > controller in some cases. It happens when the top interrupt
>> > controller does not support setting of the affinity and does not even
>> > support propagating of it (e.g. a GPIO interrupt controller on top of
>> > IDU which funnels all interrupts in one line). However
>> > idu_irq_set_affinity() must be called to unmask common interrupts in
>> > IDU. And if I want to make an affinity in irq_desc to match a real
>> > affinity I must call irq_set_affinity() instead of just
>> > idu_irq_set_affinity() .
>
> My brain has just melted. Can you describe this a bit more, possibly
> using some ASCII diagrams? I really don't understand what the affinity
> settings have to do with unmasking the interrupt... It is that you mask
> an interrupt by routing it to a dummy CPU?

The AXS SDP board has an "interesting" cascade of interrupt controllers.
Exact setup in arch/arc/boot/dts/{axc003_idu,axs10x_mb}.dtsi


        /*
         * Peripherals on CPU Card and Mother Board are wired to cpu intc via
         * intermediate DW APB GPIO blocks (mainly for debouncing)
         *
         *        --------------------
         *        |  snps,archs-intc |
         *        --------------------
         *          | #24         |#25
         *        --------------------
         *        |  snps,archs-intc |
         *        --------------------
         *          | #0          | #1
         * -------------------   -------------------
         * | snps,dw-apb-gpio |  | snps,dw-apb-gpio |
         * |   (pass thru)    |  |                  |
         * -------------------   -------------------
         *        | #12                     |
         *        |                 [ Debug UART on cpu card ]
         *        |
         * ------------------------
         * | snps,dw-apb-intc (MB)|
         * ------------------------
         *  |      |       |      |
         * [eth] [uart]        [... other perip on Main Board]


_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

Reply via email to