OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [virtio-dev] Re: [PATCH v1] virtio-mmio: Specify wait needed in driver during reset


* Jason Wang <jasowang@redhat.com> [2021-08-18 13:40:45]:

> > Hmm ..are you suggesting that we read the Version register as part of reset code
> > and do the wait part only for v3 device?
> 
> We only need to read the version once (see virtio_mmio_probe()). So it

Ok sorry saw that now.

> could be something like
> 
> if (vm_dev->version == 0x3) {
>     while (readl(vm_dev->base + VIRTIO_MMIO_STATUS))
>         msleep(1);
> }
> 
> > Otherwise we have the same issue as
> > feature bit with version change also.
> >
> > Can't the driver do the same with feature register also? Do poll if
> > WAIT_FOR_RESET_COMPLETION feature bit is set, which can happen before feature
> > negotiation is complete.
> 
> The possible issue is that the feature negotiation is not done at that time.

Fine let me take a stab at the next version which will have this:

* Introduce a status bit for device to indicate "reset in progress". This could
  be adopted by other transports also (for ex PCI).

* For v3 MMIO devices, driver, after initiating reset, should wait until
  status = 0 or device indicates "failure". What the driver does when it sees
  failure can be implementation defined (it can give up or try reset few more
  times)

- vatsa

-- 
Qualcomm Innovation Center, Inc. is submitting the attached "feedback" as a
non-member to the virtio-dev mailing list for consideration and inclusion.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]