From nobody Mon May 25 05:12:56 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012048.outbound.protection.outlook.com [40.93.195.48]) (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 1C2BA2882CD for ; Mon, 18 May 2026 15:57:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779119864; cv=fail; b=S1jZmfElViaw08YW9DpOshR7Rwf0pg1U5U3wDexNwoZLFfYfrWMZrOmbdA3+cK0PT9VmTd0SCjGpCU0Uq8Yuf/aULYFYYskRgGD36ss+EA0bv/wzcpT4TH/QFaugD39vtwls4cY3bw2T+erPH9R2INHjo6PzMmEI35I2Mfwi5cU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779119864; c=relaxed/simple; bh=a2oDzYduuMt6inz/EmKqlorcJ4sL4YkujDNG5NSQ6E4=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=fVyCKiw1GntHdEyX6jVXrn87pdZfbl5C+U70QQXJZ6V3FfPS9DT4PIER7VFY+r2NqcJ/gOSGmsRjBknk3EHzgGjtpNRYTeDlHXi/RAQYn3rH/60fKaZqPRDnK3NDnM35K3MQz1TK2yFzZqWJwq8U8pdclqaQAbnR2pAzJbMArh4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=fez9jC7h; arc=fail smtp.client-ip=40.93.195.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="fez9jC7h" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CzqB+jQplPr3wyfJ7Kj8+iHScVVIvi4hBqbYpCF4eeVD8/NSU5NYjKDC8tuBmmUSdYvq2lrmR/ocxEYVv3uV+vM6yGYsU5Udgxt6ZnxUzB+X/qM0IbFgqGsVunEWPF7YUcq+8mVV8r9fSrQZ51EKgr5cg/u1Vj0jDyy3uh5ok9wRqOeMiiqdTUFww7rlsyVpHZeJ98qj4kxxK1fIVXhY54mkVunvhCbY7xl83nS/MAV53Qczsp1PJ99Xt6tADE1DCkPwVjU1d0om9oLzvXfK+XA5i6ZEk5DlBA0IxGflzuUuv5cifvyssZSeTC7WCWFiPTSwHQiv1B4b5Is5jBq+IQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SW0PQkmHbqIgFVRfYX43j9x3TuCRGG0eNMQOZjIcZe4=; b=RsdX53/9MN3AWX42G06nIFr99OwO8frD6OKSrM+2FGi+D/RqdCcQ8JZs5KDRrv02LTQxO4gRjN2dn55m4CLIhtZtjbsfFtVtOW7vri75LT7Rd3zAW20hCvNbtamAR07kn8hiKPpbbbuhD9mLP2DDu2H06Ns5u8C0XgPPvgsskzmL8asdFbJ/IMQmlj6xLLKLHK2/PlOVnJP71fB+geJfcIreJO6xEqRFnlr2r+ok6znZkJDANGUz2IeGX+wu0g4M19S+4Ac/2hy5YqXueWwQNeJR/SaiBLX+xaDoIgil3W6H5FV+epCg+Gdqnl93r+/4F0qSTHcnTZP7i+KYT79i/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SW0PQkmHbqIgFVRfYX43j9x3TuCRGG0eNMQOZjIcZe4=; b=fez9jC7hEtHBaBZAu/cgqOkB9Auv2IvNsnpZFcnBplSz3KjV6fiOJDstN3V/ykZEzQckKBg5lQrnjH8Q4PRwAEgB6XAp0+XBdRUoZ8Vi3G62jwJm41S+UqUY9qZqYkFUETuASWHLHp4FChCoxceHibqib+QZlAL5zW9hWFTRmy4= Received: from CH0PR03CA0058.namprd03.prod.outlook.com (2603:10b6:610:b3::33) by PH8PR12MB7254.namprd12.prod.outlook.com (2603:10b6:510:225::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.23; Mon, 18 May 2026 15:57:29 +0000 Received: from CH2PEPF0000013E.namprd02.prod.outlook.com (2603:10b6:610:b3:cafe::34) by CH0PR03CA0058.outlook.office365.com (2603:10b6:610:b3::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.25.23 via Frontend Transport; Mon, 18 May 2026 15:57:28 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by CH2PEPF0000013E.mail.protection.outlook.com (10.167.244.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.11 via Frontend Transport; Mon, 18 May 2026 15:57:28 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.41; Mon, 18 May 2026 10:57:18 -0500 Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 18 May 2026 10:57:18 -0500 Received: from xsjlizhih51.xilinx.com (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend Transport; Mon, 18 May 2026 10:57:17 -0500 From: Lizhi Hou To: , , , CC: Lizhi Hou , , , , , , , Subject: [PATCH V2] accel/amdxdna: Remove mmap and export support for ubuf Date: Mon, 18 May 2026 08:57:05 -0700 Message-ID: <20260518155706.937461-1-lizhi.hou@amd.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB03.amd.com: lizhi.hou@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF0000013E:EE_|PH8PR12MB7254:EE_ X-MS-Office365-Filtering-Correlation-Id: bf5d4738-68a2-4a09-cc10-08deb4f6294b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700016|18002099003|56012099003|11063799003; X-Microsoft-Antispam-Message-Info: XKtVVS8rMdPbZRVTYflLeBdXl9oLebHcgiJuRURjyWJzYhOR12WSBEW8uRYXAOxtXX+xVLbFr2KP76duPNsJT+Ns90TiqO+tRuF5VVKf7ErMhCegN1ZLqmbHHKrw+wCl7vtUfxANY/MfxhWupubqXzMgKDKrV12gWUKnb9AKcrTWiJweLLhnf1r1iWifq8Z63Yq9C+4I690BlkDdvLb43I10A88UysqbQhsZItWMHry5K3SgSbBkGvoRXgOYh3fTYDCfiHskvjzMMrj4RT1zQW0HXuOD9TMXvfrQJmkk/vFe+pz96Vk/dsH6Ap5T4bFXsIUOXhU1Wc9Vz2RZ3YfE/EqExY5ZzjUoMmv7X4hs8K3xvIRFSiOyvY279sEnS3FRprps8AVVweYiDxUsoc3RQHTPJQWx6AZ5GCF/Nr1JDHdrPnr603dOC9Wx77nudkPOGmD7v61iWkW9Su4QCCxNbntaXR+rdJZmaoeOl8HmZz3H6LzyT238dGnfNgcZFbVP1sSHYxwpOoVeaGCGQdPKFN4V7gyXclp29hLqkTyxjhGn2C53Tg4uOXxbmcgl4LseDlnPXcYgiYFb7HUvmt63guClpQ47hO3iDTH3VM67hc2+bielclEcV76PPyRJE07kOJZq4qPRbuYXAeZOlk4qm9nl7IRVkERZ3Hw2JvA+O22HIJ4ZvRJ8njnOCM1K8TCo2pUNn51kn6VIwM7plnzIVkGH15hZJkxK56XHUc4izsg= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700016)(18002099003)(56012099003)(11063799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QujnHfeIiKWoJ/bpxy+0lH6sl8SFi8ThuRp/ni5AQ7TXFBoIRN/PN9o9oHF7JqNFUo+8wgy80wLq/dCHi7GXtiEojMXxAk1iIw5jSmF9uzX2C7lOdFiPwNj72w9b3i1IlLmjZL9A7/Re2GenYp42NSizsye/ffFwct1ZVkJryhdBVkJfA/SPCV54SfjRxiJOSil8g/nXRv6AyKvnUsCce94geYktvAFLOFdvJyg1MXcgsD06RyoSbLVkx/rfJwgQxE8npVdGJSyDGWDRA1noC003yGNw37ByyjhuNBuG4LH+XUEeyjENBIRKvNeLKEUWi70R+O2nF9Q8E+GtCFkk8+1VIXf/llBnWRhKpBQEjpuHqvD0Z/bCG5wP4UhLyLZR08fsGvnrBxZc2lWng5cbBOKt59BM7DntqISfLS67zxJGKXZditOXj/+zrKzHIHWn X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 15:57:28.0426 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bf5d4738-68a2-4a09-cc10-08deb4f6294b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF0000013E.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7254 Content-Type: text/plain; charset="utf-8" Ubuf pages should not be mmaped or exported. Remove the ubuf mmap callback and return -EOPNOTSUPP when exporting ubuf objects. ubuf vmap is also removed for there is not a real use case yet. Fixes: bd72d4acda10 ("accel/amdxdna: Support user space allocated buffer") Cc: Christian Koenig Signed-off-by: Lizhi Hou Reviewed-by: Christian K=C3=B6nig Reviewed-by: Mario Limonciello (AMD) --- v2: Remove dead code amdxdna_ubuf_vm_ops structure and amdxdna_ubuf_vm_fault function. Rename Non-exportable buffer flag from 'pri' to 'private_buffer' drivers/accel/amdxdna/amdxdna_gem.c | 9 ++++- drivers/accel/amdxdna/amdxdna_gem.h | 2 ++ drivers/accel/amdxdna/amdxdna_ubuf.c | 50 ---------------------------- 3 files changed, 10 insertions(+), 51 deletions(-) diff --git a/drivers/accel/amdxdna/amdxdna_gem.c b/drivers/accel/amdxdna/am= dxdna_gem.c index 319d2064fafa..6b9b556de555 100644 --- a/drivers/accel/amdxdna/amdxdna_gem.c +++ b/drivers/accel/amdxdna/amdxdna_gem.c @@ -492,6 +492,9 @@ static struct dma_buf *amdxdna_gem_prime_export(struct = drm_gem_object *gobj, int struct amdxdna_gem_obj *abo =3D to_xdna_obj(gobj); DEFINE_DMA_BUF_EXPORT_INFO(exp_info); =20 + if (abo->private_buffer) + return ERR_PTR(-EOPNOTSUPP); + if (abo->dma_buf) { get_dma_buf(abo->dma_buf); return abo->dma_buf; @@ -716,6 +719,7 @@ amdxdna_gem_create_ubuf_object(struct drm_device *dev, = struct amdxdna_drm_create { struct amdxdna_dev *xdna =3D to_xdna_dev(dev); struct amdxdna_drm_va_tbl va_tbl; + struct amdxdna_gem_obj *abo; struct drm_gem_object *gobj; struct dma_buf *dma_buf; =20 @@ -742,7 +746,10 @@ amdxdna_gem_create_ubuf_object(struct drm_device *dev,= struct amdxdna_drm_create =20 dma_buf_put(dma_buf); =20 - return to_xdna_obj(gobj); + abo =3D to_xdna_obj(gobj); + abo->private_buffer =3D true; + + return abo; } =20 static struct amdxdna_gem_obj * diff --git a/drivers/accel/amdxdna/amdxdna_gem.h b/drivers/accel/amdxdna/am= dxdna_gem.h index 4fc48a1189d2..957305ccb485 100644 --- a/drivers/accel/amdxdna/amdxdna_gem.h +++ b/drivers/accel/amdxdna/amdxdna_gem.h @@ -54,6 +54,8 @@ struct amdxdna_gem_obj { =20 /* True, if BO is managed by XRT, not application */ bool internal; + /* True, if BO is not exportable */ + bool private_buffer; }; =20 #define to_gobj(obj) (&(obj)->base.base) diff --git a/drivers/accel/amdxdna/amdxdna_ubuf.c b/drivers/accel/amdxdna/a= mdxdna_ubuf.c index 3769210c55cc..bb60fb80467e 100644 --- a/drivers/accel/amdxdna/amdxdna_ubuf.c +++ b/drivers/accel/amdxdna/amdxdna_ubuf.c @@ -69,60 +69,10 @@ static void amdxdna_ubuf_release(struct dma_buf *dbuf) kfree(ubuf); } =20 -static vm_fault_t amdxdna_ubuf_vm_fault(struct vm_fault *vmf) -{ - struct vm_area_struct *vma =3D vmf->vma; - struct amdxdna_ubuf_priv *ubuf; - unsigned long pfn; - pgoff_t pgoff; - - ubuf =3D vma->vm_private_data; - pgoff =3D (vmf->address - vma->vm_start) >> PAGE_SHIFT; - - pfn =3D page_to_pfn(ubuf->pages[pgoff]); - return vmf_insert_pfn(vma, vmf->address, pfn); -} - -static const struct vm_operations_struct amdxdna_ubuf_vm_ops =3D { - .fault =3D amdxdna_ubuf_vm_fault, -}; - -static int amdxdna_ubuf_mmap(struct dma_buf *dbuf, struct vm_area_struct *= vma) -{ - struct amdxdna_ubuf_priv *ubuf =3D dbuf->priv; - - vma->vm_ops =3D &amdxdna_ubuf_vm_ops; - vma->vm_private_data =3D ubuf; - vm_flags_set(vma, VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP); - - return 0; -} - -static int amdxdna_ubuf_vmap(struct dma_buf *dbuf, struct iosys_map *map) -{ - struct amdxdna_ubuf_priv *ubuf =3D dbuf->priv; - void *kva; - - kva =3D vmap(ubuf->pages, ubuf->nr_pages, VM_MAP, PAGE_KERNEL); - if (!kva) - return -EINVAL; - - iosys_map_set_vaddr(map, kva); - return 0; -} - -static void amdxdna_ubuf_vunmap(struct dma_buf *dbuf, struct iosys_map *ma= p) -{ - vunmap(map->vaddr); -} - static const struct dma_buf_ops amdxdna_ubuf_dmabuf_ops =3D { .map_dma_buf =3D amdxdna_ubuf_map, .unmap_dma_buf =3D amdxdna_ubuf_unmap, .release =3D amdxdna_ubuf_release, - .mmap =3D amdxdna_ubuf_mmap, - .vmap =3D amdxdna_ubuf_vmap, - .vunmap =3D amdxdna_ubuf_vunmap, }; =20 static int readonly_va_entry(struct amdxdna_drm_va_entry *va_ent) --=20 2.34.1