浏览代码

ALSA: hda - Minor refactoring

Move the small portion of the common sequence in hda_intel.c and
hda_tegra.c into hda_controller.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 10 年之前
父节点
当前提交
602518a21b
共有 3 个文件被更改,包括 7 次插入9 次删除
  1. 7 3
      sound/pci/hda/hda_controller.c
  2. 0 3
      sound/pci/hda/hda_intel.c
  3. 0 3
      sound/pci/hda/hda_tegra.c

+ 7 - 3
sound/pci/hda/hda_controller.c

@@ -107,18 +107,22 @@ static int azx_pcm_hw_params(struct snd_pcm_substream *substream,
 {
 {
 	struct azx_pcm *apcm = snd_pcm_substream_chip(substream);
 	struct azx_pcm *apcm = snd_pcm_substream_chip(substream);
 	struct azx *chip = apcm->chip;
 	struct azx *chip = apcm->chip;
+	struct azx_dev *azx_dev = get_azx_dev(substream);
 	int ret;
 	int ret;
 
 
-	dsp_lock(get_azx_dev(substream));
-	if (dsp_is_locked(get_azx_dev(substream))) {
+	dsp_lock(azx_dev);
+	if (dsp_is_locked(azx_dev)) {
 		ret = -EBUSY;
 		ret = -EBUSY;
 		goto unlock;
 		goto unlock;
 	}
 	}
 
 
+	azx_dev->core.bufsize = 0;
+	azx_dev->core.period_bytes = 0;
+	azx_dev->core.format_val = 0;
 	ret = chip->ops->substream_alloc_pages(chip, substream,
 	ret = chip->ops->substream_alloc_pages(chip, substream,
 					  params_buffer_bytes(hw_params));
 					  params_buffer_bytes(hw_params));
 unlock:
 unlock:
-	dsp_unlock(get_azx_dev(substream));
+	dsp_unlock(azx_dev);
 	return ret;
 	return ret;
 }
 }
 
 

+ 0 - 3
sound/pci/hda/hda_intel.c

@@ -1743,9 +1743,6 @@ static int substream_alloc_pages(struct azx *chip,
 	int ret;
 	int ret;
 
 
 	mark_runtime_wc(chip, azx_dev, substream, false);
 	mark_runtime_wc(chip, azx_dev, substream, false);
-	azx_dev->core.bufsize = 0;
-	azx_dev->core.period_bytes = 0;
-	azx_dev->core.format_val = 0;
 	ret = snd_pcm_lib_malloc_pages(substream, size);
 	ret = snd_pcm_lib_malloc_pages(substream, size);
 	if (ret < 0)
 	if (ret < 0)
 		return ret;
 		return ret;

+ 0 - 3
sound/pci/hda/hda_tegra.c

@@ -104,9 +104,6 @@ static int substream_alloc_pages(struct azx *chip,
 {
 {
 	struct azx_dev *azx_dev = get_azx_dev(substream);
 	struct azx_dev *azx_dev = get_azx_dev(substream);
 
 
-	azx_dev->core.bufsize = 0;
-	azx_dev->core.period_bytes = 0;
-	azx_dev->core.format_val = 0;
 	return snd_pcm_lib_malloc_pages(substream, size);
 	return snd_pcm_lib_malloc_pages(substream, size);
 }
 }