ALSA: x86: Minor cleanup of reset buffer procedure
authorTakashi Iwai <tiwai@suse.de>
Sat, 4 Feb 2017 20:39:56 +0000 (21:39 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sun, 5 Feb 2017 07:49:02 +0000 (08:49 +0100)
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 <tiwai@suse.de>
sound/x86/intel_hdmi_audio.c

index db437efbb87de5a319c99789976a3d32771c891b..0a9c82aca05fde26cec47f6c51d5ac35c909b612 100644 (file)
@@ -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;