Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Mar 1997 10:20:20 -0800
From:      Amancio Hasty <hasty@rah.star-gate.com>
To:        "Louis A. Mamakos" <louie@TransSys.COM>
Cc:        Steve Passe <smp@csn.net>, multimedia@freebsd.org
Subject:   Re: Where do I get the Win/TV code? 
Message-ID:  <199703211820.KAA05398@rah.star-gate.com>
In-Reply-To: Your message of "Thu, 20 Mar 1997 23:58:07 EST." <199703210458.XAA00760@whizzo.transsys.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
This patch looks good to me 8)

	Tnks A lot!
	Amancio

>From The Desk Of "Louis A. Mamakos" :
> This is a multipart MIME message.
> 
> --==_Exmh_2276042640
> Content-Type: text/plain; charset=us-ascii
> 
> I built a new kernel with this version of the Bt848 driver code, and 
> interestingly enough, got the mysterious system hang once.  Further, I
> also bot the mysterious 60 interrupts per second on the shared IRQ 
> used by the Hauppauge board.
> 
> The good news is that the audio on my WinCast/TV dbx board is working
> great! 
> 
> I added this code to the interrupt service function, which seems to have
> improved things.  This was in my local version of the driver, and I
> guess didn't get submitted.  The interesting thing is that it appears
> that under some circumstances, interrupts can get unmasked depending on
> what the current state of affairs is, regardless of any process
> having the device open or not.  I'm not quite certain about
> the return inside the if statement or not; perhaps someone could
> sanity check that for me.
> 
> louie
> 
> 
> --==_Exmh_2276042640
> Content-Type: application/octet-stream ; name="diff"
> Content-Description: diff
> Content-Disposition: attachment; filename="diff"
> 
> --- brooktree848.c.orig	Thu Mar 20 20:48:16 1997
> +++ brooktree848.c	Thu Mar 20 23:18:40 1997
> @@ -364,11 +364,22 @@
>  	s_status = *bt_reg;
>  	*bt_reg = 0;
>  
> +	/*
> +	 * check to see if any interrupts are unmasked on this device.  If
> +	 * none are, then we likely got here by way of being on a PCI shared
> +	 * interrupt dispatch list.
> +	 */
> +	btl_reg = (u_long *) &bt848[BKTR_INT_MASK];
> +	if (*btl_reg == 0)
> +	    return;		/* bail out now, before we do something we
> +				   shouldn't */
> +
>  	if (!(bktr->flags & METEOR_OPEN)) {
>  		bts_reg = (u_short *) &bt848[BKTR_GPIO_DMA_CTL];
>  		*bts_reg = 0;
>  		btl_reg = (u_long *) &bt848[BKTR_INT_MASK];
>  		*btl_reg = 0;
> +		return;		/* no reason to continue, right? */
>  	}
>  
>  	btl_reg = (u_long *) &bt848[BKTR_INT_STAT];
> 
> --==_Exmh_2276042640--
> 
> 





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703211820.KAA05398>