diff options
| author | Oswald Buddenhagen <oswald.buddenhagen@gmx.de> | 2023-05-18 16:03:38 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2023-05-18 16:41:19 +0200 |
| commit | 08e55ae996cbdbd76c3eb12fcad6cc79cba7ddbc (patch) | |
| tree | c73f7ff93eec45ea080d289cc7cc1bac427bcd7f /tools/perf/scripts/python | |
| parent | ALSA: emu10k1: fix terminating synthesizer voices (diff) | |
| download | linux-08e55ae996cbdbd76c3eb12fcad6cc79cba7ddbc.tar.gz linux-08e55ae996cbdbd76c3eb12fcad6cc79cba7ddbc.zip | |
ALSA: emu10k1: enable bit-exact playback, part 3: pitch
CPF_CURRENTPITCH starts swerving towards PTRX_PITCHTARGET as soon as
that is set. In practice this means that CPF_FRACADDRESS may acquire a
non-zero value before we manage to force CPF_CURRENTPITCH to the final
value, which would prevent bit-for-bit reproduction.
To avoid that this state persists, we now reset CPF_FRACADDRESS when
setting CPF_CURRENTPITCH, and to (mostly) avoid that it progresses too
far in the first place (possibly even reaching CCCA_CURRADDR), we write
PTRX and CPF in one critical section (though NMIs, etc. still make this
unreliable).
Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230518140339.3722279-2-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
