• Sugar Zhang's avatar
    ASoC: rockchip: Use generic dmaengine code · 5ba8ecf2
    Sugar Zhang authored
    This reverts commit 75b31192.
    
    The original purpose of customized pcm was to config prealloc buffer size
    flexibly. but, we can do the same thing by soc-generic-dmaengine-pcm.
    
    And the generic one can generated the better config by querying DMA
    capabilities from dmaengine driver rather than the Hard-Coded one.
    
    e.g.
    
    the customized one:
    
      static const struct snd_pcm_hardware snd_rockchip_hardware = {
             .info                   = SNDRV_PCM_INFO_MMAP |
                                       SNDRV_PCM_INFO_MMAP_VALID |
                                       SNDRV_PCM_INFO_PAUSE |
                                       SNDRV_PCM_INFO_RESUME |
                                       SNDRV_PCM_INFO_INTERLEAVED,
      ...
    
    the generic one:
    
      ret = dma_get_slave_caps(chan, &dma_caps);
      if (ret == 0) {
              if (dma_caps.cmd_pause && dma_caps.cmd_resume)
                      hw.info |= SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME;
              if (dma_caps.residue_granularity <= DMA_RESIDUE_GRANULARITY_SEGMENT)
                      hw.info |= SNDRV_PCM_INFO_BATCH;
      ...
    
    So, let's revert back to use the generic dmaengine pcm.
    Signed-off-by: default avatarSugar Zhang <sugar.zhang@rock-chips.com>
    Reviewed-by: default avatarJohn Keeping <john@metanate.com>
    Link: https://lore.kernel.org/r/1632792957-80428-1-git-send-email-sugar.zhang@rock-chips.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    5ba8ecf2
rockchip_i2s.c 18.6 KB