Merge tag 'asoc-fix-v4.5-rc4' into asoc-qcom
ASoC: Fixes for v4.5 A rather large batch of fixes here, almost all in the Intel driver. The changes that got merged in this merge window for Skylake were rather large and as well as issues that you'd expect in a large block of new code there were some problems created for older processors which needed fixing up. Things are largely settling down now hopefully.
This commit is contained in:
@@ -440,18 +440,18 @@ static irqreturn_t lpass_platform_lpaif_irq(int irq, void *data)
|
||||
}
|
||||
|
||||
static int lpass_platform_alloc_buffer(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_pcm_runtime *soc_runtime)
|
||||
struct snd_soc_pcm_runtime *rt)
|
||||
{
|
||||
struct snd_dma_buffer *buf = &substream->dma_buffer;
|
||||
size_t size = lpass_platform_pcm_hardware.buffer_bytes_max;
|
||||
|
||||
buf->dev.type = SNDRV_DMA_TYPE_DEV;
|
||||
buf->dev.dev = soc_runtime->dev;
|
||||
buf->dev.dev = rt->platform->dev;
|
||||
buf->private_data = NULL;
|
||||
buf->area = dma_alloc_coherent(soc_runtime->dev, size, &buf->addr,
|
||||
buf->area = dma_alloc_coherent(rt->platform->dev, size, &buf->addr,
|
||||
GFP_KERNEL);
|
||||
if (!buf->area) {
|
||||
dev_err(soc_runtime->dev, "%s: Could not allocate DMA buffer\n",
|
||||
dev_err(rt->platform->dev, "%s: Could not allocate DMA buffer\n",
|
||||
__func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
@@ -461,12 +461,12 @@ static int lpass_platform_alloc_buffer(struct snd_pcm_substream *substream,
|
||||
}
|
||||
|
||||
static void lpass_platform_free_buffer(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_pcm_runtime *soc_runtime)
|
||||
struct snd_soc_pcm_runtime *rt)
|
||||
{
|
||||
struct snd_dma_buffer *buf = &substream->dma_buffer;
|
||||
|
||||
if (buf->area) {
|
||||
dma_free_coherent(soc_runtime->dev, buf->bytes, buf->area,
|
||||
dma_free_coherent(rt->dev, buf->bytes, buf->area,
|
||||
buf->addr);
|
||||
}
|
||||
buf->area = NULL;
|
||||
@@ -499,9 +499,6 @@ static int lpass_platform_pcm_new(struct snd_soc_pcm_runtime *soc_runtime)
|
||||
|
||||
snd_soc_pcm_set_drvdata(soc_runtime, data);
|
||||
|
||||
soc_runtime->dev->coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
soc_runtime->dev->dma_mask = &soc_runtime->dev->coherent_dma_mask;
|
||||
|
||||
ret = lpass_platform_alloc_buffer(substream, soc_runtime);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
Reference in New Issue
Block a user