ASoC: intel: atom: Use managed buffer allocation
authorTakashi Iwai <tiwai@suse.de>
Tue, 10 Dec 2019 14:26:11 +0000 (15:26 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 11 Dec 2019 16:43:32 +0000 (16:43 +0000)
Clean up the driver with the new managed buffer allocation API.
The hw_params and hw_free callbacks became superfluous and got
dropped.

Cc: Cezary Rojewski <cezary.rojewski@intel.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Cc: Jie Yang <yang.jie@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20191210142614.19405-21-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/atom/sst-mfld-platform-pcm.c

index 607c8f5..340bd2b 100644 (file)
@@ -387,27 +387,6 @@ static int sst_media_prepare(struct snd_pcm_substream *substream,
        return ret_val;
 }
 
-static int sst_media_hw_params(struct snd_pcm_substream *substream,
-                               struct snd_pcm_hw_params *params,
-                               struct snd_soc_dai *dai)
-{
-       int ret;
-
-       ret =
-               snd_pcm_lib_malloc_pages(substream,
-                               params_buffer_bytes(params));
-       if (ret)
-               return ret;
-       memset(substream->runtime->dma_area, 0, params_buffer_bytes(params));
-       return 0;
-}
-
-static int sst_media_hw_free(struct snd_pcm_substream *substream,
-               struct snd_soc_dai *dai)
-{
-       return snd_pcm_lib_free_pages(substream);
-}
-
 static int sst_enable_ssp(struct snd_pcm_substream *substream,
                        struct snd_soc_dai *dai)
 {
@@ -473,8 +452,6 @@ static const struct snd_soc_dai_ops sst_media_dai_ops = {
        .startup = sst_media_open,
        .shutdown = sst_media_close,
        .prepare = sst_media_prepare,
-       .hw_params = sst_media_hw_params,
-       .hw_free = sst_media_hw_free,
        .mute_stream = sst_media_digital_mute,
 };
 
@@ -677,7 +654,7 @@ static int sst_soc_pcm_new(struct snd_soc_component *component,
 
        if (dai->driver->playback.channels_min ||
                        dai->driver->capture.channels_min) {
-               snd_pcm_lib_preallocate_pages_for_all(pcm,
+               snd_pcm_set_managed_buffer_all(pcm,
                        SNDRV_DMA_TYPE_CONTINUOUS,
                        snd_dma_continuous_data(GFP_DMA),
                        SST_MIN_BUFFER, SST_MAX_BUFFER);