Please ignore this patch...it was made assuming that a previous patch had been applied -- that seems not to have been the case...
I will reform and repost... John On Thu, Jan 20, 2005 at 03:22:59PM -0500, John W. Linville wrote: > Offset LVI past CIV when starting DAC/ADC in order to prevent > stalled start. > > Acked-by: Herbert Xu <[EMAIL PROTECTED]> > Acked-by: Thomas Voegtle <[EMAIL PROTECTED]> > Signed-off-by: John W. Linville <[EMAIL PROTECTED]> > --- > This fixes a "no sound" problem with Wolfenstein Enemy Territory and > (apparently) other games using the Quake3 engine. It probably affects > some other OSS applications as well. > > This recreates some code that had been removed from the i810_audio > driver around 5/2004. > > drivers/sound/i810_audio.c | 10 ++++++++++ > 1 files changed, 10 insertions(+) > > --- i810_audio-2.4/drivers/sound/i810_audio.c.orig 2005-01-20 > 14:41:43.914734688 -0500 > +++ i810_audio-2.4/drivers/sound/i810_audio.c 2005-01-20 14:41:43.916734414 > -0500 > @@ -1062,10 +1062,20 @@ > if (count < fragsize) > return; > > + /* 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); > + > start(state); > while (!(inb(port + OFF_CR) & ((1<<4) | (1<<2)))) > ; > -- > John W. Linville > [EMAIL PROTECTED] > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- John W. Linville [EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/