All of lore.kernel.org
 help / color / mirror / Atom feed
* [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
  2017-12-18 16:21 ` Cornelia Huck
  0 siblings, 2 replies; 10+ 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] 10+ 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
  2018-02-12  8:52   ` Christian Borntraeger
  2017-12-18 16:21 ` Cornelia Huck
  1 sibling, 2 replies; 10+ 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] 10+ 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 ` [PULL v2 1/1] virtio/s390: implement PM operations for virtio_ccw Cornelia Huck
@ 2017-12-18 16:21 ` Cornelia Huck
  1 sibling, 0 replies; 10+ messages in thread
From: Cornelia Huck @ 2017-12-18 16:21 UTC (permalink / raw)
  To: mst; +Cc: linux-s390, kvm, Cornelia Huck, virtualization

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] 10+ 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
  2018-02-14 12:16     ` Cornelia Huck
  2018-02-12  8:52   ` Christian Borntraeger
  1 sibling, 2 replies; 10+ 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] 10+ 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-12  8:52   ` Christian Borntraeger
  1 sibling, 0 replies; 10+ messages in thread
From: Christian Borntraeger @ 2018-02-12  8:52 UTC (permalink / raw)
  To: Cornelia Huck, mst; +Cc: linux-s390, kvm, virtualization

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] 10+ 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:16     ` Cornelia Huck
  2018-02-14 12:37       ` Michael S. Tsirkin
  2018-02-14 12:37       ` Michael S. Tsirkin
  1 sibling, 2 replies; 10+ 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] 10+ 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:16     ` Cornelia Huck
  1 sibling, 0 replies; 10+ messages in thread
From: Cornelia Huck @ 2018-02-14 12:16 UTC (permalink / raw)
  To: mst; +Cc: linux-s390, kvm, virtualization

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] 10+ 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
@ 2018-02-14 12:37       ` Michael S. Tsirkin
  1 sibling, 0 replies; 10+ 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] 10+ 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
  2018-02-14 12:37       ` Michael S. Tsirkin
  1 sibling, 0 replies; 10+ messages in thread
From: Michael S. Tsirkin @ 2018-02-14 12:37 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: linux-s390, kvm, virtualization

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] 10+ messages in thread

* [PULL v2 0/1] s390/virtio update
@ 2017-12-18 16:21 Cornelia Huck
  0 siblings, 0 replies; 10+ messages in thread
From: Cornelia Huck @ 2017-12-18 16:21 UTC (permalink / raw)
  To: mst; +Cc: linux-s390, kvm, Cornelia Huck, virtualization

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] 10+ messages in thread

end of thread, other threads:[~2018-02-14 12:37 UTC | newest]

Thread overview: 10+ 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:16     ` Cornelia Huck
2018-02-14 12:37       ` Michael S. Tsirkin
2018-02-14 12:37       ` Michael S. Tsirkin
2018-02-12  8:52   ` Christian Borntraeger
2017-12-18 16:21 ` Cornelia Huck
2017-12-18 16:21 [PULL v2 0/1] s390/virtio update Cornelia Huck

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.