ASoC: Intel: avs: Set max DMA segment size
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Thu, 7 Jul 2022 12:41:48 +0000 (14:41 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 8 Jul 2022 17:53:23 +0000 (18:53 +0100)
Apparently it is possible for code to allocate large buffers which may
cause warnings as reported in [1]. This was fixed for HDA, SOF and
skylake in patchset [2], fix it also for avs driver.

[1] https://github.com/thesofproject/linux/issues/3430
[2] https://lore.kernel.org/all/20220215132756.31236-1-tiwai@suse.de/

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220707124153.1858249-8-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/core.c

index 4234ade..6a35bf4 100644 (file)
@@ -446,6 +446,7 @@ static int avs_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
                dma_set_mask(dev, DMA_BIT_MASK(32));
                dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
        }
+       dma_set_max_seg_size(dev, UINT_MAX);
 
        ret = avs_hdac_bus_init_streams(bus);
        if (ret < 0) {