This v2 series addreses the changes requested by Bjorn, namely:
- moved the new forward declarations next to pci_cfg_access_lock()
as requested
- modify the subject patch for the first PCI patch
Luis Chamberlain (2):
PCI: Export pci_dev_trylock() and pci_dev_unlock()
vfio: use the new pci_dev_trylock() helper to simplify try lock
drivers/pci/pci.c | 6 ++++--
drivers/vfio/pci/vfio_pci.c | 11 ++++-------
include/linux/pci.h | 3 +++
3 files changed, 11 insertions(+), 9 deletions(-)
--
2.30.2
Other places in the kernel use this form, and so just
provide a common path for it.
Acked-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Luis Chamberlain <[email protected]>
---
drivers/pci/pci.c | 6 ++++--
include/linux/pci.h | 3 +++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index f09821af1d2e..b1d9bb3f5ae2 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -5027,7 +5027,7 @@ static void pci_dev_lock(struct pci_dev *dev)
}
/* Return 1 on successful lock, 0 on contention */
-static int pci_dev_trylock(struct pci_dev *dev)
+int pci_dev_trylock(struct pci_dev *dev)
{
if (pci_cfg_access_trylock(dev)) {
if (device_trylock(&dev->dev))
@@ -5037,12 +5037,14 @@ static int pci_dev_trylock(struct pci_dev *dev)
return 0;
}
+EXPORT_SYMBOL_GPL(pci_dev_trylock);
-static void pci_dev_unlock(struct pci_dev *dev)
+void pci_dev_unlock(struct pci_dev *dev)
{
device_unlock(&dev->dev);
pci_cfg_access_unlock(dev);
}
+EXPORT_SYMBOL_GPL(pci_dev_unlock);
static void pci_dev_save_and_disable(struct pci_dev *dev)
{
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 6248e044dd29..d8f056f3a2e3 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1622,6 +1622,9 @@ void pci_cfg_access_lock(struct pci_dev *dev);
bool pci_cfg_access_trylock(struct pci_dev *dev);
void pci_cfg_access_unlock(struct pci_dev *dev);
+int pci_dev_trylock(struct pci_dev *dev);
+void pci_dev_unlock(struct pci_dev *dev);
+
/*
* PCI domain support. Sometimes called PCI segment (eg by ACPI),
* a PCI domain is defined to be a set of PCI buses which share
--
2.30.2
Use the new pci_dev_trylock() helper to simplify our locking.
Signed-off-by: Luis Chamberlain <[email protected]>
---
drivers/vfio/pci/vfio_pci.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
index bd7c482c948a..02b05f7b9a91 100644
--- a/drivers/vfio/pci/vfio_pci.c
+++ b/drivers/vfio/pci/vfio_pci.c
@@ -477,13 +477,10 @@ static void vfio_pci_disable(struct vfio_pci_device *vdev)
* We can not use the "try" reset interface here, which will
* overwrite the previously restored configuration information.
*/
- if (vdev->reset_works && pci_cfg_access_trylock(pdev)) {
- if (device_trylock(&pdev->dev)) {
- if (!__pci_reset_function_locked(pdev))
- vdev->needs_reset = false;
- device_unlock(&pdev->dev);
- }
- pci_cfg_access_unlock(pdev);
+ if (vdev->reset_works && pci_dev_trylock(pdev)) {
+ if (!__pci_reset_function_locked(pdev))
+ vdev->needs_reset = false;
+ pci_dev_unlock(pdev);
}
pci_restore_state(pdev);
--
2.30.2
On Tue, Jun 22 2021, Luis Chamberlain <[email protected]> wrote:
> Other places in the kernel use this form, and so just
> provide a common path for it.
>
> Acked-by: Bjorn Helgaas <[email protected]>
> Signed-off-by: Luis Chamberlain <[email protected]>
> ---
> drivers/pci/pci.c | 6 ++++--
> include/linux/pci.h | 3 +++
> 2 files changed, 7 insertions(+), 2 deletions(-)
Reviewed-by: Cornelia Huck <[email protected]>
On Tue, Jun 22 2021, Luis Chamberlain <[email protected]> wrote:
> Use the new pci_dev_trylock() helper to simplify our locking.
>
> Signed-off-by: Luis Chamberlain <[email protected]>
> ---
> drivers/vfio/pci/vfio_pci.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
Reviewed-by: Cornelia Huck <[email protected]>
On Tue, 22 Jun 2021 19:28:22 -0700
Luis Chamberlain <[email protected]> wrote:
> This v2 series addreses the changes requested by Bjorn, namely:
>
> - moved the new forward declarations next to pci_cfg_access_lock()
> as requested
> - modify the subject patch for the first PCI patch
Looks ok to me and I assume by Bjorn's Ack that he's expecting it to go
through my tree. I'll give a bit of time to note otherwise if that's
not the case. Thanks,
Alex
> Luis Chamberlain (2):
> PCI: Export pci_dev_trylock() and pci_dev_unlock()
> vfio: use the new pci_dev_trylock() helper to simplify try lock
>
> drivers/pci/pci.c | 6 ++++--
> drivers/vfio/pci/vfio_pci.c | 11 ++++-------
> include/linux/pci.h | 3 +++
> 3 files changed, 11 insertions(+), 9 deletions(-)
>
On Tue, Jun 22, 2021 at 07:28:24PM -0700, Luis Chamberlain wrote:
> Use the new pci_dev_trylock() helper to simplify our locking.
>
> Signed-off-by: Luis Chamberlain <[email protected]>
> ---
> drivers/vfio/pci/vfio_pci.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
Reviewed-by: Jason Gunthorpe <[email protected]>
Jason
On Tue, 22 Jun 2021 19:28:22 -0700
Luis Chamberlain <[email protected]> wrote:
> This v2 series addreses the changes requested by Bjorn, namely:
>
> - moved the new forward declarations next to pci_cfg_access_lock()
> as requested
> - modify the subject patch for the first PCI patch
>
> Luis Chamberlain (2):
> PCI: Export pci_dev_trylock() and pci_dev_unlock()
> vfio: use the new pci_dev_trylock() helper to simplify try lock
>
> drivers/pci/pci.c | 6 ++++--
> drivers/vfio/pci/vfio_pci.c | 11 ++++-------
> include/linux/pci.h | 3 +++
> 3 files changed, 11 insertions(+), 9 deletions(-)
>
Applied to vfio next branch for v5.14 with Bjorn's Ack, thanks!
Alex
On Fri, 25 Jun 2021 09:04:51 -0600
Alex Williamson <[email protected]> wrote:
> On Tue, 22 Jun 2021 19:28:22 -0700
> Luis Chamberlain <[email protected]> wrote:
>
> > This v2 series addreses the changes requested by Bjorn, namely:
> >
> > - moved the new forward declarations next to pci_cfg_access_lock()
> > as requested
> > - modify the subject patch for the first PCI patch
> >
> > Luis Chamberlain (2):
> > PCI: Export pci_dev_trylock() and pci_dev_unlock()
> > vfio: use the new pci_dev_trylock() helper to simplify try lock
> >
> > drivers/pci/pci.c | 6 ++++--
> > drivers/vfio/pci/vfio_pci.c | 11 ++++-------
> > include/linux/pci.h | 3 +++
> > 3 files changed, 11 insertions(+), 9 deletions(-)
> >
>
> Applied to vfio next branch for v5.14 with Bjorn's Ack, thanks!
(and Jason & Conny's R-b)