[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACGkMEtvrBRd8BaeUiR6bm1xVX4KUGa83s03tPWPHB2U0mYfLA@mail.gmail.com>
Date: Fri, 1 Nov 2024 10:11:11 +0800
From: Jason Wang <jasowang@...hat.com>
To: qiang4.zhang@...ux.intel.com
Cc: "Michael S. Tsirkin" <mst@...hat.com>, Paolo Bonzini <pbonzini@...hat.com>,
Stefan Hajnoczi <stefanha@...hat.com>, Eugenio Pérez <eperezma@...hat.com>,
Xuan Zhuo <xuanzhuo@...ux.alibaba.com>, Jens Axboe <axboe@...nel.dk>,
Olivia Mackall <olivia@...enic.com>, Herbert Xu <herbert@...dor.apana.org.au>,
Amit Shah <amit@...nel.org>, Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Gonglei <arei.gonglei@...wei.com>,
"David S. Miller" <davem@...emloft.net>, Viresh Kumar <viresh.kumar@...aro.org>,
"Chen, Jian Jun" <jian.jun.chen@...el.com>, Andi Shyti <andi.shyti@...nel.org>,
Andrew Lunn <andrew+netdev@...n.ch>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
"James E.J. Bottomley" <James.Bottomley@...senpartnership.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>, David Hildenbrand <david@...hat.com>,
Gerd Hoffmann <kraxel@...hat.com>, Anton Yakovlev <anton.yakovlev@...nsynergy.com>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>, Qiang Zhang <qiang4.zhang@...el.com>,
virtualization@...ts.linux.dev, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-crypto@...r.kernel.org,
linux-i2c@...r.kernel.org, netdev@...r.kernel.org, linux-scsi@...r.kernel.org,
linux-sound@...r.kernel.org
Subject: Re: [PATCH v2] virtio: only reset device and restore status if needed
in device resume
On Fri, Nov 1, 2024 at 9:54 AM <qiang4.zhang@...ux.intel.com> wrote:
>
> From: Qiang Zhang <qiang4.zhang@...el.com>
>
> Virtio core unconditionally reset and restore status for all virtio
> devices before calling restore method. This breaks some virtio drivers
> which don't need to do anything in suspend and resume because they
> just want to keep device state retained.
The challenge is how can driver know device doesn't need rest.
For example, PCI has no_soft_reset which has been done in the commit
"virtio: Add support for no-reset virtio PCI PM".
And there's a ongoing long discussion of adding suspend support in the
virtio spec, then driver know it's safe to suspend/resume without
reset.
>
> Virtio GPIO is a typical example. GPIO states should be kept unchanged
> after suspend and resume (e.g. output pins keep driving the output) and
> Virtio GPIO driver does nothing in freeze and restore methods. But the
> reset operation in virtio_device_restore breaks this.
Is this mandated by GPIO or virtio spec? If yes, let's quote the revelant part.
>
> Since some devices need reset in suspend and resume while some needn't,
> create a new helper function for the original reset and status restore
> logic so that virtio drivers can invoke it in their restore method
> if necessary.
How are those drivers classified?
>
> Signed-off-by: Qiang Zhang <qiang4.zhang@...el.com>
Thanks
Powered by blists - more mailing lists