Home
last modified time | relevance | path

Searched hist:c76acf4dffa3232711b5364d7a29746df590f3db (Results 1 – 1 of 1) sorted by relevance

/linux/drivers/irqchip/ !
H A Dirq-bcm7120-l2.cc76acf4dffa3232711b5364d7a29746df590f3db Fri Nov 07 06:44:26 UTC 2014 Kevin Cernekee <cernekee@gmail.com> irqchip: bcm7120-l2: Extend driver to support 64+ bit controllers

Most implementations of the bcm7120-l2 controller only have a single
32-bit enable word + 32-bit status word. But some instances have added
more enable/status pairs in order to support 64+ IRQs (which are all
ORed into one parent IRQ input). Make the following changes to allow
the driver to support this:

- Extend DT bindings so that multiple words can be specified for the
reg property, various masks, etc.

- Add loops to the probe/handle functions to deal with each word
separately

- Allocate 1 generic-chip for every 32 IRQs, so we can still use the
clr/set helper functions

- Update the documentation

This uses one domain per bcm7120-l2 DT node. If the DT node defines
multiple enable/status pairs (i.e. >=64 IRQs) then the driver will
create a single IRQ domain with 2+ generic chips. Multiple generic chips
are required because the generic-chip code can only handle one
enable/status register pair per instance.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lkml.kernel.org/r/1415342669-30640-12-git-send-email-cernekee@gmail.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>