diff options
| author | Lizhi Hou <lizhi.hou@amd.com> | 2026-06-04 12:54:59 -0700 |
|---|---|---|
| committer | Lizhi Hou <lizhi.hou@amd.com> | 2026-06-05 09:18:20 -0700 |
| commit | 65cbdffa324d6d50dc14f762c1430a2d1dafb7d4 (patch) | |
| tree | 86cf56479a1b6d519b582daa2b91cbff17a50396 /drivers/accel | |
| parent | 62c1671f6454ceaa80e9ceff63f821aa36f35154 (diff) | |
| download | linux-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.c | 8 |
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); |
