Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0e9b1a2 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: x86: Drop flag_underrun field



The flag_underrun flag is used to indicate to escalate the XRUN
reporting at the next position inquiry, but there is a much simpler
method to achieve it: just call snd_pcm_stop_xrun().

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 8f8d1d7f
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -1297,11 +1297,6 @@ static snd_pcm_uframes_t snd_intelhad_pcm_pointer(
	if (intelhaddata->drv_status == HAD_DRV_DISCONNECTED)
		return SNDRV_PCM_POS_XRUN;

	if (intelhaddata->flag_underrun) {
		intelhaddata->flag_underrun = false;
		return SNDRV_PCM_POS_XRUN;
	}

	/* Use a hw register to calculate sub-period position reports.
	 * This makes PulseAudio happier.
	 */
@@ -1642,8 +1637,7 @@ static int had_process_buffer_underrun(struct snd_intelhad *intelhaddata)

	if (stream_type == HAD_RUNNING_STREAM) {
		/* Report UNDERRUN error to above layers */
		intelhaddata->flag_underrun = true;
		had_period_elapsed(stream->had_substream);
		snd_pcm_stop_xrun(stream->had_substream);
	}

	return 0;
@@ -1965,7 +1959,6 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev)
	ctx->drv_status = HAD_DRV_DISCONNECTED;
	ctx->dev = &pdev->dev;
	ctx->card = card;
	ctx->flag_underrun = false;
	ctx->aes_bits = SNDRV_PCM_DEFAULT_CON_SPDIF;
	strcpy(card->driver, INTEL_HAD);
	strcpy(card->shortname, INTEL_HAD);
+0 −1
Original line number Diff line number Diff line
@@ -123,7 +123,6 @@ struct snd_intelhad {
	enum		intel_had_aud_buf_type curr_buf;
	int		valid_buf_cnt;
	unsigned int	aes_bits;
	bool flag_underrun;
	struct had_stream_data stream_data;
	spinlock_t had_spinlock;
	enum		intel_had_aud_buf_type buff_done;