Skip site navigation (1)Skip section navigation (2)
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>