On Nov 3 21:19, Jinhao Fan wrote: > On 11/3/2022 8:10 PM, Klaus Jensen wrote: > > I agree that the spec is a little unclear on this point. In any case, in > > Linux, when the driver has decided that the sq tail must be updated, > > it will use this check: > > > > (new_idx - event_idx - 1) < (new_idx - old) > > When eventidx is already behind, it's like: > > 0 > 1 <- event_idx > 2 <- old > 3 <- new_idx > 4 > . > . > . > > In this case, (new_idx - event_idx - 1) = 3-1-1 = 1 >= (new_idx - old) = > 3-2=1, so the host won't update sq tail. Where am I wrong in this example? >
That becomes 1 >= 1, i.e. "true". So this will result in the driver doing an mmio doorbell write.
signature.asc
Description: PGP signature