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>
index | next in thread | previous in thread | raw e-mail
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--
>
>
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703211820.KAA05398>
