On 29/01/2021 19:38, Pierre-Louis Bossart wrote:
On 1/29/21 11:32 AM, Srinivas Kandagatla wrote:
Add support to new interrupts and update irq routine in a way to deal with multiple pending interrupts with in a single interrupt!
I can't parse the wording after 'update irq routine'.
So, basically if we get an interrupt while processing previous one there is a chance that we might miss the new interrupt!
This was a bug with existing code, which only showed up with recent Headset Button Tests!
+ swrm->reg_write(swrm, SWRM_INTERRUPT_CLEAR, intr_sts); + swrm->reg_write(swrm, SWRM_INTERRUPT_CLEAR, 0x0);
what does this second write 0x0 do? Usually interrupts are W1C, and you didn't have this before.
Digging it bit more seems to be an HW work around for one of the issues, recommended by HW team. Will remove it from this patch and add it as separate one with more details!
--srini