From: Philipp Stanner <pstanner@redhat.com>
To: amien Le Moal <dlemoal@kernel.org>,
Niklas Cassel <cassel@kernel.org>,
Basavaraj Natikar <basavaraj.natikar@amd.com>,
Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <bentiss@kernel.org>,
Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Alex Dubov <oakad@yahoo.com>,
Sudarsana Kalluru <skalluru@marvell.com>,
Manish Chopra <manishc@marvell.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rasesh Mody <rmody@marvell.com>,
GR-Linux-NIC-Dev@marvell.com,
Igor Mitsyanko <imitsyanko@quantenna.com>,
Sergey Matyukevich <geomatsi@gmail.com>,
Kalle Valo <kvalo@kernel.org>,
Sanjay R Mehta <sanju.mehta@amd.com>,
Shyam Sundar S K <Shyam-sundar.S-k@amd.com>,
Jon Mason <jdmason@kudzu.us>, Dave Jiang <dave.jiang@intel.com>,
Allen Hubbe <allenbh@gmail.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Alex Williamson <alex.williamson@redhat.com>,
Juergen Gross <jgross@suse.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
Mario Limonciello <mario.limonciello@amd.com>,
Chen Ni <nichen@iscas.ac.cn>,
Philipp Stanner <pstanner@redhat.com>,
Ricky Wu <ricky_wu@realtek.com>,
Al Viro <viro@zeniv.linux.org.uk>,
Breno Leitao <leitao@debian.org>,
Thomas Gleixner <tglx@linutronix.de>,
Kevin Tian <kevin.tian@intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Mostafa Saleh <smostafa@google.com>,
Jason Gunthorpe <jgg@ziepe.ca>, Yi Liu <yi.l.liu@intel.com>,
Kunwu Chan <chentao@kylinos.cn>,
Dan Carpenter <dan.carpenter@linaro.org>,
"Dr. David Alan Gilbert" <linux@treblig.org>,
Ankit Agrawal <ankita@nvidia.com>,
Reinette Chatre <reinette.chatre@intel.com>,
Eric Auger <eric.auger@redhat.com>, Ye Bin <yebin10@huawei.com>
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-input@vger.kernel.org, netdev@vger.kernel.org,
linux-wireless@vger.kernel.org, ntb@lists.linux.dev,
linux-pci@vger.kernel.org, kvm@vger.kernel.org,
xen-devel@lists.xenproject.org
Subject: [PATCH v3 06/11] vfio/pci: Use never-managed version of pci_intx()
Date: Mon, 9 Dec 2024 14:06:28 +0100 [thread overview]
Message-ID: <20241209130632.132074-8-pstanner@redhat.com> (raw)
In-Reply-To: <20241209130632.132074-2-pstanner@redhat.com>
pci_intx() is a hybrid function which can sometimes be managed through
devres. To remove this hybrid nature from pci_intx(), it is necessary to
port users to either an always-managed or a never-managed version.
vfio enables its PCI-Device with pci_enable_device(). Thus, it
needs the never-managed version.
Replace pci_intx() with pci_intx_unmanaged().
Signed-off-by: Philipp Stanner <pstanner@redhat.com>
---
drivers/vfio/pci/vfio_pci_core.c | 2 +-
drivers/vfio/pci/vfio_pci_intrs.c | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c
index 1ab58da9f38a..90240c8d51aa 100644
--- a/drivers/vfio/pci/vfio_pci_core.c
+++ b/drivers/vfio/pci/vfio_pci_core.c
@@ -498,7 +498,7 @@ int vfio_pci_core_enable(struct vfio_pci_core_device *vdev)
if (vfio_pci_nointx(pdev)) {
pci_info(pdev, "Masking broken INTx support\n");
vdev->nointx = true;
- pci_intx(pdev, 0);
+ pci_intx_unmanaged(pdev, 0);
} else
vdev->pci_2_3 = pci_intx_mask_supported(pdev);
}
diff --git a/drivers/vfio/pci/vfio_pci_intrs.c b/drivers/vfio/pci/vfio_pci_intrs.c
index 8382c5834335..40abb0b937a2 100644
--- a/drivers/vfio/pci/vfio_pci_intrs.c
+++ b/drivers/vfio/pci/vfio_pci_intrs.c
@@ -118,7 +118,7 @@ static bool __vfio_pci_intx_mask(struct vfio_pci_core_device *vdev)
*/
if (unlikely(!is_intx(vdev))) {
if (vdev->pci_2_3)
- pci_intx(pdev, 0);
+ pci_intx_unmanaged(pdev, 0);
goto out_unlock;
}
@@ -132,7 +132,7 @@ static bool __vfio_pci_intx_mask(struct vfio_pci_core_device *vdev)
* mask, not just when something is pending.
*/
if (vdev->pci_2_3)
- pci_intx(pdev, 0);
+ pci_intx_unmanaged(pdev, 0);
else
disable_irq_nosync(pdev->irq);
@@ -178,7 +178,7 @@ static int vfio_pci_intx_unmask_handler(void *opaque, void *data)
*/
if (unlikely(!is_intx(vdev))) {
if (vdev->pci_2_3)
- pci_intx(pdev, 1);
+ pci_intx_unmanaged(pdev, 1);
goto out_unlock;
}
@@ -296,7 +296,7 @@ static int vfio_intx_enable(struct vfio_pci_core_device *vdev,
*/
ctx->masked = vdev->virq_disabled;
if (vdev->pci_2_3) {
- pci_intx(pdev, !ctx->masked);
+ pci_intx_unmanaged(pdev, !ctx->masked);
irqflags = IRQF_SHARED;
} else {
irqflags = ctx->masked ? IRQF_NO_AUTOEN : 0;
@@ -569,7 +569,7 @@ static void vfio_msi_disable(struct vfio_pci_core_device *vdev, bool msix)
* via their shutdown paths. Restore for NoINTx devices.
*/
if (vdev->nointx)
- pci_intx(pdev, 0);
+ pci_intx_unmanaged(pdev, 0);
vdev->irq_type = VFIO_PCI_NUM_IRQS;
}
--
2.47.1
next prev parent reply other threads:[~2024-12-09 13:07 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-09 13:06 [PATCH v3 00/11] Remove implicit devres from pci_intx() Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 01/11] PCI: Prepare removing " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 02/11] drivers/xen: Use never-managed version of pci_intx() Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 03/11] net/ethernet: " Philipp Stanner
2024-12-12 14:56 ` Paolo Abeni
2024-12-12 19:24 ` Bjorn Helgaas
2024-12-09 13:06 ` [PATCH v3 04/11] net/ntb: " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 05/11] misc: " Philipp Stanner
2024-12-12 19:26 ` Bjorn Helgaas
2024-12-13 7:31 ` Greg Kroah-Hartman
2025-01-10 14:28 ` Greg Kroah-Hartman
2024-12-09 13:06 ` Philipp Stanner [this message]
2024-12-12 19:21 ` [PATCH v3 06/11] vfio/pci: " Bjorn Helgaas
2024-12-12 19:49 ` Alex Williamson
2024-12-09 13:06 ` [PATCH v3 07/11] PCI: MSI: " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 08/11] ata: Use always-managed " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 09/11] wifi: qtnfmac: use always-managed version of pcim_intx() Philipp Stanner
2024-12-12 19:29 ` Bjorn Helgaas
2024-12-13 10:30 ` Kalle Valo
2024-12-13 17:53 ` Bjorn Helgaas
2024-12-09 13:06 ` [PATCH v3 10/11] HID: amd_sfh: Use " Philipp Stanner
2024-12-09 13:06 ` [PATCH v3 11/11] Remove devres from pci_intx() Philipp Stanner
2024-12-12 14:58 ` Paolo Abeni
2024-12-12 19:21 ` [PATCH v3 00/11] Remove implicit " Bjorn Helgaas
2024-12-13 5:25 ` Niklas Cassel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241209130632.132074-8-pstanner@redhat.com \
--to=pstanner@redhat.com \
--cc=GR-Linux-NIC-Dev@marvell.com \
--cc=Shyam-sundar.S-k@amd.com \
--cc=alex.williamson@redhat.com \
--cc=allenbh@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ankita@nvidia.com \
--cc=arnd@arndb.de \
--cc=basavaraj.natikar@amd.com \
--cc=bentiss@kernel.org \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=chentao@kylinos.cn \
--cc=dan.carpenter@linaro.org \
--cc=dave.jiang@intel.com \
--cc=davem@davemloft.net \
--cc=dlemoal@kernel.org \
--cc=edumazet@google.com \
--cc=eric.auger@redhat.com \
--cc=geomatsi@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=imitsyanko@quantenna.com \
--cc=jdmason@kudzu.us \
--cc=jgg@ziepe.ca \
--cc=jgross@suse.com \
--cc=jikos@kernel.org \
--cc=kevin.tian@intel.com \
--cc=kuba@kernel.org \
--cc=kvalo@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=leitao@debian.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linux@treblig.org \
--cc=manishc@marvell.com \
--cc=mario.limonciello@amd.com \
--cc=netdev@vger.kernel.org \
--cc=nichen@iscas.ac.cn \
--cc=ntb@lists.linux.dev \
--cc=oakad@yahoo.com \
--cc=oleksandr_tyshchenko@epam.com \
--cc=pabeni@redhat.com \
--cc=reinette.chatre@intel.com \
--cc=ricky_wu@realtek.com \
--cc=rmody@marvell.com \
--cc=sanju.mehta@amd.com \
--cc=skalluru@marvell.com \
--cc=smostafa@google.com \
--cc=sstabellini@kernel.org \
--cc=tglx@linutronix.de \
--cc=viro@zeniv.linux.org.uk \
--cc=xen-devel@lists.xenproject.org \
--cc=yebin10@huawei.com \
--cc=yi.l.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.