nrf: put supervisor enable/disable tick in place#2890
nrf: put supervisor enable/disable tick in place#2890tannewt merged 2 commits intoadafruit:masterfrom
Conversation
tannewt
left a comment
There was a problem hiding this comment.
Are there interrupts generated when the DMA buffer swaps? Using that would be better than the tick enable because it'll happen at the needed frequency.
|
@tannewt I can look into it if you have a pointer to where else we're doing this. In samd audio it looks like audio interrupts "are involved" (e.g., we look at event_interrupt_active to decide whether more data needs to be fed) but it still didn't work, which is why #2889 had a similar "fix" for audio weirdness. I guess both could use further looking into rather than speculative fixes. |
|
e.g., in nRF I2SOut we can allow EVENTS_TXPTRUPD to generate an interrupt. But there is no explicit handler defined for it. Does this mean it would get a dummy interrupt handler and all would be well? |
Ya, I should have thought about it more with the samd fix as well. I'm ok having it in temporarily. It would be good to look into for the longer term though. Relying on tick is a heavy handed way of getting it to work.
I don't think the interrupt handler itself is actually needed. The main thing is that it wakes up the WFI in sleep and then clears the interrupt in the background task. |
|
@jepler Do you have time to look into using DMA interrupts instead of ticks? |
tannewt
left a comment
There was a problem hiding this comment.
Merging for inclusion in the next beta. Will revisit with background rework.
I assume that the "same" fix as samd is needed in order to make audio play properly after reduced power.
Testing performed: only building the software