[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [virtio-comment] Re: [PATCH 0/2] Selective queue enabling
> From: Michael S. Tsirkin <mst@redhat.com> > Sent: Tuesday, June 13, 2023 3:55 PM > > I do not get how. Let's make sure we are talking about the same thing. > This is what I am saying: > > Start operating: > > - program queue address, size > - queue_enable > > Now we change our mind about queue size or address. So: > > - queue_reset Why queue_reset is needed here? I don't see spec saying that queue_enable must be done only once for a given Q before DRIVER_OK. > - program another queue address, size > > Finally we are decided, let's start operating: > > - DRIVER_OK > > > I don't see how it's possible with just queue_enable. > > > > > > It is not explicitly mentioned in the spec that one can setup the queue using > queue reset instead of queue enable. > > As Jason mentioned it is implementation specific, one device supports it and > one doesn't. > > Hence, it will break on those devices which doesnt support it. > > > > Setup? No, and spec explicitly says to setup one has to use queue_enable. But > this is not what we discussed with Stefano here. > The above sequence you described is not well documented. > > Therefore, I would like to add it to the spec. > > "queue_reset register MUST be accessed by the driver only after device has > reached the DRIVER_OK stage." > > I don't think we can add MUST requirements after the proposal is in the > released spec. If device has stricter requirements than the spec then it's not > compliant. > Lets resolve above question first about how many times one can use queue_enable before DRIVER_OK for a specific VQ. Without this either way driver and device combination is broken when queue_reset is used before DRIVER_OK.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]