Commit b4e2a16f authored by Ondrej Zary's avatar Ondrej Zary Committed by Takashi Iwai

ALSA: wss_lib: Fix resume on Yamaha OPL3-SAx

Yamaha OPL3-SAx chips don't resume properly when playback is running -
garbage is played after resume. Restoring the CS4231_PLAYBK_FORMAT register
last fixes the problem.
Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent ca3273fb
...@@ -1656,6 +1656,10 @@ static void snd_wss_resume(struct snd_wss *chip) ...@@ -1656,6 +1656,10 @@ static void snd_wss_resume(struct snd_wss *chip)
break; break;
} }
} }
/* Yamaha needs this to resume properly */
if (chip->hardware == WSS_HW_OPL3SA2)
snd_wss_out(chip, CS4231_PLAYBK_FORMAT,
chip->image[CS4231_PLAYBK_FORMAT]);
spin_unlock_irqrestore(&chip->reg_lock, flags); spin_unlock_irqrestore(&chip->reg_lock, flags);
#if 1 #if 1
snd_wss_mce_down(chip); snd_wss_mce_down(chip);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment