Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04c2322b authored by Amit Shah's avatar Amit Shah
Browse files

virtio-pci: S3 support



There's no difference in supporting S3 and S4 for virtio devices: the
vqs have to be re-created as the device has to be assumed to be reset at
restore-time.  Since S4 already handles this situation, we can directly
use the same code and callbacks for S3 support.

Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
parent 0517fdd1
Loading
Loading
Loading
Loading
+3 −21
Original line number Diff line number Diff line
@@ -720,24 +720,6 @@ static void __devexit virtio_pci_remove(struct pci_dev *pci_dev)
}

#ifdef CONFIG_PM
static int virtio_pci_suspend(struct device *dev)
{
	struct pci_dev *pci_dev = to_pci_dev(dev);

	pci_save_state(pci_dev);
	pci_set_power_state(pci_dev, PCI_D3hot);
	return 0;
}

static int virtio_pci_resume(struct device *dev)
{
	struct pci_dev *pci_dev = to_pci_dev(dev);

	pci_restore_state(pci_dev);
	pci_set_power_state(pci_dev, PCI_D0);
	return 0;
}

static int virtio_pci_freeze(struct device *dev)
{
	struct pci_dev *pci_dev = to_pci_dev(dev);
@@ -786,12 +768,12 @@ static int virtio_pci_restore(struct device *dev)
}

static const struct dev_pm_ops virtio_pci_pm_ops = {
	.suspend	= virtio_pci_suspend,
	.resume		= virtio_pci_resume,
	.suspend	= virtio_pci_freeze,
	.resume		= virtio_pci_restore,
	.freeze		= virtio_pci_freeze,
	.thaw		= virtio_pci_restore,
	.restore	= virtio_pci_restore,
	.poweroff	= virtio_pci_suspend,
	.poweroff	= virtio_pci_freeze,
};
#endif