Browse Source
Add support for PM. The strategy is as follows: 1) For level 1 interrupts: don't care, these don't require the PM domain of irqsteer to be turned on since they are, well, direct. 2) For level 2 interrupts: use the reference count of the dispatchers. Upon doing a get() on a dispatcher with its reference count set to 0, before enabling the IRQ (meaning accessing the reg. space) increment the reference count of the irqstr device (which will result in the PM domain being enabled if 0). Upon doin a put() on a dispatcher with its reference count set to 1, after disabling the IRQ (meaning accessing the reg. space) decrement the reference count of the irqstr device (which will result in the PM domain being disabled if 0). In summary, the PM domain of the device will be enabled if at least one dispatcher is in use. On the other hand, the PM domain of the device will be disabled if there's no dispatchers in use (assuming there's no other dependencies). Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>pull/76975/head
1 changed files with 28 additions and 2 deletions
Loading…
Reference in new issue