On Fri, 29 Oct 2010 14:03:10 -0700 Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > On Fri, Oct 29, 2010 at 03:02:22PM +0300, Jarkko Nikula wrote: > > > Functions dapm_seq_run and dapm_seq_run_coalesced are modified so that a new > > write is issued when the sequence extends to an another device and DAPM > > context of a widget instead of originating DAPM context is used when doing > > pop waits and register writes. > > I'm having a hard time parsing this bit of the changelog, I'm afraid. > What I'd expect is that the comparison operation used for coalescing > would be extended to compare based on the CODEC/DAPM context too and the > split per device should naturally fall out of that. I didn't notice the > comparison being updated? > It was these diffs for dapm_seq_run: /* Do we need to apply any queued changes? */ - if (sort[w->id] != cur_sort || w->reg != cur_reg) { + if (sort[w->id] != cur_sort || w->reg != cur_reg || + w->dapm != cur_dapm) { if (!list_empty(&pending)) dapm_seq_run_coalesced(dapm, &pending); So if DAPM is different the dapm_seq_run_coalesced is run now and next iterations are done for another DAPM context. Looking at this now I think I can leave out dapm_seq_run_coalesced changes by changing the line above to dapm_seq_run_coalesced(cur_dapm, &pending). I'll check it for the next version. > Otherwise this looks pretty good, these are stylistic things: > Good notes. I'll change them. -- Jarkko _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel