From nobody Mon Feb 9 21:37:29 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 0B810330D54 for ; Thu, 5 Feb 2026 21:00:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770325232; cv=none; b=mU8tR4BBjox1tHPU2177x/jex5TAbG3x2T7qbeKHQqgPpsX+sgfi0XPKN8X0fFUtzmFYSC4k9IE5MTbWGoBUcjLozJiVY9RhaighJdUZPH2rDbVc27AtGxMjy06I5MPp2xQZzxbgi+6ZogCfky0vxNfY+2WzImtDY2Gv1HPvGCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770325232; c=relaxed/simple; bh=rV6qi9tLa8BSeGhd9naq45rlh6qRoKLszIak7MQlwuA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jPP/pcmFDmJK7GnBHaytbyOYx8FgF0ElJKVHMkfUfQ1AjlquZOkpeAuurD5e3pjyM3EHELpYK1nj5PlVdN1rJv6+ezhHDOzXKaWhreHp7hIzoT2tczKD+IqFTodKrBa5DFv9X0Ust58juXQ1X5f57i1EcsFL3Rb90ot8P4TBP0Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=KrHs0+GG; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=iNQUL1jP; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="KrHs0+GG"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="iNQUL1jP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770325231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Bysblly79RF2LtPRkhZUIzq0xEXxTiQQ0zgHTCq8A+8=; b=KrHs0+GGOd+vGTQCZp4h36tHklekRsWBJ0dpmIzI3EN8pUqAuinneoeT4TzJ7TLN6WXkeC Ji7E1HfII7RpIjYxrPLmFXkQqHMF+CFPYVsEy53GchuoZVlhYUardt6EjvYO2VI52PJgnS 5jasQfySb3KT9WHRQ63wLE6zXNqTctY= Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-385-b0CRFt8uMLeUWwFt3AJmbw-1; Thu, 05 Feb 2026 16:00:30 -0500 X-MC-Unique: b0CRFt8uMLeUWwFt3AJmbw-1 X-Mimecast-MFC-AGG-ID: b0CRFt8uMLeUWwFt3AJmbw_1770325226 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8947c4398c4so48674366d6.3 for ; Thu, 05 Feb 2026 13:00:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1770325226; x=1770930026; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Bysblly79RF2LtPRkhZUIzq0xEXxTiQQ0zgHTCq8A+8=; b=iNQUL1jP89zrmBUwVLtCf2XcxkBYGOCQKW2q/yXbwaOEhhuQ80Nj3Z/A2848uKzAWg whmXlMMeybeaoFBrQWWQHAVjVbaUWqWetgo7ORf3w75UskWm7vAYuPGVactwqscs3+9Q kIQtJ4yLCz6XCLkrymSYCJ72ma92TpElJ5rF2vk8PpvqD5slOfKuFH5UBhiB83hr6j1K 6IFQBdK8yz48V+KnpdafVuHZwXFppsyhAZ2Kj2VbwJfCXXEdx5JnFT5kc2xSgh/D8rhl QM3H5nQOIL153PPCrb3bTpZj+UlbNpWKnGfjbntBrJkqkGwn7xnifOwBt6MaBbJ6OAZH Emlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770325226; x=1770930026; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Bysblly79RF2LtPRkhZUIzq0xEXxTiQQ0zgHTCq8A+8=; b=qyvFBl+/dYBt3K0ozXXUzewwhFsUEy1obHlVUT6tqRbnFS2cDi9U7JRfy2tXOWtL5B k8rXu+hR4t3uU6AvcmGphu89Qe+bbZkMcBfwZ6rsGs304pWyVCRh5Po2pzI4/C7G+ov3 HtmnKaBvJIelw6zgd4xSBBVSxfjxDqCYfrBTQ1rNzYzzgrLZcmKrmjWjnwa2fgqjVYf/ ZbqEanpY/k8NOmeh5pmfYPYwftesCxtSleT8eqMQ8ZSd0u3KYPJlp0tJljMkQAZ3YAvU uqawTah95jzODiEe2U1671urYCl6+fJXQQdkV4Csb271OCBJepUu4Eg8+p+R5/1TtzgV CAkA== X-Forwarded-Encrypted: i=1; AJvYcCW0ijU6sjsCuWXg6Ny2GHyls3+hmQB9sU+7pjQv8br1HmS+p2DXF4Tg6VzCGoF01LE8i0DQM0Qnq65wtI0=@vger.kernel.org X-Gm-Message-State: AOJu0YzOCGl0TBHUfIxgf0RRshxFCduMhJZrUmByJ/vRoTI6DGPYb6qf ZWQRh6JUDUNl6ymCgHoVX+3oOfF25kQX1l4AdNhBBynZw1CkJfcvpgOFTchzEcr+xaVtFUAILe2 AU21990fRt7M18PMHv2eglp5ZOvF8bupCnfJDF9XKcIAlG8Jfg8fEXnv2L5/CF0YDiA== X-Gm-Gg: AZuq6aLoxF1a1Fu4s35DGKhX0L6xV1IpDp9VX74xh5PFS6aANh4NVDulbDtYSm2wE1Z 9v3iaqzzsCPUi2eFR4URGQxR8zfeMzTE1JvnDiX0hm8MBDQXQKaU51OcaQiMDxUqlytcxJrJS2m xhLPS5jYT+2fts4sT0lHoBBq8AK7ZzS3aKZjIOmRS/pe25P1Z4go4e4rmmhBenxCk4xvICnprDp V+YGiyYvlU1AcJLzTp9lqhCQdu59Qg6CGeD9R5m1WQcv/VEuNSlgzOoWoqTpiZS/aQ5UC6NeaqT 98kDLpg2d/+cMWkA7KLGeC1nbo9eph69Rg6QJUFH8n4J+3fjHmZfhJSSjCD5JrVIODT2hp4fAh8 MJ2xPfopeQdzEyQc= X-Received: by 2002:ad4:5c45:0:b0:882:6cd3:7f64 with SMTP id 6a1803df08f44-8953cc8c1c3mr6670766d6.44.1770325225661; Thu, 05 Feb 2026 13:00:25 -0800 (PST) X-Received: by 2002:ad4:5c45:0:b0:882:6cd3:7f64 with SMTP id 6a1803df08f44-8953cc8c1c3mr6669906d6.44.1770325225055; Thu, 05 Feb 2026 13:00:25 -0800 (PST) Received: from [172.16.1.8] ([2607:f2c0:b010:9000:4c85:f148:4c91:943a]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8caf9fdf692sm17571285a.44.2026.02.05.13.00.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Feb 2026 13:00:22 -0800 (PST) From: Peter Colberg Date: Thu, 05 Feb 2026 15:59:49 -0500 Subject: [PATCH v2 02/10] fpga: dfl-pci: set driver flag to disable SR-IOV on remove() 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: quoted-printable Message-Id: <20260205-rust-pci-sriov-v2-2-ef9400c7767b@redhat.com> References: <20260205-rust-pci-sriov-v2-0-ef9400c7767b@redhat.com> In-Reply-To: <20260205-rust-pci-sriov-v2-0-ef9400c7767b@redhat.com> To: Danilo Krummrich , Bjorn Helgaas , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Abdiel Janulgue , Daniel Almeida , Robin Murphy , Greg Kroah-Hartman , Dave Ertman , Ira Weiny , Leon Romanovsky , David Airlie , Simona Vetter , Jonathan Corbet , Xu Yilun , Tom Rix , Moritz Fischer , "Rafael J. Wysocki" Cc: linux-pci@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandre Courbot , Alistair Popple , Joel Fernandes , John Hubbard , Zhi Wang , nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-doc@vger.kernel.org, linux-fpga@vger.kernel.org, driver-core@lists.linux.dev, Peter Colberg , Jason Gunthorpe X-Mailer: b4 0.14.2 Set the flag managed_sriov in the pci_driver structure to show how a PCI driver may opt into disabling the Single Root I/O Virtualization (SR-IOV) capability of the device when the driver is removed. Merge the function cci_remove_feature_devs() into cci_pci_remove(). Signed-off-by: Peter Colberg --- Changes in v2: - Demonstrate flag managed_sriov for dfl-pci driver. --- drivers/fpga/dfl-pci.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/drivers/fpga/dfl-pci.c b/drivers/fpga/dfl-pci.c index 602807d6afcc09af9e1d53368b41460ef86545d8..7965c307f9b79bdd2c2c3277d51= 9ab2c4e701797 100644 --- a/drivers/fpga/dfl-pci.c +++ b/drivers/fpga/dfl-pci.c @@ -125,15 +125,6 @@ static int cci_init_drvdata(struct pci_dev *pcidev) return 0; } =20 -static void cci_remove_feature_devs(struct pci_dev *pcidev) -{ - struct cci_drvdata *drvdata =3D pci_get_drvdata(pcidev); - - /* remove all children feature devices */ - dfl_fpga_feature_devs_remove(drvdata->cdev); - cci_pci_free_irq(pcidev); -} - static int *cci_pci_create_irq_table(struct pci_dev *pcidev, unsigned int = nvec) { unsigned int i; @@ -425,10 +416,11 @@ static int cci_pci_sriov_configure(struct pci_dev *pc= idev, int num_vfs) =20 static void cci_pci_remove(struct pci_dev *pcidev) { - if (dev_is_pf(&pcidev->dev)) - cci_pci_sriov_configure(pcidev, 0); + struct cci_drvdata *drvdata =3D pci_get_drvdata(pcidev); =20 - cci_remove_feature_devs(pcidev); + /* remove all children feature devices */ + dfl_fpga_feature_devs_remove(drvdata->cdev); + cci_pci_free_irq(pcidev); } =20 static struct pci_driver cci_pci_driver =3D { @@ -437,6 +429,7 @@ static struct pci_driver cci_pci_driver =3D { .probe =3D cci_pci_probe, .remove =3D cci_pci_remove, .sriov_configure =3D cci_pci_sriov_configure, + .managed_sriov =3D true, }; =20 module_pci_driver(cci_pci_driver); --=20 2.52.0