mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 08:43:19 -04:00
Update to driver 2.05
Make tuner on French SECAM Hauppauge cards work Submitted by: Cyrille Lefevre <clefevre@citeweb.net> Fix clipping bugs ready for Xv support in XFree86 4.0 Submitted by: Thomas Mueller <tmueller@thmu.de> Fix the 'feature' where /dev/vbi needed to be opened before /dev/bktr when using Teletext with Alevt and FXTV. Requested by: Randall Hopper
This commit is contained in:
parent
020024f3d2
commit
753d64dfbb
4 changed files with 37 additions and 30 deletions
|
|
@ -254,7 +254,7 @@
|
|||
and MSP34xx Audio chip. Fixed i2c read error.
|
||||
Hauppauge supplied details of new Tuner Types.
|
||||
Danny Braniss <danny@cs.huji.ac.il> submitted Bt878
|
||||
AverMedia detection with PCI subsystem vendor id.
|
||||
AVerMedia detection with PCI subsystem vendor id.
|
||||
|
||||
1.57 26 Jan 1999 Roger Hardiman <roger@cs.strath.ac.uk>
|
||||
Support for MSP3410D / MSP3415D Stereo/Mono audio
|
||||
|
|
@ -418,10 +418,19 @@
|
|||
Found FM radio bug mute introduced in release 2.00
|
||||
|
||||
2.04 20 Oct 1999 Roger Hardiman <roger@freebsd.org>
|
||||
Updated AverMedia audio sources to support FM and Line In
|
||||
sources properly. (Based on info supplied by AverMedia)
|
||||
Updated AVerMedia audio sources to support FM and Line In
|
||||
sources properly. (Based on info supplied by AVerMedia)
|
||||
Make PLL mode the default for Bt878 chips. This means PAL
|
||||
Bt878 users no longer need the BKTR_USE_PLL kernel option.
|
||||
Detect and auto-configure Dolby Surround Sound DPL3518A chip
|
||||
on Hauppauge WinTV Theater. From Frank Nobis <fn@radio-do.de>
|
||||
|
||||
2.05 8 Nov 1999 Update tuner control codes for Philips SECAM. Submitted by
|
||||
Cyrille Lefevre <clefevre@citeweb.net>
|
||||
Updated clipping code, ready for Xv support in XFree86 4.0,
|
||||
submitted by Thomas Mueller <tmueller@thmu.de>
|
||||
Thomas also has information on a LynxOS port of this driver.
|
||||
Phase out the rgb_prog RISC program and use rgb_vbi_prog as
|
||||
the default. Now you no longer have to open /dev/vbi
|
||||
before /dev/bktr. - Roger Hardiman <roger@freebsd.org>
|
||||
|
||||
|
|
|
|||
|
|
@ -800,12 +800,12 @@ checkTuner:
|
|||
1 EXTERNAL
|
||||
2 OTHER
|
||||
3 Philips FI1216 BG
|
||||
4 Philips FI1216MF BGLL'
|
||||
4 Philips FI1216MF BGLL' PHILIPS_SECAM
|
||||
5 Philips FI1236 MN PHILIPS_NTSC
|
||||
6 Philips FI1246 I PHILIPS_PALI
|
||||
7 Philips FI1256 DK
|
||||
8 Philips FI1216 MK2 BG PHILIPS_PALI
|
||||
9 Philips FI1216MF MK2 BGLL'
|
||||
9 Philips FI1216MF MK2 BGLL' PHILIPS_SECAM
|
||||
a Philips FI1236 MK2 MN PHILIPS_NTSC
|
||||
b Philips FI1246 MK2 I PHILIPS_PALI
|
||||
c Philips FI1256 MK2 DK
|
||||
|
|
@ -813,12 +813,12 @@ checkTuner:
|
|||
e Temic 4002FH5 BG TEMIC_PAL
|
||||
f Temic 4062FY5 I TEMIC_PALI
|
||||
10 Philips FR1216 MK2 BG
|
||||
11 Philips FR1216MF MK2 BGLL'
|
||||
11 Philips FR1216MF MK2 BGLL' PHILIPS_FR1236_SECAM
|
||||
12 Philips FR1236 MK2 MN PHILIPS_FR1236_NTSC
|
||||
13 Philips FR1246 MK2 I
|
||||
14 Philips FR1256 MK2 DK
|
||||
15 Philips FM1216 BG PHILIPS_FR1216_PAL
|
||||
16 Philips FM1216MF BGLL'
|
||||
16 Philips FM1216MF BGLL' PHILIPS_FR1236_SECAM
|
||||
17 Philips FM1236 MN PHILIPS_FR1236_NTSC
|
||||
18 Philips FM1246 I
|
||||
19 Philips FM1256 DK
|
||||
|
|
@ -857,10 +857,14 @@ checkTuner:
|
|||
tuner_code = eeprom[9];
|
||||
switch (tuner_code) {
|
||||
|
||||
case 0x5:
|
||||
case 0x0a:
|
||||
case 0x1a:
|
||||
select_tuner( bktr, PHILIPS_NTSC );
|
||||
case 0x4:
|
||||
case 0x9:
|
||||
select_tuner( bktr, PHILIPS_SECAM );
|
||||
goto checkDBX;
|
||||
|
||||
case 0x11:
|
||||
case 0x16:
|
||||
select_tuner( bktr, PHILIPS_FR1236_SECAM );
|
||||
goto checkDBX;
|
||||
|
||||
case 0x12:
|
||||
|
|
|
|||
|
|
@ -702,11 +702,11 @@ common_bktr_intr( void *arg )
|
|||
|
||||
|
||||
/*
|
||||
* Process the VBI data if it is being captured. We do this once
|
||||
* Process the VBI data if /dev/vbi is open. We do this after
|
||||
* both Odd and Even VBI data is captured. Therefore we do this
|
||||
* in the Even field interrupt handler.
|
||||
*/
|
||||
if ((bktr->vbiflags & VBI_CAPTURE)&&(field==EVEN_F)) {
|
||||
if ((bktr->vbiflags & VBI_OPEN)&&(field==EVEN_F)) {
|
||||
/* Put VBI data into circular buffer */
|
||||
vbidecode(bktr);
|
||||
|
||||
|
|
@ -2527,7 +2527,8 @@ static bool_t split(bktr_reg_t * bktr, volatile u_long **dma_prog, int width ,
|
|||
flag = OP_SOL | OP_EOL;
|
||||
} else if (bktr->current_col == 0 ) {
|
||||
flag = OP_SOL;
|
||||
} else if (bktr->current_col == cols) {
|
||||
} else if (bktr->current_col == cols
|
||||
|| bktr->current_col + width >= cols) {
|
||||
flag = OP_EOL;
|
||||
} else flag = 0;
|
||||
|
||||
|
|
@ -2553,7 +2554,8 @@ static bool_t split(bktr_reg_t * bktr, volatile u_long **dma_prog, int width ,
|
|||
} else if (bktr->current_col == 0 ) {
|
||||
flag = OP_SOL;
|
||||
flag2 = 0;
|
||||
} else if (bktr->current_col >= cols) {
|
||||
} else if (bktr->current_col >= cols
|
||||
|| bktr->current_col + width >= cols) {
|
||||
flag = 0;
|
||||
flag2 = OP_EOL;
|
||||
} else {
|
||||
|
|
@ -2676,7 +2678,7 @@ rgb_vbi_prog( bktr_ptr_t bktr, char i_flag, int cols, int rows, int interlace )
|
|||
*dma_prog++ = OP_SYNC | BKTR_FM1;
|
||||
*dma_prog++ = 0; /* NULL WORD */
|
||||
width = cols;
|
||||
for (i = 0; i < (rows/interlace); i++) {
|
||||
for (i = 0; i < rows; i += interlace) {
|
||||
target = target_buffer;
|
||||
if ( notclipped(bktr, i, width)) {
|
||||
split(bktr, (volatile u_long **) &dma_prog,
|
||||
|
|
@ -2733,7 +2735,7 @@ rgb_vbi_prog( bktr_ptr_t bktr, char i_flag, int cols, int rows, int interlace )
|
|||
*dma_prog++ = OP_SYNC | BKTR_FM1;
|
||||
*dma_prog++ = 0; /* NULL WORD */
|
||||
width = cols;
|
||||
for (i = 0; i < (rows/interlace); i++) {
|
||||
for (i = 1; i < rows; i += interlace) {
|
||||
target = target_buffer;
|
||||
if ( notclipped(bktr, i, width)) {
|
||||
split(bktr, (volatile u_long **) &dma_prog,
|
||||
|
|
@ -2834,7 +2836,7 @@ rgb_prog( bktr_ptr_t bktr, char i_flag, int cols, int rows, int interlace )
|
|||
/* sync, mode indicator packed data */
|
||||
*dma_prog++ = 0; /* NULL WORD */
|
||||
width = cols;
|
||||
for (i = 0; i < (rows/interlace); i++) {
|
||||
for (i = 0; i < rows; i += interlace) {
|
||||
target = target_buffer;
|
||||
if ( notclipped(bktr, i, width)) {
|
||||
split(bktr, (volatile u_long **) &dma_prog,
|
||||
|
|
@ -2900,7 +2902,7 @@ rgb_prog( bktr_ptr_t bktr, char i_flag, int cols, int rows, int interlace )
|
|||
*dma_prog++ = OP_SYNC | BKTR_RESYNC | BKTR_FM1;
|
||||
*dma_prog++ = 0; /* NULL WORD */
|
||||
width = cols;
|
||||
for (i = 0; i < (rows/interlace); i++) {
|
||||
for (i = 1; i < rows; i += interlace) {
|
||||
target = target_buffer;
|
||||
if ( notclipped(bktr, i, width)) {
|
||||
split(bktr, (volatile u_long **) &dma_prog,
|
||||
|
|
@ -3448,18 +3450,10 @@ build_dma_prog( bktr_ptr_t bktr, char i_flag )
|
|||
rows = bktr->rows;
|
||||
cols = bktr->cols;
|
||||
|
||||
bktr->vbiflags &= ~VBI_CAPTURE; /* default - no vbi capture */
|
||||
|
||||
/* If /dev/vbi is already open, then use the rgb_vbi RISC program */
|
||||
if ( (pf_int->public.type == METEOR_PIXTYPE_RGB)
|
||||
&&(bktr->vbiflags & VBI_OPEN) ) {
|
||||
if (i_flag==1) bktr->bktr_cap_ctl |= BT848_CAP_CTL_VBI_EVEN;
|
||||
if (i_flag==2) bktr->bktr_cap_ctl |= BT848_CAP_CTL_VBI_ODD;
|
||||
if (i_flag==3) bktr->bktr_cap_ctl |=
|
||||
BT848_CAP_CTL_VBI_EVEN | BT848_CAP_CTL_VBI_ODD;
|
||||
if (pf_int->public.type == METEOR_PIXTYPE_RGB) {
|
||||
bktr->bktr_cap_ctl |=
|
||||
BT848_CAP_CTL_VBI_EVEN | BT848_CAP_CTL_VBI_ODD;
|
||||
bktr->vbiflags |= VBI_CAPTURE;
|
||||
rgb_vbi_prog(bktr, i_flag, cols, rows, interlace);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ static const struct TUNER tuners[] = {
|
|||
TSA552x_SCONTROL,
|
||||
0x00 },
|
||||
{ 0x00, 0x00 }, /* band-switch crosspoints */
|
||||
{ 0xa0, 0x90, 0x30, 0x00 } }, /* the band-switch values */
|
||||
{ 0xa7, 0x97, 0x37, 0x00 } }, /* the band-switch values */
|
||||
|
||||
/* TEMIC_PAL I */
|
||||
{ "Temic PAL I", /* the 'name' */
|
||||
|
|
@ -236,7 +236,7 @@ static const struct TUNER tuners[] = {
|
|||
TSA552x_FCONTROL,
|
||||
TSA552x_RADIO },
|
||||
{ 0x00, 0x00 }, /* band-switch crosspoints */
|
||||
{ 0xa0, 0x90, 0x30, 0xa4 } }, /* the band-switch values */
|
||||
{ 0xa7, 0x97, 0x37, 0xa4 } }, /* the band-switch values */
|
||||
|
||||
/* ALPS TSCH5 NTSC */
|
||||
{ "ALPS TSCH5 NTSC FM", /* the 'name' */
|
||||
|
|
|
|||
Loading…
Reference in a new issue