* [PULL v2 0/1] s390/virtio update @ 2017-12-18 16:21 Cornelia Huck 2017-12-18 16:21 ` [PULL v2 1/1] virtio/s390: implement PM operations for virtio_ccw Cornelia Huck 0 siblings, 1 reply; 5+ messages in thread From: Cornelia Huck @ 2017-12-18 16:21 UTC (permalink / raw) To: mst; +Cc: jasowang, pasic, linux-s390, virtualization, kvm, Cornelia Huck The following changes since commit 20677394b78ed4c4baa09c9a1bcfdf24d2b09fe4: Merge branch 'vhost' into vhost-next (2017-12-18 08:21:38 +0200) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git tags/virtio-s390-20171218-v2 for you to fetch changes up to 352d303fa99330e5d197afcc28b5270734e5c541: virtio/s390: implement PM operations for virtio_ccw (2017-12-18 10:23:47 +0100) ---------------------------------------------------------------- Hibernation support for virtio-ccw. ---------------------------------------------------------------- Christian Borntraeger (1): virtio/s390: implement PM operations for virtio_ccw drivers/s390/virtio/virtio_ccw.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) -- 2.13.6 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PULL v2 1/1] virtio/s390: implement PM operations for virtio_ccw 2017-12-18 16:21 [PULL v2 0/1] s390/virtio update Cornelia Huck @ 2017-12-18 16:21 ` Cornelia Huck 2018-02-12 8:52 ` Christian Borntraeger 0 siblings, 1 reply; 5+ messages in thread From: Cornelia Huck @ 2017-12-18 16:21 UTC (permalink / raw) To: mst Cc: jasowang, pasic, linux-s390, virtualization, kvm, Christian Borntraeger, Cornelia Huck From: Christian Borntraeger <borntraeger@de.ibm.com> Suspend/Resume to/from disk currently fails. Let us wire up the necessary callbacks. This is mostly just forwarding the requests to the virtio drivers. The only thing that has to be done in virtio_ccw itself is to re-set the virtio revision. Suggested-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <20171207141102.70190-2-borntraeger@de.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> [CH: merged <20171218083706.223836-1-borntraeger@de.ibm.com> to fix !CONFIG_PM configs] Signed-off-by: Cornelia Huck <cohuck@redhat.com> --- drivers/s390/virtio/virtio_ccw.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c index b18fe2014cf2..985184ebda45 100644 --- a/drivers/s390/virtio/virtio_ccw.c +++ b/drivers/s390/virtio/virtio_ccw.c @@ -1300,6 +1300,9 @@ static int virtio_ccw_cio_notify(struct ccw_device *cdev, int event) vcdev->device_lost = true; rc = NOTIFY_DONE; break; + case CIO_OPER: + rc = NOTIFY_OK; + break; default: rc = NOTIFY_DONE; break; @@ -1312,6 +1315,27 @@ static struct ccw_device_id virtio_ids[] = { {}, }; +#ifdef CONFIG_PM_SLEEP +static int virtio_ccw_freeze(struct ccw_device *cdev) +{ + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev); + + return virtio_device_freeze(&vcdev->vdev); +} + +static int virtio_ccw_restore(struct ccw_device *cdev) +{ + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev); + int ret; + + ret = virtio_ccw_set_transport_rev(vcdev); + if (ret) + return ret; + + return virtio_device_restore(&vcdev->vdev); +} +#endif + static struct ccw_driver virtio_ccw_driver = { .driver = { .owner = THIS_MODULE, @@ -1324,6 +1348,11 @@ static struct ccw_driver virtio_ccw_driver = { .set_online = virtio_ccw_online, .notify = virtio_ccw_cio_notify, .int_class = IRQIO_VIR, +#ifdef CONFIG_PM_SLEEP + .freeze = virtio_ccw_freeze, + .thaw = virtio_ccw_restore, + .restore = virtio_ccw_restore, +#endif }; static int __init pure_hex(char **cp, unsigned int *val, int min_digit, -- 2.13.6 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PULL v2 1/1] virtio/s390: implement PM operations for virtio_ccw 2017-12-18 16:21 ` [PULL v2 1/1] virtio/s390: implement PM operations for virtio_ccw Cornelia Huck @ 2018-02-12 8:52 ` Christian Borntraeger 2018-02-14 12:16 ` Cornelia Huck 0 siblings, 1 reply; 5+ messages in thread From: Christian Borntraeger @ 2018-02-12 8:52 UTC (permalink / raw) To: Cornelia Huck, mst; +Cc: jasowang, pasic, linux-s390, virtualization, kvm Michael, Conny, it seems that this patch did not make it into 4.16-rc1. On 12/18/2017 05:21 PM, Cornelia Huck wrote: > From: Christian Borntraeger <borntraeger@de.ibm.com> > > Suspend/Resume to/from disk currently fails. Let us wire > up the necessary callbacks. This is mostly just forwarding > the requests to the virtio drivers. The only thing that > has to be done in virtio_ccw itself is to re-set the > virtio revision. > > Suggested-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> > Message-Id: <20171207141102.70190-2-borntraeger@de.ibm.com> > Reviewed-by: David Hildenbrand <david@redhat.com> > [CH: merged <20171218083706.223836-1-borntraeger@de.ibm.com> to fix > !CONFIG_PM configs] > Signed-off-by: Cornelia Huck <cohuck@redhat.com> > --- > drivers/s390/virtio/virtio_ccw.c | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > index b18fe2014cf2..985184ebda45 100644 > --- a/drivers/s390/virtio/virtio_ccw.c > +++ b/drivers/s390/virtio/virtio_ccw.c > @@ -1300,6 +1300,9 @@ static int virtio_ccw_cio_notify(struct ccw_device *cdev, int event) > vcdev->device_lost = true; > rc = NOTIFY_DONE; > break; > + case CIO_OPER: > + rc = NOTIFY_OK; > + break; > default: > rc = NOTIFY_DONE; > break; > @@ -1312,6 +1315,27 @@ static struct ccw_device_id virtio_ids[] = { > {}, > }; > > +#ifdef CONFIG_PM_SLEEP > +static int virtio_ccw_freeze(struct ccw_device *cdev) > +{ > + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev); > + > + return virtio_device_freeze(&vcdev->vdev); > +} > + > +static int virtio_ccw_restore(struct ccw_device *cdev) > +{ > + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev); > + int ret; > + > + ret = virtio_ccw_set_transport_rev(vcdev); > + if (ret) > + return ret; > + > + return virtio_device_restore(&vcdev->vdev); > +} > +#endif > + > static struct ccw_driver virtio_ccw_driver = { > .driver = { > .owner = THIS_MODULE, > @@ -1324,6 +1348,11 @@ static struct ccw_driver virtio_ccw_driver = { > .set_online = virtio_ccw_online, > .notify = virtio_ccw_cio_notify, > .int_class = IRQIO_VIR, > +#ifdef CONFIG_PM_SLEEP > + .freeze = virtio_ccw_freeze, > + .thaw = virtio_ccw_restore, > + .restore = virtio_ccw_restore, > +#endif > }; > > static int __init pure_hex(char **cp, unsigned int *val, int min_digit, > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PULL v2 1/1] virtio/s390: implement PM operations for virtio_ccw 2018-02-12 8:52 ` Christian Borntraeger @ 2018-02-14 12:16 ` Cornelia Huck 2018-02-14 12:37 ` Michael S. Tsirkin 0 siblings, 1 reply; 5+ messages in thread From: Cornelia Huck @ 2018-02-14 12:16 UTC (permalink / raw) To: mst; +Cc: Christian Borntraeger, jasowang, pasic, linux-s390, virtualization, kvm On Mon, 12 Feb 2018 09:52:00 +0100 Christian Borntraeger <borntraeger@de.ibm.com> wrote: > Michael, Conny, > it seems that this patch did not make it into 4.16-rc1. Michael, please let me know what you plan to do with the virtio-s390-20171218-v2 pull request. > > > > On 12/18/2017 05:21 PM, Cornelia Huck wrote: > > From: Christian Borntraeger <borntraeger@de.ibm.com> > > > > Suspend/Resume to/from disk currently fails. Let us wire > > up the necessary callbacks. This is mostly just forwarding > > the requests to the virtio drivers. The only thing that > > has to be done in virtio_ccw itself is to re-set the > > virtio revision. > > > > Suggested-by: Thomas Huth <thuth@redhat.com> > > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> > > Message-Id: <20171207141102.70190-2-borntraeger@de.ibm.com> > > Reviewed-by: David Hildenbrand <david@redhat.com> > > [CH: merged <20171218083706.223836-1-borntraeger@de.ibm.com> to fix > > !CONFIG_PM configs] > > Signed-off-by: Cornelia Huck <cohuck@redhat.com> > > --- > > drivers/s390/virtio/virtio_ccw.c | 29 +++++++++++++++++++++++++++++ > > 1 file changed, 29 insertions(+) > > > > diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > > index b18fe2014cf2..985184ebda45 100644 > > --- a/drivers/s390/virtio/virtio_ccw.c > > +++ b/drivers/s390/virtio/virtio_ccw.c > > @@ -1300,6 +1300,9 @@ static int virtio_ccw_cio_notify(struct ccw_device *cdev, int event) > > vcdev->device_lost = true; > > rc = NOTIFY_DONE; > > break; > > + case CIO_OPER: > > + rc = NOTIFY_OK; > > + break; > > default: > > rc = NOTIFY_DONE; > > break; > > @@ -1312,6 +1315,27 @@ static struct ccw_device_id virtio_ids[] = { > > {}, > > }; > > > > +#ifdef CONFIG_PM_SLEEP > > +static int virtio_ccw_freeze(struct ccw_device *cdev) > > +{ > > + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev); > > + > > + return virtio_device_freeze(&vcdev->vdev); > > +} > > + > > +static int virtio_ccw_restore(struct ccw_device *cdev) > > +{ > > + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev); > > + int ret; > > + > > + ret = virtio_ccw_set_transport_rev(vcdev); > > + if (ret) > > + return ret; > > + > > + return virtio_device_restore(&vcdev->vdev); > > +} > > +#endif > > + > > static struct ccw_driver virtio_ccw_driver = { > > .driver = { > > .owner = THIS_MODULE, > > @@ -1324,6 +1348,11 @@ static struct ccw_driver virtio_ccw_driver = { > > .set_online = virtio_ccw_online, > > .notify = virtio_ccw_cio_notify, > > .int_class = IRQIO_VIR, > > +#ifdef CONFIG_PM_SLEEP > > + .freeze = virtio_ccw_freeze, > > + .thaw = virtio_ccw_restore, > > + .restore = virtio_ccw_restore, > > +#endif > > }; > > > > static int __init pure_hex(char **cp, unsigned int *val, int min_digit, > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PULL v2 1/1] virtio/s390: implement PM operations for virtio_ccw 2018-02-14 12:16 ` Cornelia Huck @ 2018-02-14 12:37 ` Michael S. Tsirkin 0 siblings, 0 replies; 5+ messages in thread From: Michael S. Tsirkin @ 2018-02-14 12:37 UTC (permalink / raw) To: Cornelia Huck Cc: Christian Borntraeger, jasowang, pasic, linux-s390, virtualization, kvm On Wed, Feb 14, 2018 at 01:16:52PM +0100, Cornelia Huck wrote: > On Mon, 12 Feb 2018 09:52:00 +0100 > Christian Borntraeger <borntraeger@de.ibm.com> wrote: > > > Michael, Conny, > > it seems that this patch did not make it into 4.16-rc1. > > Michael, please let me know what you plan to do with the > virtio-s390-20171218-v2 pull request. My bad, I did not realize you expect me to merge pulls. I pretty much can't because I rebase my tree. I've applied this patch on the vhost branch - will merge as a bugfix. > > > > > > > > On 12/18/2017 05:21 PM, Cornelia Huck wrote: > > > From: Christian Borntraeger <borntraeger@de.ibm.com> > > > > > > Suspend/Resume to/from disk currently fails. Let us wire > > > up the necessary callbacks. This is mostly just forwarding > > > the requests to the virtio drivers. The only thing that > > > has to be done in virtio_ccw itself is to re-set the > > > virtio revision. > > > > > > Suggested-by: Thomas Huth <thuth@redhat.com> > > > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> > > > Message-Id: <20171207141102.70190-2-borntraeger@de.ibm.com> > > > Reviewed-by: David Hildenbrand <david@redhat.com> > > > [CH: merged <20171218083706.223836-1-borntraeger@de.ibm.com> to fix > > > !CONFIG_PM configs] > > > Signed-off-by: Cornelia Huck <cohuck@redhat.com> > > > --- > > > drivers/s390/virtio/virtio_ccw.c | 29 +++++++++++++++++++++++++++++ > > > 1 file changed, 29 insertions(+) > > > > > > diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > > > index b18fe2014cf2..985184ebda45 100644 > > > --- a/drivers/s390/virtio/virtio_ccw.c > > > +++ b/drivers/s390/virtio/virtio_ccw.c > > > @@ -1300,6 +1300,9 @@ static int virtio_ccw_cio_notify(struct ccw_device *cdev, int event) > > > vcdev->device_lost = true; > > > rc = NOTIFY_DONE; > > > break; > > > + case CIO_OPER: > > > + rc = NOTIFY_OK; > > > + break; > > > default: > > > rc = NOTIFY_DONE; > > > break; > > > @@ -1312,6 +1315,27 @@ static struct ccw_device_id virtio_ids[] = { > > > {}, > > > }; > > > > > > +#ifdef CONFIG_PM_SLEEP > > > +static int virtio_ccw_freeze(struct ccw_device *cdev) > > > +{ > > > + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev); > > > + > > > + return virtio_device_freeze(&vcdev->vdev); > > > +} > > > + > > > +static int virtio_ccw_restore(struct ccw_device *cdev) > > > +{ > > > + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev); > > > + int ret; > > > + > > > + ret = virtio_ccw_set_transport_rev(vcdev); > > > + if (ret) > > > + return ret; > > > + > > > + return virtio_device_restore(&vcdev->vdev); > > > +} > > > +#endif > > > + > > > static struct ccw_driver virtio_ccw_driver = { > > > .driver = { > > > .owner = THIS_MODULE, > > > @@ -1324,6 +1348,11 @@ static struct ccw_driver virtio_ccw_driver = { > > > .set_online = virtio_ccw_online, > > > .notify = virtio_ccw_cio_notify, > > > .int_class = IRQIO_VIR, > > > +#ifdef CONFIG_PM_SLEEP > > > + .freeze = virtio_ccw_freeze, > > > + .thaw = virtio_ccw_restore, > > > + .restore = virtio_ccw_restore, > > > +#endif > > > }; > > > > > > static int __init pure_hex(char **cp, unsigned int *val, int min_digit, > > > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-02-14 12:37 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-12-18 16:21 [PULL v2 0/1] s390/virtio update Cornelia Huck 2017-12-18 16:21 ` [PULL v2 1/1] virtio/s390: implement PM operations for virtio_ccw Cornelia Huck 2018-02-12 8:52 ` Christian Borntraeger 2018-02-14 12:16 ` Cornelia Huck 2018-02-14 12:37 ` Michael S. Tsirkin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).