Re: AC97 sound problems with current

From: Chuck McCrobie <mccrobie2000_at_yahoo.com>
Date: Thu, 27 Mar 2003 08:58:15 -0800 (PST)
--- John Hay <jhay_at_icomtek.csir.co.za> wrote:
> > 
> > | > There is a calibration step in the driver to
> determine the clock rate of th
> > | e 
> > | > AC97 link.  What you are seeing is the
> calibration step failing and setting
> > |  a 
> > | > bogus ac97 link rate.  I took a cursory look a
> couple of weeks back and it 
> > | > smelt like the timecounter initialization
> point changed, but haven't gotten
> > |  
> > | > around to looking closer and fixing the
> driver.
> > 
> > It's definitely nothing to do with the timecounter
> - quick test on other h/w 
> > along similar lines.  I don't access to an ich
> board to test on - it's 
> > probably obvious, but I'm not seeing it just now
> with visual inspection...
> 
> It doesn't look like it is the timecounters. I just
> added some printfs
> and it looks like this:
> 
> pcm0: measured ac97 link rate at 512000000 Hz
> t1 1.098359, t2 1.098363
> ociv 0, nciv 1, bytes 8192
> tsc1 445813142, tsc2 445821922, diff 8780
> 
> The tsc values are just from rdtsc(), I added tsc1 =
> rdtsc() just above
> the first microtime() and tsc2 just after the last.
> My machine is a 1.8G
> P4 (ICH2), so the timecounter values seem correct.
> 
> I have kernel around the middle of Feb that gets the
> value right and one
> from March 4 that gets it all wrong.
> 
> John
> -- 
> John Hay -- John.Hay_at_icomtek.csir.co.za /
> jhay_at_FreeBSD.org
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
>
http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
"freebsd-current-unsubscribe_at_freebsd.org"

I also see this problem.  On my machine, I dumped the
t1 and t2 variables - there's only about 3 microsecond
difference!.

It seems the calibration loop is entered, but that CIV
is immediately updated to the next index, thus getting
out of the loop after about 3-4 microseconds.

I thought something with the setup of the registers or
maybe a blocksize issue, but I'm getting out of my
element here.

I can try various testing and debug code if needed.

Chuck McCrobie
mccrobie2000_at_yahoo.com

__________________________________________________
Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
http://platinum.yahoo.com
Received on Thu Mar 27 2003 - 07:58:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:02 UTC