From owner-freebsd-multimedia@FreeBSD.ORG  Tue Feb 28 00:04:11 2006
Return-Path: <owner-freebsd-multimedia@FreeBSD.ORG>
X-Original-To: multimedia@FreeBSD.org
Delivered-To: freebsd-multimedia@FreeBSD.ORG
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 0BDF916A420;
	Tue, 28 Feb 2006 00:04:11 +0000 (GMT)
	(envelope-from scottl@samsco.org)
Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 55DC743D62;
	Tue, 28 Feb 2006 00:04:07 +0000 (GMT)
	(envelope-from scottl@samsco.org)
Received: from [10.10.3.185] ([69.15.205.254]) (authenticated bits=0)
	by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id k1S03tna044441;
	Mon, 27 Feb 2006 17:03:56 -0700 (MST)
	(envelope-from scottl@samsco.org)
Message-ID: <44039366.7080605@samsco.org>
Date: Mon, 27 Feb 2006 17:03:50 -0700
From: Scott Long <scottl@samsco.org>
User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060206
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ariff Abdullah <ariff@FreeBSD.org>
References: <20060227105017.77c18b20.ariff@FreeBSD.org>	<200602271251.32890.mi+mx@aldan.algebra.com>	<44034054.3090104@samsco.org>	<200602271321.33055.mi+mx@aldan.algebra.com>	<20060228025154.01db3dff.ariff@FreeBSD.org>	<44035532.1060408@samsco.org>	<20060228043735.33bddf5d.ariff@FreeBSD.org>	<44036500.4090802@samsco.org>
	<20060228051140.31f56b4f.ariff@FreeBSD.org>
In-Reply-To: <20060228051140.31f56b4f.ariff@FreeBSD.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=0.0 required=3.8 tests=none autolearn=failed 
	version=3.1.0
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on pooker.samsco.org
Cc: mi+mx@aldan.algebra.com, re@FreeBSD.org, multimedia@FreeBSD.org
Subject: Re: today's 6.1 would not boot here
X-BeenThere: freebsd-multimedia@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Multimedia discussions <freebsd-multimedia.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia>, 
	<mailto:freebsd-multimedia-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-multimedia>
List-Post: <mailto:freebsd-multimedia@freebsd.org>
List-Help: <mailto:freebsd-multimedia-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia>, 
	<mailto:freebsd-multimedia-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Feb 2006 00:04:11 -0000

Ariff Abdullah wrote:
> 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:
>>>
>>>
>>>>Is this a problem with calibrating the sample rate on the chip? 
>>>>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.
>>>
>>>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.
>>>
>>>
>>>I'll come up with something shortly.
>>>
>>
>>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.
>>
> 
> Good idea, or, simply ignore interrupt trigger until all has been
> calibrated. Pretty much like this:
> 
> http://people.freebsd.org/~ariff/test/ich.c
> 

Yup, that looks good too.

Scott