mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
ASoC: SOF: amd: acp-loader: Use GFP_KERNEL for DMA allocations in resume context
commiteb3bb14528
upstream. Replace GFP_ATOMIC with GFP_KERNEL for dma_alloc_coherent() calls. This change improves memory allocation reliability during firmware loading, particularly during system resume when memory pressure is high. Because of using GFP_KERNEL, reclaim can happen which can reduce the probability of failure. Fixes memory allocation failures observed during system resume with fragmented memory conditions. snd_sof_amd_vangogh 0000:04:00.5: error: failed to load DSP firmware after resume -12 Fixes:145d7e5ae8
("ASoC: SOF: amd: add option to use sram for data bin loading") Fixes:7e51a9e38a
("ASoC: SOF: amd: Add fw loader and renoir dsp ops to load firmware") Cc: stable@vger.kernel.org Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> Link: https://patch.msgid.link/20250725190254.1081184-1-usama.anjum@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
bae2af0ead
commit
8b7b5f1477
|
@ -65,7 +65,7 @@ int acp_dsp_block_write(struct snd_sof_dev *sdev, enum snd_sof_fw_blk_type blk_t
|
|||
dma_size = page_count * ACP_PAGE_SIZE;
|
||||
adata->bin_buf = dma_alloc_coherent(&pci->dev, dma_size,
|
||||
&adata->sha_dma_addr,
|
||||
GFP_ATOMIC);
|
||||
GFP_KERNEL);
|
||||
if (!adata->bin_buf)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ int acp_dsp_block_write(struct snd_sof_dev *sdev, enum snd_sof_fw_blk_type blk_t
|
|||
adata->data_buf = dma_alloc_coherent(&pci->dev,
|
||||
ACP_DEFAULT_DRAM_LENGTH,
|
||||
&adata->dma_addr,
|
||||
GFP_ATOMIC);
|
||||
GFP_KERNEL);
|
||||
if (!adata->data_buf)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ int acp_dsp_block_write(struct snd_sof_dev *sdev, enum snd_sof_fw_blk_type blk_t
|
|||
adata->sram_data_buf = dma_alloc_coherent(&pci->dev,
|
||||
ACP_DEFAULT_SRAM_LENGTH,
|
||||
&adata->sram_dma_addr,
|
||||
GFP_ATOMIC);
|
||||
GFP_KERNEL);
|
||||
if (!adata->sram_data_buf)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user