summaryrefslogtreecommitdiff
path: root/drivers/accel
diff options
context:
space:
mode:
authorLizhi Hou <lizhi.hou@amd.com>2026-06-04 12:54:59 -0700
committerLizhi Hou <lizhi.hou@amd.com>2026-06-05 09:18:20 -0700
commit65cbdffa324d6d50dc14f762c1430a2d1dafb7d4 (patch)
tree86cf56479a1b6d519b582daa2b91cbff17a50396 /drivers/accel
parent62c1671f6454ceaa80e9ceff63f821aa36f35154 (diff)
downloadlinux-next-65cbdffa324d6d50dc14f762c1430a2d1dafb7d4.tar.gz
linux-next-65cbdffa324d6d50dc14f762c1430a2d1dafb7d4.zip
accel/amdxdna: Require carveout when PASID and force_iova are disabled
When both PASID and force_iova are disabled, carveout memory should be used. Reject buffer allocations that cannot use carveout memory in this configuration and return an error. Fixes: 3cc5d7a59519 ("accel/amdxdna: Add carveout memory support for non-IOMMU systems") Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org> Signed-off-by: Lizhi Hou <lizhi.hou@amd.com> Link: https://patch.msgid.link/20260604195459.2423279-1-lizhi.hou@amd.com
Diffstat (limited to 'drivers/accel')
-rw-r--r--drivers/accel/amdxdna/amdxdna_pci_drv.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/accel/amdxdna/amdxdna_pci_drv.c b/drivers/accel/amdxdna/amdxdna_pci_drv.c
index c677293c1ae7..1f066ed8d236 100644
--- a/drivers/accel/amdxdna/amdxdna_pci_drv.c
+++ b/drivers/accel/amdxdna/amdxdna_pci_drv.c
@@ -120,8 +120,14 @@ static int amdxdna_drm_open(struct drm_device *ddev, struct drm_file *filp)
if (!amdxdna_iova_on(xdna)) {
/* No need to fail open since user may use pa + carveout later. */
- if (amdxdna_sva_init(client))
+ if (amdxdna_sva_init(client)) {
XDNA_WARN(xdna, "PASID not available for pid %d", client->pid);
+ if (!amdxdna_use_carveout(xdna)) {
+ XDNA_ERR(xdna, "PASID unavailable and carveout not configured");
+ kfree(client);
+ return -EINVAL;
+ }
+ }
}
mmgrab(client->mm);
init_srcu_struct(&client->hwctx_srcu);