https://bugs.freedesktop.org/show_bug.cgi?id=64503
--- Comment #12 from Pierre Ossman pierre-bugzilla@ossman.eu --- So I tried that, and things are now back to ~110 seconds before a glitch. This is the code in case anyone's curious:
base_bits = fls(24000); clock_bits = fls(clock);
shift = min(32 - base_bits, 32 - clock_bits);
WREG32(DCCG_AUDIO_DTO0_PHASE, 24000 << shift); WREG32(DCCG_AUDIO_DTO0_MODULE, clock << shift);
So that didn't help...