From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33CE833A6F9; Fri, 24 Apr 2026 23:40:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777074002; cv=pass; b=UfdZzIJPIpWk2PDGclfrB9U2yEnL0Rb5pevlG332Bz9Ky1mn0efLYQ932qJ9N1SRJUEnn/xNEOi3sxCyweL8tD4lyIyswrwoIOGc6xpGOW7SMqdaTYqi/o348AQiy78vy8X63nuSZ0vICLN8ey70T38D6sjwyKt421kYp4I2iXk= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777074002; c=relaxed/simple; bh=j2+XN5IcQADZ6IsuFpiGP4oQAT8A7zDww6i6AoAwudU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KxB9Q+8JrKvxYAsouVG3iiN5XamglgPf24sxofUfy8NE6WLYP0jdslbNY9Kh8g+emlE+kEvTCVYEymasqeM+kJ8FwCvrSbsiywaivyMxvMzLRBupyFskda3h90b9U7UOr6mv3K4Drx39k5K6yOQtyK5UU/MxJl7ECIBP0Q5NF6o= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=deborah.brouwer@collabora.com header.b=DtsHCb62; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=deborah.brouwer@collabora.com header.b="DtsHCb62" ARC-Seal: i=1; a=rsa-sha256; t=1777073963; cv=none; d=zohomail.com; s=zohoarc; b=G1rJt4jQus/1OknPXjtZo/fIFIqu17MTGBgPgMO1fuexuF02xTX8g13GaQMJSAlUcrE65KnbFwnrXNkpNWDBuYxBRY8WDHOlHtvBUSQd9olA2PqE3klmab6wpd/L4n3FALjzHvZ3Vqvr+gWiO3I+qoFzNcDx3huP8s7k8fUon8k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777073963; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=Td95XBU/QVVNPvpNOyHFW9D3+lVJZxs6G6aunCPb574=; b=Rzkwh8vtZEB/hjiLPmMG4ne75S1jjDeNmZiUfe90kFuIe1GM6lVKRqSRG7MAmO4ejBhsfMlpnhZThgHY+SRVUrXPBObJCFWMF7MCgMYnvGbsXwdv5aKe3xczWb1mS/MI8kZb530UzrGAdge3IZhS70926AsDYGF/3cuO8YUULTU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=deborah.brouwer@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1777073963; s=zohomail; d=collabora.com; i=deborah.brouwer@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=Td95XBU/QVVNPvpNOyHFW9D3+lVJZxs6G6aunCPb574=; b=DtsHCb62eFwE+c8AGLYCRfu0U3v1668kT81DnanRqKuRh5odD8dYsSIvrCWFA2Z3 YGqawkW1p3f+MJ3aIZ1qKIr5N1I2FynLQC1LA9Hgg0pWngUHuCeSA8di4CON7waAb2i kxp+bcy129XoX9W0ulTN0xwbTl0ppKYXgQ1o9Pgw= Received: by mx.zohomail.com with SMTPS id 1777073962240322.9011342025583; Fri, 24 Apr 2026 16:39:22 -0700 (PDT) From: Deborah Brouwer Date: Fri, 24 Apr 2026 16:39:00 -0700 Subject: [PATCH v4 06/20] drm/tyr: set DMA mask using GPU physical address Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260424-b4-fw-boot-v4-v4-6-a5d91050789d@collabora.com> References: <20260424-b4-fw-boot-v4-v4-0-a5d91050789d@collabora.com> In-Reply-To: <20260424-b4-fw-boot-v4-v4-0-a5d91050789d@collabora.com> To: Daniel Almeida , Alice Ryhl , Danilo Krummrich , David Airlie , Simona Vetter , Benno Lossin , Gary Guo , Miguel Ojeda , Boqun Feng , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Andreas Hindborg , Trevor Gross , FUJITA Tomonori , Frederic Weisbecker , Thomas Gleixner , Anna-Maria Behnsen , John Stultz , Stephen Boyd Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, boris.brezillon@collabora.com, beata.michalska@arm.com, lyude@redhat.com, acourbot@nvidia.com, work@onurozkan.dev, alvin.sun@linux.dev, Deborah Brouwer X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1727; i=deborah.brouwer@collabora.com; h=from:subject:message-id; bh=K3zABDKgOMYL6fCZDCWZYPbstPK4Q3KaSxiOaydBw08=; b=owGbwMvMwCVWuULzOU9c7WvG02pJDJmv/ysc6NPaFC19UeKBaeeuzb85bJZ2HM96pj+Da9HNn 7debp4m01HKwiDGxSArpshy1t6oR7zqvZHu/P/NMHNYmUCGMHBxCsBEDtQwMvxeEHfgWX7Ewka9 6lrfk5vK3Yq3+dS5sKkbPxZbcGJPTS0jw/tzsravuTlzW4OfHl7nsOt8353lKqxsnOsWaSmeDJ3 znxsA X-Developer-Key: i=deborah.brouwer@collabora.com; a=openpgp; fpr=CD3F328C177AEF322D9FFF8379A829E70C5E7DEB From: Beata Michalska 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 Reviewed-by: Daniel Almeida Reviewed-by: Alice Ryhl Signed-off-by: Beata Michalska Co-developed-by: Deborah Brouwer Signed-off-by: Deborah Brouwer --- drivers/gpu/drm/tyr/driver.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/gpu/drm/tyr/driver.rs b/drivers/gpu/drm/tyr/driver.rs index 26a20e0ab91c..1f09f59e271a 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, @@ -138,6 +142,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 uninit_ddev = UnregisteredDevice::::new(pdev.as_ref())?; let platform: ARef = pdev.into(); -- 2.53.0