soc/qualcomm: Map the post-RAM DMA coherent buffer
The MMU configuration in qc_mmu_dram_config_post_dram_init() needs to include the memory region allocated for DMA coherent buffers. Map the `postram_dma_coherent` region as UNCACHED_RAM to ensure memory writes bypass the CPU cache hierarchy. The mapping is only configured if the `_postram_dma_coherent` address is different from `_preram_dma_coherent` address aka migration of the region. This is necessary for DMA operations that occur after DRAM is initialized. BUG=b:456953373 TEST=Able to build google/quenbi. Change-Id: If5f625ad74f4f6ea244c8b377543be3666122cea Signed-off-by: Subrata Banik <subratabanik@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/90050 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Kapil Porwal <kapilporwal@google.com>
This commit is contained in:
parent
931fa9c01d
commit
958099b114
1 changed files with 3 additions and 0 deletions
|
|
@ -73,4 +73,7 @@ void qc_mmu_dram_config_post_dram_init(size_t ddr_size)
|
|||
CACHED_RAM);
|
||||
mmu_config_range((void *)_aop_data_ram, REGION_SIZE(aop_data_ram),
|
||||
CACHED_RAM);
|
||||
if (_preram_dma_coherent != _postram_dma_coherent)
|
||||
mmu_config_range((void *)_postram_dma_coherent, REGION_SIZE(postram_dma_coherent),
|
||||
UNCACHED_RAM);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue