
On Wed, Sep 03, 2014 at 03:42:48PM +0300, Jarkko Nikula wrote:
All MAX98090 input clocks MCLK, LRCLK and BCLK must be running and stable before powering on the codec in slave mode. Otherwise the PLL may not lock to LRCLK causing silence in playback and capture. How often that happens is somewhat hardware and clock configuration specific.
I've applied this but I'm thinking it would be more robust to restructure the interrupt handler so the handling is in a separate function to the one that reads the status register - that way when _det_enable_work() polls the status it can just mask out the PLL interrupt bit and call the usual interrupt handler. As things stand we've effectively got two copies of the interrupt code which will probably cause trouble at some point.