From patchwork Wed Nov 30 00:10:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jason Gunthorpe X-Patchwork-Id: 13059362 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E9E4C433FE for ; Wed, 30 Nov 2022 00:10:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230356AbiK3AKh (ORCPT ); Tue, 29 Nov 2022 19:10:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58048 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230201AbiK3AK3 (ORCPT ); Tue, 29 Nov 2022 19:10:29 -0500 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2046.outbound.protection.outlook.com [40.107.100.46]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B2D132064 for ; Tue, 29 Nov 2022 16:10:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hEiBNyw3h/Pf/HSWbjA5sLDLrUTw/IaEOj8fbehmLIgP1auGxztcMWnCLQQpJ/MkZNLE+eqdmDQePnhzqRIMmB/00j02/DLLWiT1qlUS7N/DLoVkGhD4dtkCr2NafPl0oQ2CGBhib67RGKtfqZJD9zQ2LaVnp9zcslqvLdS+RSoFJGkb/ckkh2XaqrMNapyhLpptAGm/j8+NmCxP4eZ1Ec5KX3r8OIH9tu7E83GFf0EmH2605iXcrLxqX5uSZo7aoRLzCwbBnx3JCQLDPBNk9FtmSg9Ddv1onFING1Bn/owjjkHMBMh64ASdIq1/hZyvGw6/SJPJiL3ulrPrczMISA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=UAs9ZZgcvkgCemtD4DNGDFuL5sM2lb8xOFx0kvPzz2w=; b=ZLuXiZ9U2QQwS69jY0IcSrsW8EHc/xqPdXIFONv/TMj1tKeTizr9ZDbar5l8GOrSC/ikc4bcAyHxpgLLZstcl3iWY9H9/9pxvQ1e2VADL7bR1bpEvUZTaxWxzQXiixHX+DH89vSXu3HsLBmgms5UIZCnLLyqx4u8dTs4bkQXPr+aT4jPCFiz71h1Aus6/O0SKMkc5c8VYSB1GTlo6uY52lkyu9zQOpOj/MJtWh1+tFY974jssa5CSFamBTKGXXvtfdo2ZIQURfI+MtGv048CGVQ47lop5qACKfKdI2HYZVz+GZK3wLAEA33JUcWALXYoncyx9fxzlzh49+/FXBpYDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UAs9ZZgcvkgCemtD4DNGDFuL5sM2lb8xOFx0kvPzz2w=; b=fy0M/nPDBdwc/MwlwxwISRf8x1Kj4v0Imkpxt5OWh0RgCzBbm+SQNSx1v5qHJYEfn8qLz3WeeOWdJ4KfYPvUfrSYxOO3zsUVaBpaQrTi9lfD4niUqdk581oDMtCKUC0r/0zdnmFwmaRwRVN/vkOf/CGTjOYCJxd7NXT+MB7CYeBNGMeNvoWEwzo1/o9ZdzL7jSlNstlqMKCT5ao3XjLwxZz6m+MtHD0w0DhNLvZ4C1vsrJHvBnCUjAsrJdHuLzNVTuNhZDk05gMXppDuZP8DS+BQ9HoaphzeAlLCIjNcrzeU3UxMyCGKvw/qj+v+H+qvEfTcgpCzNIbJmtB7NPFPVg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by SA1PR12MB7411.namprd12.prod.outlook.com (2603:10b6:806:2b1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Wed, 30 Nov 2022 00:10:25 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f8b0:df13:5f8d:12a]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f8b0:df13:5f8d:12a%8]) with mapi id 15.20.5857.023; Wed, 30 Nov 2022 00:10:25 +0000 From: Jason Gunthorpe To: Alex Williamson , Cornelia Huck , kvm@vger.kernel.org Cc: Christoph Hellwig , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PATCH v4 2/5] vfio/spapr: Move VFIO_CHECK_EXTENSION into tce_iommu_ioctl() Date: Tue, 29 Nov 2022 20:10:19 -0400 Message-Id: <2-v4-7993c351e9dc+33a818-vfio_modules_jgg@nvidia.com> In-Reply-To: <0-v4-7993c351e9dc+33a818-vfio_modules_jgg@nvidia.com> References: X-ClientProxiedBy: BL1PR13CA0331.namprd13.prod.outlook.com (2603:10b6:208:2c6::6) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|SA1PR12MB7411:EE_ X-MS-Office365-Filtering-Correlation-Id: 75ecb609-c9c5-4066-c916-08dad2674709 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ns1M4g+GnTEkBLwFGEPFtpTn3+wMltiHUU5ZH1yHgWMfz8/zufTcK/Tc1r8f0Wb8y4wSZxU6j+ep47xhyBCSiDdwRoZVjTLx3fRQQtEnLcDopqYfPscS5Jsw/myoMsYoH6Jnm1mDZFes/l0p/5i/ZULhzmjs9wCtq2UcKRLlSedDwyPKkra8f3Z/L1YFdwsBW0jwB+GIejKdrF55hE0/ylJ6/incuTymAOWJXWkddBF6t2Yr8CQ+cKLHBADzBYPJR0y0Mq8ACvW/hN261PY3/wEtZF2FsU5oJdCSD8HmroEWqIoxMA7B8f8pFWxxe2N0WByUhbgrwiO5lC0uoSm/M96159z8PNjKDu/25VW5GP7c/Dq+AP+LIOzB38CWZq1DwLLp27QtX5dUn8j4NezM3sFbIa9vLjLIvyTyDgkPRuLFOUpQfx+Xidq1DBRCwnLxme5JZVpN29USZATPKhfszGTu00HRgkrSNYS70r6VBsYHUivLf6SScsj5cAGuarnEk5eUnG+ZQVENk0GBd2tbKqAtIsz9KuDbBZou4f/qEpb1g6NxaI9Z0HHA71+pu7LYHAOwR+Sgtv1/JrmsToHLopA8/qCzuoMD26W4qNF1IWEoVHAsVQemGDxmIJnckd16K6FA4TWse0j4iMD99K6AaaUnUV021fvkPA0SjPzLEehNBh7jRGF+IKy4XPEKHZow X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199015)(6506007)(110136005)(2616005)(316002)(54906003)(6512007)(478600001)(26005)(6486002)(36756003)(186003)(38100700002)(86362001)(6666004)(83380400001)(66946007)(4326008)(8676002)(5660300002)(66556008)(8936002)(66476007)(41300700001)(2906002)(4216001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?mHiq5NFfWIlBy6YXkx5NNehjPKAr?= =?utf-8?q?yTZsViPE/wlc1dUFJUmR+yF175XnSM83KMJ5TunswTNWFWCemsfIZSthIpmAnLqyP?= =?utf-8?q?MYaW6BHkrMAHqkByUgsDJYIazwZ0Uw5+uP8ShGcaFTmry0QEYkTXjN0lNI9wvgtHR?= =?utf-8?q?Ix1yp18PGi5kfvi6hdohlfrK3M9U3W8mO9NcjJMJ3ikxVGIiB9HjSgwUxBKyaXI7d?= =?utf-8?q?RDuHWz53GJ/z78hbjYQF/sSPhGFGzC/rFQSjEziY0RLUSXb8E3WjaLvH+VntawFtD?= =?utf-8?q?Cl67woXVB7o/6TI5G2p3/K3OxQBQKjps/yItjuFfqh4uMUatXVXM/XSoqMALlOPwC?= =?utf-8?q?pOQIFzAJMD/gV9kWnJRGFQIjlEnFNdoIwmH+NvFnAV//h1zVGgcOxXQVsCDlv2i0v?= =?utf-8?q?o8cLA1zoqU65DKVIiR8sUJrIEDRN4UbTxJbi/3TtaCC1A9Kucgj6uezIIk7a4R1sC?= =?utf-8?q?zHpQjWjF/gqQZriGf1mCRj8jripjFPWsWBLtfdE552dVi+FJucINV99TazOHEKwTn?= =?utf-8?q?fvoMOQxrv2kCLB36ULtCQzQkcld+DIJjXS3+8+kYl8ULafmjtdu4dftFapPVqQT93?= =?utf-8?q?ZcO7HT9fdUtQh1TOXubr7h3s5eN0ZXTZzcC5KYCPhQwccArRN2dxBj7N7qFAO5nhf?= =?utf-8?q?e29EJbqkbyfN/FHK1e3Ys3ms/QxEdGNZe9cuMWryHjeX33lPY2JZxki2kKIV38/cg?= =?utf-8?q?W/3EfJN+srMNLF3ZkjkaTekTLKBe9p+9vDEd/BE8q8c5bwEDpMn2DqmLVoBEzuSaF?= =?utf-8?q?M+JJkVvVP/i+RSayi3IZxwKI+NoMNtNpMWnP34KegP2hq2KbOY9OuvihvTGqpb71g?= =?utf-8?q?BGCss+1eGFEhC78CdTqv9jjPgzOtTiAnQd6N3cvXNyvOnngsSKxRwJMgbTD80JCOT?= =?utf-8?q?Vzqlpjrrd8jqHJ+sIGx+uOU4t5aV/+5eh7zk18cLsgvDFGuz1lr3ah4JcVsBwMHEa?= =?utf-8?q?E1sR8Y8pVKBd/N76IT8yv43s3mSMz9FMDiMvYn5UzyA9PtkaXbEGJDuLSd7coLSYA?= =?utf-8?q?5MtS7qxcvGrXGOBPDc3eC50kGKWJ476YkUfUkfJIc1/FDcoPcd7E6x0HZvEgbgpa5?= =?utf-8?q?O56m5V4QjJIlLPSGEYrr/hu29bArAsSbZrHN4u0207Mn303Vka+2oXFxL0E0vbX1/?= =?utf-8?q?1dz6tmO/2Qc/ItyiCNQuUg6f3bZjUe/2EJc7X83QxPUASakga2tWWESQ1g55330ue?= =?utf-8?q?tPK1yAwue6JMjgT09QCdnCHnmmSgt31QcYwkCcuppR/fq0Nfoq8rqWsjgwwG8obl0?= =?utf-8?q?wd+a0s/XWsZyyL2WtDPec1CIue3WEg2ubDsNO9QWp4oDBpwtvf/yZsiKhS43hDNZu?= =?utf-8?q?ATGmBAUqN+cYwAYc7GrwzhxZH6kzPm9LuwvN9tpRU7LxjFGR7z6IBH8hDKu5viob2?= =?utf-8?q?JdPDd4yt/JgSQbo0EuW047KEoZ077n7Fk24JwUsfjmRlhGw4vb2XBfunwv36iLPSP?= =?utf-8?q?dx/Dt7vEQMZeKhXhzCXZ08zk32ic7ycMLXL0RdL74AbRvfOSXYtkg6Gs=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75ecb609-c9c5-4066-c916-08dad2674709 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2022 00:10:24.2571 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CG5Mu92swornCGC1oVgTAl04tBVPZ9rnismkOypuiiyaDXJHZv235et6Qvq1lwt+ X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7411 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org The PPC64 kconfig is a bit of a rats nest, but it turns out that if CONFIG_SPAPR_TCE_IOMMU is on then EEH must be too: config SPAPR_TCE_IOMMU bool "sPAPR TCE IOMMU Support" depends on PPC_POWERNV || PPC_PSERIES select IOMMU_API help Enables bits of IOMMU API required by VFIO. The iommu_ops is not implemented as it is not necessary for VFIO. config PPC_POWERNV select FORCE_PCI config PPC_PSERIES select FORCE_PCI config EEH bool depends on (PPC_POWERNV || PPC_PSERIES) && PCI default y So, just open code the call to eeh_enabled() into tce_iommu_ioctl(). Reviewed-by: Christoph Hellwig Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Jason Gunthorpe Reviewed-by: Cornelia Huck --- drivers/vfio/vfio_iommu_spapr_tce.c | 10 ++++------ drivers/vfio/vfio_spapr_eeh.c | 6 ------ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/vfio/vfio_iommu_spapr_tce.c b/drivers/vfio/vfio_iommu_spapr_tce.c index 169f07ac162d9c..73cec2beae70b1 100644 --- a/drivers/vfio/vfio_iommu_spapr_tce.c +++ b/drivers/vfio/vfio_iommu_spapr_tce.c @@ -785,14 +785,12 @@ static long tce_iommu_ioctl(void *iommu_data, switch (arg) { case VFIO_SPAPR_TCE_IOMMU: case VFIO_SPAPR_TCE_v2_IOMMU: - ret = 1; - break; + return 1; + case VFIO_EEH: + return eeh_enabled(); default: - ret = vfio_spapr_iommu_eeh_ioctl(NULL, cmd, arg); - break; + return 0; } - - return (ret < 0) ? 0 : ret; } /* diff --git a/drivers/vfio/vfio_spapr_eeh.c b/drivers/vfio/vfio_spapr_eeh.c index c9d102aafbcd11..221b1b637e18b0 100644 --- a/drivers/vfio/vfio_spapr_eeh.c +++ b/drivers/vfio/vfio_spapr_eeh.c @@ -24,12 +24,6 @@ long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group, long ret = -EINVAL; switch (cmd) { - case VFIO_CHECK_EXTENSION: - if (arg == VFIO_EEH) - ret = eeh_enabled() ? 1 : 0; - else - ret = 0; - break; case VFIO_EEH_PE_OP: pe = eeh_iommu_group_to_pe(group); if (!pe)