[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251120123647.3522082-4-michal.winiarski@intel.com>
Date: Thu, 20 Nov 2025 13:36:44 +0100
From: Michał Winiarski <michal.winiarski@...el.com>
To: Jason Gunthorpe <jgg@...pe.ca>, Alex Williamson <alex@...zbot.org>, "Kevin
Tian" <kevin.tian@...el.com>, Yishai Hadas <yishaih@...dia.com>, Longfang Liu
<liulongfang@...wei.com>, Shameer Kolothum <skolothumtho@...dia.com>, "Brett
Creeley" <brett.creeley@....com>, Giovanni Cabiddu
<giovanni.cabiddu@...el.com>, <kvm@...r.kernel.org>, <qat-linux@...el.com>,
<virtualization@...ts.linux.dev>, <linux-kernel@...r.kernel.org>
CC: Michał Winiarski <michal.winiarski@...el.com>
Subject: [PATCH 3/6] vfio/pds: Use .migration_reset_state() callback
Move the migration device state reset code from .reset_done() to
dedicated callback.
Signed-off-by: Michał Winiarski <michal.winiarski@...el.com>
---
drivers/vfio/pci/pds/pci_drv.c | 10 ----------
drivers/vfio/pci/pds/vfio_dev.c | 12 ++++++++++++
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/drivers/vfio/pci/pds/pci_drv.c b/drivers/vfio/pci/pds/pci_drv.c
index 4923f18231263..4cf3d2e3767a6 100644
--- a/drivers/vfio/pci/pds/pci_drv.c
+++ b/drivers/vfio/pci/pds/pci_drv.c
@@ -162,17 +162,7 @@ static const struct pci_device_id pds_vfio_pci_table[] = {
};
MODULE_DEVICE_TABLE(pci, pds_vfio_pci_table);
-static void pds_vfio_pci_aer_reset_done(struct pci_dev *pdev)
-{
- struct pds_vfio_pci_device *pds_vfio = pds_vfio_pci_drvdata(pdev);
-
- mutex_lock(&pds_vfio->state_mutex);
- pds_vfio_reset(pds_vfio, VFIO_DEVICE_STATE_RUNNING);
- mutex_unlock(&pds_vfio->state_mutex);
-}
-
static const struct pci_error_handlers pds_vfio_pci_err_handlers = {
- .reset_done = pds_vfio_pci_aer_reset_done,
.error_detected = vfio_pci_core_aer_err_detected,
};
diff --git a/drivers/vfio/pci/pds/vfio_dev.c b/drivers/vfio/pci/pds/vfio_dev.c
index f3ccb0008f675..6b29641b5819b 100644
--- a/drivers/vfio/pci/pds/vfio_dev.c
+++ b/drivers/vfio/pci/pds/vfio_dev.c
@@ -101,9 +101,21 @@ static int pds_vfio_get_device_state_size(struct vfio_device *vdev,
return 0;
}
+static void pds_vfio_reset_device_state(struct vfio_device *vdev)
+{
+ struct pds_vfio_pci_device *pds_vfio =
+ container_of(vdev, struct pds_vfio_pci_device,
+ vfio_coredev.vdev);
+
+ mutex_lock(&pds_vfio->state_mutex);
+ pds_vfio_reset(pds_vfio, VFIO_DEVICE_STATE_RUNNING);
+ mutex_unlock(&pds_vfio->state_mutex);
+}
+
static const struct vfio_migration_ops pds_vfio_lm_ops = {
.migration_set_state = pds_vfio_set_device_state,
.migration_get_state = pds_vfio_get_device_state,
+ .migration_reset_state = pds_vfio_reset_device_state,
.migration_get_data_size = pds_vfio_get_device_state_size
};
--
2.51.2
Powered by blists - more mailing lists