ALSA: pcm: move fixup of info flag after selecting single parameters
When drivers register no flags about information of PCM hardware, ALSA PCM core fixups it roughly. Currently, this operation places in a function snd_pcm_hw_refine(). It can be moved to a function fixup_unreferenced_params() because it doesn't affects operations between these two functions. This idea is better to bundle codes with similar purposes and this commit achieves it. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
f9a076bff0
commit
7802fb5256
|
@ -472,13 +472,21 @@ static int fixup_unreferenced_params(struct snd_pcm_substream *substream,
|
|||
}
|
||||
}
|
||||
|
||||
if (!params->info) {
|
||||
params->info = substream->runtime->hw.info;
|
||||
params->info &= ~(SNDRV_PCM_INFO_FIFO_IN_FRAMES |
|
||||
SNDRV_PCM_INFO_DRAIN_TRIGGER);
|
||||
if (!hw_support_mmap(substream))
|
||||
params->info &= ~(SNDRV_PCM_INFO_MMAP |
|
||||
SNDRV_PCM_INFO_MMAP_VALID);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
|
||||
struct snd_pcm_hw_params *params)
|
||||
{
|
||||
struct snd_pcm_hardware *hw;
|
||||
int err;
|
||||
|
||||
params->info = 0;
|
||||
|
@ -502,16 +510,8 @@ int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
|
|||
if (err < 0)
|
||||
return err;
|
||||
|
||||
hw = &substream->runtime->hw;
|
||||
if (!params->info) {
|
||||
params->info = hw->info & ~(SNDRV_PCM_INFO_FIFO_IN_FRAMES |
|
||||
SNDRV_PCM_INFO_DRAIN_TRIGGER);
|
||||
if (!hw_support_mmap(substream))
|
||||
params->info &= ~(SNDRV_PCM_INFO_MMAP |
|
||||
SNDRV_PCM_INFO_MMAP_VALID);
|
||||
}
|
||||
|
||||
params->rmask = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(snd_pcm_hw_refine);
|
||||
|
|
Loading…
Reference in New Issue