From owner-freebsd-multimedia Sat Jun 14 12:23:31 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id MAA04930 for multimedia-outgoing; Sat, 14 Jun 1997 12:23:31 -0700 (PDT) Received: from Ilsa.StevesCafe.com (Ilsa.StevesCafe.com [205.168.119.129]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id MAA04918 for ; Sat, 14 Jun 1997 12:23:18 -0700 (PDT) Received: from Ilsa.StevesCafe.com (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.8.5/8.8.5) with ESMTP id NAA11453; Sat, 14 Jun 1997 13:20:47 -0600 (MDT) Message-Id: <199706141920.NAA11453@Ilsa.StevesCafe.com> X-Mailer: exmh version 2.0gamma 1/27/96 From: Steve Passe To: Bernie Doehner cc: Yixin Jin , multimedia@FreeBSD.ORG Subject: Re: Hauppauge Wincast/TV In-reply-to: Your message of "Sat, 14 Jun 1997 09:05:12 EDT." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 14 Jun 1997 13:20:47 -0600 Sender: owner-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi, I did a quick patch to the code in 3.0-current to allow: - OVERRIDE_TUNER: allows you to manually choose the tuner type for those cards that fail to probe properly. See source for legal values. - OVERRIDE_DBX: allows you to manually choose DBX or NO DBX for those cards that fail to probe properly. 0 == no DBX circuit present, 1 == DBX circuit present. here's a patch against it: ------------------------------------- cut ------------------------------------ *** brooktree848.c.orig Mon May 5 14:54:54 1997 --- brooktree848.c Sat Jun 14 13:16:09 1997 *************** *** 374,381 **** * i2c things: */ - #define TEST_PAL - /* PLL on a Temic NTSC tuner: 4032FY5 */ #define TEMIC_NTSC_WADDR 0xc0 #define TEMIC_NTSC_RADDR 0xc1 --- 374,379 ---- *************** *** 3246,3251 **** --- 3244,3256 ---- /* * the data for each type of tuner + * + * if probeCard() fails to detect the proper tuner on boot you can + * override it by setting the following define to the tuner present: + * + #define OVERRIDE_TUNER + * + * where is one of the following tuner defines. */ /* indexes into tuners[] */ *************** *** 3402,3407 **** --- 3407,3417 ---- bktr->card = cards[ (card = CARD_MIRO) ]; checkTuner: + #if defined( OVERRIDE_TUNER ) + bktr->card.tuner = &tuners[ OVERRIDE_TUNER ]; + goto checkDBX; + #endif + /* differentiate type of tuner */ if ( i2cRead( bktr, TEMIC_NTSC_RADDR ) != ABSENT ) { bktr->card.tuner = &tuners[ TEMIC_NTSC ]; *************** *** 3412,3431 **** bktr->card.tuner = &tuners[ PHILIPS_NTSC ]; goto checkDBX; } ! #if defined( TEST_PAL ) ! /** WARNING: this is a test */ if ( card == CARD_HAUPPAUGE ) { if ( i2cRead( bktr, TEMIC_PALI_RADDR ) != ABSENT ) { bktr->card.tuner = &tuners[ TEMIC_PAL ]; goto checkDBX; } } - #endif /* TEST_PAL */ /* no tuner found */ bktr->card.tuner = &tuners[ NO_TUNER ]; checkDBX: /* probe for BTSC (dbx) chips */ if ( i2cRead( bktr, TDA9850_RADDR ) != ABSENT ) bktr->card.dbx = 1; --- 3422,3444 ---- bktr->card.tuner = &tuners[ PHILIPS_NTSC ]; goto checkDBX; } ! if ( card == CARD_HAUPPAUGE ) { if ( i2cRead( bktr, TEMIC_PALI_RADDR ) != ABSENT ) { bktr->card.tuner = &tuners[ TEMIC_PAL ]; goto checkDBX; } } /* no tuner found */ bktr->card.tuner = &tuners[ NO_TUNER ]; checkDBX: + #if defined( OVERRIDE_DBX ) + bktr->card.dbx = OVERRIDE_DBX; + goto end; + #endif + /* probe for BTSC (dbx) chips */ if ( i2cRead( bktr, TDA9850_RADDR ) != ABSENT ) bktr->card.dbx = 1; ------------------------------------- cut ------------------------------------ Let me know if it fails to work properly. -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD