Messages in this thread | | | Date | Fri, 21 Jan 2005 07:27:59 +1100 | Subject | Re: [patch 2.4.29] i810_audio: offset LVI from CIV to avoid stalled start | From | Herbert Xu <> |
| |
On Thu, Jan 20, 2005 at 03:22:59PM -0500, John W. Linville wrote: > > + /* if we are currently stopped, then our CIV is actually set to our > + * *last* sg segment and we are ready to wrap to the next. However, > + * if we set our LVI to the last sg segment, then it won't wrap to > + * the next sg segment, it won't even get a start. So, instead, when > + * we are stopped, we set both the LVI value and also we increment > + * the CIV value to the next sg segment to be played so that when > + * we call start, things will operate properly > + */ > if (!dmabuf->enable && dmabuf->ready) { > if (!(dmabuf->trigger & trigger)) > return; > > + CIV_TO_LVI(state->card, port, 1); > +
BTW, I think you want to fix up the last sentence in the comment. It doesn't seem to correspond to what the code is doing.
Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |