ASoC: wm0010: Use DMA-safe memory for SPI transfers
Subsystems (3)
PATCH 1/1 ASoC: wm0010: Use DMA-safe memory for SPI transfers
We should be allocating our buffers for the SPI transfers from the DMA zone.
Signed-off-by Dimitris Papastamos <[email protected]>
--- sound/soc/codecs/wm0010.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
sound/soc/codecs/wm0010.c +6 -6
@@ -420,7 +420,7 @@ static int wm0010_firmware_load(const char *name, struct snd_soc_codec *codec) xfer->codec = codec;list_add_tail (&xfer->list, &xfer_list); - out =kzalloc (len,GFP_KERNEL ); + out =kzalloc (len,GFP_KERNEL |GFP_DMA );if (!out) {dev_err (codec->dev,"Failed to allocate RX buffer\n" );
@@ -429,7 +429,7 @@ static int wm0010_firmware_load(const char *name, struct snd_soc_codec *codec) } xfer->t.rx_buf = out; - img =kzalloc (len,GFP_KERNEL ); + img =kzalloc (len,GFP_KERNEL |GFP_DMA );if (!img) {dev_err (codec->dev,"Failed to allocate image buffer\n" );
@@ -523,14 +523,14 @@ static int wm0010_stage2_load(struct snd_soc_codec *codec)dev_dbg (codec->dev,"Downloading %zu byte stage 2 loader\n" , fw->size);/* Copy to local buffer first as vmalloc causes problems for dma */ - img =kzalloc (fw->size,GFP_KERNEL ); + img =kzalloc (fw->size,GFP_KERNEL |GFP_DMA );if (!img) {dev_err (codec->dev,"Failed to allocate image buffer\n" ); ret = -ENOMEM ; goto abort2; } - out =kzalloc (fw->size,GFP_KERNEL ); + out =kzalloc (fw->size,GFP_KERNEL |GFP_DMA );if (!out) {dev_err (codec->dev,"Failed to allocate output buffer\n" ); ret = -ENOMEM ;
@@ -670,14 +670,14 @@ static int wm0010_boot(struct snd_soc_codec *codec) ret = -ENOMEM ; len = pll_rec.length +8 ; - out =kzalloc (len,GFP_KERNEL ); + out =kzalloc (len,GFP_KERNEL |GFP_DMA );if (!out) {dev_err (codec->dev,"Failed to allocate RX buffer\n" ); goto abort; } - img_swap =kzalloc (len,GFP_KERNEL ); + img_swap =kzalloc (len,GFP_KERNEL |GFP_DMA );if (!img_swap) {dev_err (codec->dev,"Failed to allocate image buffer\n" );
Signature · 1 line
1.8.3.4
Quoted 2 lines · Dimitris Papastamos
We should be allocating our buffers for the SPI transfers from the DMA zone.
Applied, thanks.