diff options
author | roger <roger@FreeBSD.org> | 2000-06-28 15:09:12 +0000 |
---|---|---|
committer | roger <roger@FreeBSD.org> | 2000-06-28 15:09:12 +0000 |
commit | 114ecdeaa96bb5c3485fa8cd0264b145caf3c8d7 (patch) | |
tree | e5783d7ce8eba747c0b925f96af7f6359974b7cc /sys/dev | |
parent | ce68da90ca9d1cc533704542a9be355c2fffa434 (diff) | |
download | FreeBSD-src-114ecdeaa96bb5c3485fa8cd0264b145caf3c8d7.zip FreeBSD-src-114ecdeaa96bb5c3485fa8cd0264b145caf3c8d7.tar.gz |
Update to driver 2.14. Adds new Tuner types for Hauppauge WinTV cards
Diffstat (limited to 'sys/dev')
-rwxr-xr-x | sys/dev/bktr/CHANGELOG.TXT | 4 | ||||
-rw-r--r-- | sys/dev/bktr/bktr_card.c | 86 | ||||
-rw-r--r-- | sys/dev/bktr/bktr_core.c | 26 | ||||
-rw-r--r-- | sys/dev/bktr/bktr_os.c | 87 |
4 files changed, 126 insertions, 77 deletions
diff --git a/sys/dev/bktr/CHANGELOG.TXT b/sys/dev/bktr/CHANGELOG.TXT index 619baee..aaf8455 100755 --- a/sys/dev/bktr/CHANGELOG.TXT +++ b/sys/dev/bktr/CHANGELOG.TXT @@ -487,3 +487,7 @@ 2.13 26 Jun 2000 Merge in more changes from Thomas Klausner <wiz@netbsd.org> syncing this driver with the NetBSD source at 25th June. +2.14 28 Jun 2000 Add new Hauppauge Tuner Types, supplied by Hauppauge and + required for Josef Karthauser <joe@pavilion.net> + Change the structure of some of the #include files and + merge in more NetBSD changes. diff --git a/sys/dev/bktr/bktr_card.c b/sys/dev/bktr/bktr_card.c index 128658b..979c8d4 100644 --- a/sys/dev/bktr/bktr_card.c +++ b/sys/dev/bktr/bktr_card.c @@ -824,43 +824,56 @@ checkTuner: /* Hauppauge kindly supplied the following Tuner Table */ /* FIXME: I think the tuners the driver selects for types */ /* 0x08 and 0x15 may be incorrect but no one has complained. */ + /* Old Temic tuners had their own API, but newer Temic tuners */ + /* have the same API as Philips tuners */ /* - ID Tuner Model Format We select Format - 0 NONE - 1 EXTERNAL - 2 OTHER - 3 Philips FI1216 BG - 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' PHILIPS_SECAM - a Philips FI1236 MK2 MN PHILIPS_NTSC - b Philips FI1246 MK2 I PHILIPS_PALI - c Philips FI1256 MK2 DK - d Temic 4032FY5 NTSC TEMIC_NTSC - e Temic 4002FH5 BG TEMIC_PAL - f Temic 4062FY5 I TEMIC_PALI - 10 Philips FR1216 MK2 BG - 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' PHILIPS_FR1236_SECAM - 17 Philips FM1236 MN PHILIPS_FR1236_NTSC - 18 Philips FM1246 I - 19 Philips FM1256 DK - 1a Temic 4036FY5 MN - FI1236 MK2 clone PHILIPS_NTSC - 1b Samsung TCPN9082D MN - 1c Samsung TCPM9092P Pal BG/I/DK - 1d Temic 4006FH5 BG PHILIPS_PALI clone - 1e Samsung TCPN9085D MN/Radio - 1f Samsung TCPB9085P Pal BG/I/DK / Radio - 20 Samsung TCPL9091P Pal BG & Secam L/L' - 21 Temic 4039FY5 NTSC Radio - + ID Tuner Model Format We select Format + 0x00 NONE + 0x01 EXTERNAL + 0x02 OTHER + 0x03 Philips FI1216 BG + 0x04 Philips FI1216MF BGLL' PHILIPS_SECAM + 0x05 Philips FI1236 MN PHILIPS_NTSC + 0x06 Philips FI1246 I PHILIPS_PALI + 0x07 Philips FI1256 DK + 0x08 Philips FI1216 MK2 BG PHILIPS_PALI + 0x09 Philips FI1216MF MK2 BGLL' PHILIPS_SECAM + 0x0a Philips FI1236 MK2 MN PHILIPS_NTSC + 0x0b Philips FI1246 MK2 I PHILIPS_PALI + 0x0c Philips FI1256 MK2 DK + 0x0d Temic 4032FY5 NTSC TEMIC_NTSC + 0x0e Temic 4002FH5 BG TEMIC_PAL + 0x0f Temic 4062FY5 I TEMIC_PALI + 0x10 Philips FR1216 MK2 BG + 0x11 Philips FR1216MF MK2 BGLL' PHILIPS_FR1236_SECAM + 0x12 Philips FR1236 MK2 MN PHILIPS_FR1236_NTSC + 0x13 Philips FR1246 MK2 I + 0x14 Philips FR1256 MK2 DK + 0x15 Philips FM1216 BG PHILIPS_FR1216_PAL + 0x16 Philips FM1216MF BGLL' PHILIPS_FR1236_SECAM + 0x17 Philips FM1236 MN PHILIPS_FR1236_NTSC + 0x18 Philips FM1246 I + 0x19 Philips FM1256 DK + 0x1a Temic 4036FY5 MN (FI1236 MK2 clone) PHILIPS_NTSC + 0x1b Samsung TCPN9082D MN + 0x1c Samsung TCPM9092P Pal BG/I/DK + 0x1d Temic 4006FH5 BG PHILIPS_PALI + 0x1e Samsung TCPN9085D MN/Radio + 0x1f Samsung TCPB9085P Pal BG/I/DK / Radio + 0x20 Samsung TCPL9091P Pal BG & Secam L/L' + 0x21 Temic 4039FY5 NTSC Radio + 0x22 Philips FQ1216ME Pal BGIDK & Secam L/L' + 0x23 Temic 4066FY5 Pal I (FI1246 MK2 clone) PHILIPS_PALI + 0x24 Philips TD1536 MN/ATSCDigital + 0x25 Philips TD1536D MN/ATSCDigital DUAL INPUT + 0x26 Philips FMR1236 M/N FM(no demod) + 0x27 Philips FI1256MP B/G, D/K + 0x28 Samsung TCPQ9091P BG/I/DK, L/L' + 0x29 Temic 4006FN5 BG/I/DK + 0x2a Temic 4009FR5 BG FM + 0x2b Temic 4046FM5 B/G, I, D/K, L/L' + 0x2c Temic 4009FN5 B/G, I, D/K, FM (no demod) + 0x2d Philips TD1536D_FH_44 MN/ATSCDigital DUAL INPUT */ @@ -912,6 +925,7 @@ checkTuner: case 0x8: case 0xb: case 0x1d: + case 0x23: select_tuner( bktr, PHILIPS_PALI ); goto checkDBX; diff --git a/sys/dev/bktr/bktr_core.c b/sys/dev/bktr/bktr_core.c index 8fa5c0a..7d71019 100644 --- a/sys/dev/bktr/bktr_core.c +++ b/sys/dev/bktr/bktr_core.c @@ -108,6 +108,12 @@ || (defined(__NetBSD__)) \ ) + +/*******************/ +/* *** FreeBSD *** */ +/*******************/ +#ifdef __FreeBSD__ + #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> @@ -119,11 +125,6 @@ #include <vm/pmap.h> #include <vm/vm_extern.h> -/*******************/ -/* *** FreeBSD *** */ -/*******************/ -#ifdef __FreeBSD__ - #if (__FreeBSD_version >=400000) || (NSMBUS > 0) #include <sys/bus.h> /* used by smbus and newbus */ #endif @@ -179,6 +180,21 @@ typedef unsigned int uintptr_t; /**************************/ #if defined(__NetBSD__) || defined(__OpenBSD__) +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/signalvar.h> +#include <sys/vnode.h> + +#ifdef __NetBSD__ +#include <uvm/uvm_extern.h> +#else +#include <vm/vm.h> +#include <vm/vm_kern.h> +#include <vm/pmap.h> +#include <vm/vm_extern.h> +#endif + #include <sys/inttypes.h> /* uintptr_t */ #include <dev/ic/bt8xx.h> #include <dev/pci/bktr/bktr_reg.h> diff --git a/sys/dev/bktr/bktr_os.c b/sys/dev/bktr/bktr_os.c index 7ca82a1..060e996 100644 --- a/sys/dev/bktr/bktr_os.c +++ b/sys/dev/bktr/bktr_os.c @@ -58,6 +58,12 @@ #define FIFO_RISC_DISABLED 0 #define ALL_INTS_DISABLED 0 + +/*******************/ +/* *** FreeBSD *** */ +/*******************/ +#ifdef __FreeBSD__ + #include <sys/param.h> #include <sys/systm.h> #include <sys/conf.h> @@ -74,11 +80,6 @@ #include <vm/pmap.h> #include <vm/vm_extern.h> -/*******************/ -/* *** FreeBSD *** */ -/*******************/ -#ifdef __FreeBSD__ - #if (__FreeBSD_version < 400000) #ifdef DEVFS #include <sys/devfsext.h> @@ -104,28 +105,7 @@ #include <machine/clock.h> /* for DELAY */ #include <pci/pcivar.h> #include <pci/pcireg.h> -#endif - -#ifdef __NetBSD__ -#include <dev/ic/bt8xx.h> /* NetBSD location for .h files */ -#include <dev/pci/bktr/bktr_reg.h> -#include <dev/pci/bktr/bktr_tuner.h> -#include <dev/pci/bktr/bktr_card.h> -#include <dev/pci/bktr/bktr_audio.h> -#include <dev/pci/bktr/bktr_core.h> -#include <dev/pci/bktr/bktr_os.h> -#else /* Traditional location for .h files */ -#include <machine/ioctl_meteor.h> -#include <machine/ioctl_bt848.h> /* extensions to ioctl_meteor.h */ -#include <dev/bktr/bktr_reg.h> -#include <dev/bktr/bktr_tuner.h> -#include <dev/bktr/bktr_card.h> -#include <dev/bktr/bktr_audio.h> -#include <dev/bktr/bktr_core.h> -#include <dev/bktr/bktr_os.h> -#endif -#if defined(__FreeBSD__) #if (NSMBUS > 0) #include <dev/bktr/bktr_i2c.h> #endif @@ -143,12 +123,14 @@ SYSCTL_INT(_hw_bt848, OID_AUTO, tuner, CTLFLAG_RW, &bt848_tuner, -1, ""); SYSCTL_INT(_hw_bt848, OID_AUTO, reverse_mute, CTLFLAG_RW, &bt848_reverse_mute, -1, ""); SYSCTL_INT(_hw_bt848, OID_AUTO, format, CTLFLAG_RW, &bt848_format, -1, ""); SYSCTL_INT(_hw_bt848, OID_AUTO, slow_msp_audio, CTLFLAG_RW, &bt848_slow_msp_audio, -1, ""); -#endif #if (__FreeBSD__ == 2) #define PCIR_REVID PCI_CLASS_REG #endif +#endif /* end freebsd section */ + + /****************/ /* *** BSDI *** */ @@ -161,6 +143,26 @@ SYSCTL_INT(_hw_bt848, OID_AUTO, slow_msp_audio, CTLFLAG_RW, &bt848_slow_msp_audi /* *** OpenBSD/NetBSD *** */ /**************************/ #if defined(__NetBSD__) || defined(__OpenBSD__) + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/conf.h> +#include <sys/uio.h> +#include <sys/kernel.h> +#include <sys/signalvar.h> +#include <sys/mman.h> +#include <sys/poll.h> +#include <sys/select.h> +#include <sys/vnode.h> + +#include <vm/vm.h> + +#ifndef __NetBSD__ +#include <vm/vm_kern.h> +#include <vm/pmap.h> +#include <vm/vm_extern.h> +#endif + #include <sys/device.h> #include <dev/pci/pcivar.h> #include <dev/pci/pcireg.h> @@ -176,6 +178,26 @@ int bktr_debug = 0; #endif /* __NetBSD__ || __OpenBSD__ */ +#ifdef __NetBSD__ +#include <dev/ic/bt8xx.h> /* NetBSD location for .h files */ +#include <dev/pci/bktr/bktr_reg.h> +#include <dev/pci/bktr/bktr_tuner.h> +#include <dev/pci/bktr/bktr_card.h> +#include <dev/pci/bktr/bktr_audio.h> +#include <dev/pci/bktr/bktr_core.h> +#include <dev/pci/bktr/bktr_os.h> +#else /* Traditional location for .h files */ +#include <machine/ioctl_meteor.h> +#include <machine/ioctl_bt848.h> /* extensions to ioctl_meteor.h */ +#include <dev/bktr/bktr_reg.h> +#include <dev/bktr/bktr_tuner.h> +#include <dev/bktr/bktr_card.h> +#include <dev/bktr/bktr_audio.h> +#include <dev/bktr/bktr_core.h> +#include <dev/bktr/bktr_os.h> +#endif + + /****************************/ /* *** FreeBSD 4.x code *** */ @@ -1240,13 +1262,6 @@ static int bktr_intr(void *arg) { return common_bktr_intr(arg); } #define bktr_ioctl bktrioctl #define bktr_mmap bktrmmap -int bktr_open __P((dev_t, int, int, struct proc *)); -int bktr_close __P((dev_t, int, int, struct proc *)); -int bktr_read __P((dev_t, struct uio *, int)); -int bktr_write __P((dev_t, struct uio *, int)); -int bktr_ioctl __P((dev_t, ioctl_cmd_t, caddr_t, int, struct proc*)); -int bktr_mmap __P((dev_t, int, int)); - vm_offset_t vm_page_alloc_contig(vm_offset_t, vm_offset_t, vm_offset_t, vm_offset_t); @@ -1667,8 +1682,8 @@ bktr_ioctl(dev_t dev, ioctl_cmd_t cmd, caddr_t arg, int flag, struct proc* pr) /* * */ -int -bktr_mmap(dev_t dev, int offset, int nprot) +paddr_t +bktr_mmap(dev_t dev, off_t offset, int nprot) { int unit; bktr_ptr_t bktr; |