spmi: pmic-arb: disable ACC bit only when all irqs are disabled
The current driver disables/enables the ACC bit when any interrupt in that peripheral is being masked or unmasked. However, the ACC bits were meant to be disabled and enabled when all interrupts in that peripheral are disabled and any interrupts in it are enabled respt. The driver ends up masking the peripheral (i.e. all the interrupts in that peripheral) if any one interrupt in that peripheral is masked. There could be other interrupts enabled which will not trigger after this. Fix this by changing the driver to disable or enable when all the interrupts in the peripheral are disabled or when the first enable of an interrupt in that peripheral happens. Note that we will need to keep track of the enabled interrupts for an apid. There are other things like ppid and owner information tracked per apid. Introduce a per apid structure to track all the three. Change-Id: I256546a7a4683a463beb6d0eb360a0edd4e5c11d Signed-off-by:Abhijeet Dharmapurikar <adharmap@codeaurora.org> [collinsd: fix merge conflict] Signed-off-by:
David Collins <collinsd@codeaurora.org>
Loading
Please register or sign in to comment