From f4566aa112b86649b74f3d64c21ec2c8a84d5c1d Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Sat, 4 Feb 2017 21:39:56 +0100 Subject: [PATCH] ALSA: x86: Minor cleanup of reset buffer procedure The procedure to reset buffer pointers is performed in two places and still open-coded. Simplify the helper function and use it consistently. Signed-off-by: Takashi Iwai --- sound/x86/intel_hdmi_audio.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c index db437efbb87d..0a9c82aca05f 100644 --- a/sound/x86/intel_hdmi_audio.c +++ b/sound/x86/intel_hdmi_audio.c @@ -252,10 +252,11 @@ static void snd_intelhad_enable_audio_int(struct snd_intelhad *ctx, bool enable) } } -static void snd_intelhad_reset_audio(struct snd_intelhad *intelhaddata, - u8 reset) +/* Reset buffer pointers */ +static void had_reset_audio(struct snd_intelhad *intelhaddata) { - had_write_register(intelhaddata, AUD_HDMI_STATUS, reset); + had_write_register(intelhaddata, AUD_HDMI_STATUS, 1); + had_write_register(intelhaddata, AUD_HDMI_STATUS, 0); } /* @@ -893,8 +894,7 @@ static void snd_intelhad_handle_underrun(struct snd_intelhad *intelhaddata) /* Handle Underrun interrupt within Audio Unit */ had_write_register(intelhaddata, AUD_CONFIG, 0); /* Reset buffer pointers */ - had_write_register(intelhaddata, AUD_HDMI_STATUS, 1); - had_write_register(intelhaddata, AUD_HDMI_STATUS, 0); + had_reset_audio(intelhaddata); /* * The interrupt status 'sticky' bits might not be cleared by * setting '1' to that bit once... @@ -1085,8 +1085,7 @@ static int snd_intelhad_pcm_trigger(struct snd_pcm_substream *substream, snd_intelhad_enable_audio_int(intelhaddata, false); snd_intelhad_enable_audio(substream, intelhaddata, false); /* Reset buffer pointers */ - snd_intelhad_reset_audio(intelhaddata, 1); - snd_intelhad_reset_audio(intelhaddata, 0); + had_reset_audio(intelhaddata); snd_intelhad_enable_audio_int(intelhaddata, false); break; -- 2.20.1