Date: Tue, 28 Feb 2006 05:11:40 +0800 From: Ariff Abdullah <ariff@FreeBSD.org> To: Scott Long <scottl@samsco.org> Cc: mi+mx@aldan.algebra.com, re@FreeBSD.org, multimedia@FreeBSD.org Subject: Re: today's 6.1 would not boot here Message-ID: <20060228051140.31f56b4f.ariff@FreeBSD.org> In-Reply-To: <44036500.4090802@samsco.org> References: <20060227105017.77c18b20.ariff@FreeBSD.org> <200602271251.32890.mi%2Bmx@aldan.algebra.com> <44034054.3090104@samsco.org> <200602271321.33055.mi%2Bmx@aldan.algebra.com> <20060228025154.01db3dff.ariff@FreeBSD.org> <44035532.1060408@samsco.org> <20060228043735.33bddf5d.ariff@FreeBSD.org> <44036500.4090802@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Signature=_Tue__28_Feb_2006_05_11_40_+0800_FWHCfQID5d3y79ow Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, 27 Feb 2006 13:45:52 -0700 Scott Long <scottl@samsco.org> wrote: > Ariff Abdullah wrote: > > On Mon, 27 Feb 2006 12:38:26 -0700 > > Scott Long <scottl@samsco.org> wrote: > >=20 > >>Is this a problem with calibrating the sample rate on the chip?=20 > >>There was a problem with snd_ich several years ago where the > >>calibration would fail or be unpredictable during boot. I fixed > >it >my moving the calibration code to a separate step that gets > >run via >the config_intrhook API. That made it work reliably > >during boot >and when loaded after boot. Is this new problem > >somehow related to >this? Since I was the one who fixed it in the > >past, I'd be happy to >help now. > >> > >=20 > > It seems related. From my naked eyes, I can sense that the > > interrupt was trigered during/before sampling rate calibration, > > and since the calibration expect to not trigger any interrupt, > > this will cause unexpected behaviour especially for this MPSAFEed > > driver *and* during boot. Besides, the pcm construction also done > > before the calibration, unlike snd_atiixp where the hook is use to > > bring everything alive after the necessary step is finished. > >=20 > >=20 > > I'll come up with something shortly. > >=20 > Maybe move the bus_setup_intr() call to after the calibration? If > the driver doesn't need interrupts until after calibration, I think > that this would cleanly solve the problem. >=20 Good idea, or, simply ignore interrupt trigger until all has been calibrated. Pretty much like this: http://people.freebsd.org/~ariff/test/ich.c -- Ariff Abdullah FreeBSD --Signature=_Tue__28_Feb_2006_05_11_40_+0800_FWHCfQID5d3y79ow Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (FreeBSD) iD8DBQFEA2tslr+deMUwTNoRAuP/AJ46gMQ4Y1RqzoQcA2bjl75qpJ9jWQCguva6 TFq+p9+5+QnBrh+80klEhl0= =vMz5 -----END PGP SIGNATURE----- --Signature=_Tue__28_Feb_2006_05_11_40_+0800_FWHCfQID5d3y79ow--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060228051140.31f56b4f.ariff>