mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
drm/tyr: set DMA mask using GPU physical address
Configure the device DMA mask during probe using the GPU's physical address capability reported in GpuInfo. This ensures DMA allocations use an appropriate address mask. Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: Beata Michalska <beata.michalska@arm.com> Co-developed-by: Deborah Brouwer <deborah.brouwer@collabora.com> Signed-off-by: Deborah Brouwer <deborah.brouwer@collabora.com> Link: https://patch.msgid.link/20260428-fw-boot-prerequisites-v1-4-c69af9abe1af@collabora.com Signed-off-by: Alice Ryhl <aliceryhl@google.com>
This commit is contained in:
parent
09a796e706
commit
a9bc67761d
|
|
@ -11,6 +11,10 @@
|
|||
Device, //
|
||||
},
|
||||
devres::Devres,
|
||||
dma::{
|
||||
Device as DmaDevice,
|
||||
DmaMask, //
|
||||
},
|
||||
drm,
|
||||
drm::ioctl,
|
||||
io::{
|
||||
|
|
@ -124,6 +128,14 @@ fn probe(
|
|||
let gpu_info = GpuInfo::new(pdev.as_ref(), &iomem)?;
|
||||
gpu_info.log(pdev.as_ref());
|
||||
|
||||
let pa_bits = MMU_FEATURES::from_raw(gpu_info.mmu_features)
|
||||
.pa_bits()
|
||||
.get();
|
||||
// SAFETY: No concurrent DMA allocations or mappings can be made because
|
||||
// the device is still being probed and therefore isn't being used by
|
||||
// other threads of execution.
|
||||
unsafe { pdev.dma_set_mask_and_coherent(DmaMask::try_new(pa_bits)?)? };
|
||||
|
||||
let platform: ARef<platform::Device> = pdev.into();
|
||||
|
||||
let data = try_pin_init!(TyrDrmDeviceData {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user