> On 11 Feb 2026, at 22:37, Deborah Brouwer <[email protected]> 
> wrote:
> 
> From: Beata Michalska <[email protected]>
> 
> 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.
> 
> Signed-off-by: Beata Michalska <[email protected]>
> Co-developed-by: Deborah Brouwer <[email protected]>
> Signed-off-by: Deborah Brouwer <[email protected]>
> ---
> drivers/gpu/drm/tyr/driver.rs | 11 +++++++++++
> drivers/gpu/drm/tyr/gpu.rs    |  1 -
> 2 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/tyr/driver.rs b/drivers/gpu/drm/tyr/driver.rs
> index e5eae5a73371..2973a8b3cc09 100644
> --- a/drivers/gpu/drm/tyr/driver.rs
> +++ b/drivers/gpu/drm/tyr/driver.rs
> @@ -11,6 +11,10 @@
>         Device, //
>     },
>     devres::Devres,
> +    dma::{
> +        Device as DmaDevice,
> +        DmaMask, //
> +    },
>     drm,
>     drm::{
>         driver::Registration,
> @@ -134,6 +138,13 @@ fn probe(
>         let gpu_info = GpuInfo::new(pdev.as_ref(), &iomem)?;
>         gpu_info.log(pdev);
> 
> +        // 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(gpu_info.pa_bits())?)?;
> +        }
> +
>         let uninit_ddev = 
> UnregisteredDevice::<TyrDrmDriver>::new(pdev.as_ref())?;
>         let platform: ARef<platform::Device> = pdev.into();
> 
> diff --git a/drivers/gpu/drm/tyr/gpu.rs b/drivers/gpu/drm/tyr/gpu.rs
> index affca5b0dc6c..b5f11bc96fa0 100644
> --- a/drivers/gpu/drm/tyr/gpu.rs
> +++ b/drivers/gpu/drm/tyr/gpu.rs
> @@ -141,7 +141,6 @@ pub(crate) fn va_bits(&self) -> u32 {
>     }
> 
>     /// Returns the number of physical address bits supported by the GPU.
> -    #[expect(dead_code)]
>     pub(crate) fn pa_bits(&self) -> u32 {
>         (self.mmu_features >> 8) & genmask_u32(0..=7)
>     }
> -- 
> 2.52.0
> 

Reviewed-by: Daniel Almeida <[email protected]>

Reply via email to