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>