Commit Graph

258 Commits

Author SHA1 Message Date
phk
b648921acc Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)
Remove old DEVFS support fields from dev_t.

  Make uid, gid & mode members of dev_t and set them in make_dev().

  Use correct uid, gid & mode in make_dev in disk minilayer.

  Add support for registering alias names for a dev_t using the
  new function make_dev_alias().  These will show up as symlinks
  in DEVFS.

  Use makedev() rather than make_dev() for MFSs magic devices to prevent
  DEVFS from noticing this abuse.

  Add a field for DEVFS inode number in dev_t.

  Add new DEVFS in fs/devfs.

  Add devfs cloning to:
        disk minilayer (ie: ad(4), sd(4), cd(4) etc etc)
        md(4), tun(4), bpf(4), fd(4)

  If DEVFS add -d flag to /sbin/inits args to make it mount devfs.

  Add commented out DEVFS to GENERIC
2000-08-20 21:34:39 +00:00
roger
114ecdeaa9 Update to driver 2.14. Adds new Tuner types for Hauppauge WinTV cards 2000-06-28 15:09:12 +00:00
roger
07b15689bb Update to driver 2.13.
This merges in changes from NetBSD which ensure bktr0
(actually bktr%d) is printed at the start of any output lines.

Submitted by:	Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
2000-06-26 09:41:32 +00:00
peter
2858982d35 Use the correct register names. s/PCI_MAP_REG_START/PCIR_MAPS/ 2000-05-28 15:48:48 +00:00
phk
6be1308ad1 Remove ~25 unneeded #include <sys/conf.h>
Remove ~60 unneeded #include <sys/malloc.h>
2000-04-19 14:58:28 +00:00
phk
75e82c815e Remove unneeded <sys/buf.h> includes.
Due to some interesting cpp tricks in lockmgr, the LINT kernel shrinks
by 924 bytes.
2000-04-18 15:15:39 +00:00
roger
05a391f345 Remove debugging code 2000-04-16 07:56:58 +00:00
roger
88a1808ad0 Fix typo in interrupt handling code and fix bug in setting of adelay 2000-04-16 07:50:09 +00:00
roger
5e5d9a77fb Update to driver 2.11.
Driver now compiles on FreeBSD/Alpha, but still requires testing.
Remove a printf, submitted by Chris D. Faulhaber <jedgar@fxp.org>
2000-04-15 07:46:19 +00:00
roger
706cea8eeb Upgrade the bktr driver from 2.07 to 2.10.
- The driver now uses bus_space() and runs on NetBSD 1.4.2
   Submitted by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>

 - Remove startup quirks for video and vbi capture for PAL users.
   PAL TV users can now run FXTV and Alevt in any order.

 - Add support for cable channels >100
   Submitted by Scott Presnell <srp@zgi.com>

 - New MSP3410/3415 setup code added. This is experimental.
   Please set the sysctl hw.bt848.slow_msp_audio to 1 for this.
   Submitted by Frank Nobis<fn@radio-do.de>
2000-04-04 16:54:13 +00:00
roger
8123ede1fe Add multiple #include protection
Submitted by:	 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
2000-04-04 16:46:19 +00:00
peter
716214e9d7 The Leadtek Winfast TV2000 has one of the FM capable Tuners. Don't
default to a non-FM tuner or FM radio is non-functional.

Approved by:	jkh
2000-02-12 08:49:21 +00:00
peter
394b57d7b2 Use config's tools rather than #if's. 2000-01-29 18:54:12 +00:00
roger
1405ac9364 Update to driver 2.07
Add new Channel Set for France. Submitted by Daniel Dagneaux <dagneaux@lure.u-psud.fr>
2000-01-24 14:00:34 +00:00
roger
e5aaa91ca5 Update to driver 2.07
Update i2c code to build on FreeBSD 3.x and 4.x machines.
Added GPIO audio values for the Askey/Dynalink TV card talken from postings on the V4L mailing list.
Update Australian Channel Set. Submitted by John Birrell <jb@cimlogic.com.au>
Add new Channel Set for France. Submitted by Daniel Dagneaux <dagneaux@lure.u-psud.fr>
2000-01-24 14:00:21 +00:00
peter
15b9bcb121 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 04:46:21 +00:00
roger
44a06ec4a2 bktr driver 2.06 changelog 1999-12-11 07:33:36 +00:00
roger
655ca3f7fd Backout changes made in 1.102 following feedback from NTSC users
There seems to be some problem with the new rgb_vbi_prog() RISC
code not working for NTSC users.

This means that European teletext users will need to start
Alevt (or open /dev/vbi0) BEFORE starting FXTV (or opening /dev/bktr0)
if they want to capture VBI data for Teletext/Videotext or WaveTop

Reported by: Chris Csanady <cc@137.org>, Kenneth D. Merry <ken@kdm.org>,
             Randy Bush <randy@psg.com>
1999-12-08 14:01:30 +00:00
roger
7bdf4b7db0 Fix bug where tuner i2c address was not set for IMS Turbo cards
Put back Hauppauge Tuner types 0x5, 0x0a, 0x1a which I deleted by mistake.
1999-12-07 17:23:39 +00:00
mdodd
87e31f4b90 Remove the 'ivars' arguement to device_add_child() and
device_add_child_ordered().  'ivars' may now be set using the
device_set_ivars() function.

This makes it easier for us to change how arbitrary data structures are
associated with a device_t.  Eventually we won't be modifying device_t
to add additional pointers for ivars, softc data etc.

Despite my best efforts I've probably forgotten something so let me know
if this breaks anything.  I've been running with this change for months
and its been quite involved actually isolating all the changes from
the rest of the local changes in my tree.

Reviewed by:	peter, dfr
1999-12-03 08:41:24 +00:00
roger
f34c3c16c9 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
1999-11-13 14:54:00 +00:00
peter
630652b41e No need to use DEV_DRIVER_MODULE() since the bktr driver calls make_dev().
Roger: Feel free to change or spam this as you please.
1999-11-08 07:20:07 +00:00
roger
b0d0f86853 Update to driver release 2.04
Update AverMedia GPIO values
Submitted by:	AverMedia

Add support for WinTV Theater Dolby Surround Sound DPL3518A chip
Submitted by:	Frank Nobis <fn@radio-do.de>

Make PLL mode the default for Bt878s. You no longer need options BKTR_USE_PLL
1999-10-28 13:58:17 +00:00
roger
8877cb626e Include opt_bktr.
Without it the kernel config options, like OVERRIDE_TUNER, where not
getting passed to the driver.

Bug noticed by:	Marc Fonvieille <fonvi@club-internet.fr>
1999-10-15 13:35:55 +00:00
roger
3e0b9be4c8 Found and fixed FM radio mute bug
Submitted by:	Thomas Runge <runge@rostock.zgdv.de>
1999-10-05 01:49:43 +00:00
roger
32722204f7 Update Australian channel set and add Leadtek Winfast 2000 GPIO
values for audio.

Submitted by:	peter
1999-10-04 09:47:44 +00:00
roger
69c745b9cb Add auto-detection for Askey Dynalink Magic TView and
Leadtek Winfast 2000 cards.
No audio support yet, just the card make is reported.

Submitted by:	 Craig <crh@outpost.co.nz>
Submitted by:	 Peter Wemm <peter@netplex.com.au>
1999-09-27 08:04:55 +00:00
roger
3eae1b2fb5 Split the Bt848 driver into seperate files for
audio, tuner, card make, os dependent code and core bt848/i2c code.

Also, rewrite tuner code for FM Radio to make the code cleaner.
1999-09-26 22:06:20 +00:00
phk
e9e0512210 Remove five now unused fields from struct cdevsw. They should never
have been there in the first place.  A GENERIC kernel shrinks almost 1k.

Add a slightly different safetybelt under nostop for tty drivers.

Add some missing FreeBSD tags
1999-09-25 18:24:47 +00:00
roger
1fcffc6d2b Move the bktr Bt848/Bt878 driver to /sys/dev/bktr
Phase 1) move the driver
Phase 2)
Phase 3) Profit, by splitting the driver into smaller files like
bktr_tuner, bktr_card, bktr_audio, bktr_<osname>
making it easier to maintain and understand.
1999-09-22 06:46:08 +00:00
roger
a87da051ed Update to driver release 1.74
Bug fix:     xmradio nolonger experiences a 6Mhz offset after running FXTV

New feature: Automatic Tuner selection for AVerMedia cards with
             configuration EEPROMs on (ie the Bt878 based cards)
1999-09-17 21:28:23 +00:00
roger
8c670260e1 Sync with driver release 1.74 1999-09-17 17:06:36 +00:00
roger
e637f5a9b7 Update to driver 1.73
Add new hauppauge Tuner Type 6
Add Aims Labs Video Highway Xtreme card type
1999-09-10 12:08:36 +00:00
roger
207d3101f4 Update to driver 1.72.
Fix a bug where video capture locks up on channel changes.
Many thanks to Juha for solving this.

Submitted by: Juha Nurmela <Juha.Nurmela@quicknet.inet.fi>
1999-09-01 14:09:53 +00:00
roger
58ef845dee Oops. I undid the $Id: -> $FreBSD: change.
Put it back to $FreeBSD:
1999-08-31 10:32:42 +00:00
roger
99d1211a0a Update to driver release 1.71
New Features:
Greatly improved VBI capture support. (mainly for the AleVT port)
Supports select() on /dev/vbi
Improved RISC program for RGB+VBI capture to capture both evenodd
VBI data even when only capturing even only (or odd only) video
Based on code from Juha Nurmela <Juha.Nurmela@quicknet.inet.fi>

Support for Hauppauge 627 and Temic 4006
Submitted by: Maurice Castro <maurice@atum.castro.aus.net>

Bug Fix:
Fix bug in AverMedia card detection.
1999-08-31 10:29:42 +00:00
roger
54f868e962 Add #include <sys/select.h> ready for select() support in bt848 driver 1999-08-30 09:28:47 +00:00
bde
b40f30707d Don't restrict our requests for contiguous memory to addresses >= 1MB.
This fixes, at least, panics in ncr_attach() on i386's with about 5MB
of memory.  The restriction was a hack to leave some low memory for ISA
DMA, but on i386's we now allocate pages from the top down, so all the
restriction did was cause our allocations to fail when there is no free
memory above 1MB.
1999-08-29 09:03:58 +00:00
peter
3b842d34e8 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
phk
663cbe4fc2 Convert DEVFS hooks in (most) drivers to make_dev().
Diskslice/label code not yet handled.

Vinum, i4b, alpha, pc98 not dealt with (left to respective Maintainers)

Add the correct hook for devfs to kern_conf.c

The net result of this excercise is that a lot less files depends on DEVFS,
and devtoname() gets more sensible output in many cases.

A few drivers had minor additional cleanups performed relating to cdevsw
registration.

A few drivers don't register a cdevsw{} anymore, but only use make_dev().
1999-08-23 20:59:21 +00:00
mdodd
1b3328c300 Alter the behavior of sys/kern/subr_bus.c:device_print_child()
- device_print_child() either lets the BUS_PRINT_CHILD
	  method produce the entire device announcement message or
	  it prints "foo0: not found\n"

Alter sys/kern/subr_bus.c:bus_generic_print_child() to take on
the previous behavior of device_print_child() (printing the
"foo0: <FooDevice 1.1>" bit of the announce message.)

Provide bus_print_child_header() and bus_print_child_footer()
to actually print the output for bus_generic_print_child().
These functions should be used whenever possible (unless you can
just use bus_generic_print_child())

The BUS_PRINT_CHILD method now returns int instead of void.

Modify everything else that defines or uses a BUS_PRINT_CHILD
method to comply with the above changes.

	- Devices are 'on' a bus, not 'at' it.
	- If a custom BUS_PRINT_CHILD method does the same thing
	  as bus_generic_print_child(), use bus_generic_print_child()
	- Use device_get_nameunit() instead of both
	  device_get_name() and device_get_unit()
	- All BUS_PRINT_CHILD methods return the number of
	  characters output.

Reviewed by: dfr, peter
1999-07-29 01:03:04 +00:00
roger
557c77ca7b Bug fixes
Change number of VBI lines from 16 to 12 for NTSC formats.
 Juha.Nurmela@quicknet.inet.fi found/fixed bug in VBI_SLEEP.

New features
 MSP3430G DBX initialisation from Matt Brown <matt@dqc.org>
 STB Bt878 card identification.
 Hauppauge Model Number identification.
 Changes to probeCard() for better eeprom identification.
 Experimental TDA9850 initialisation code, from Linux bttv.

Cross Platform Changes
 The driver has been reorgainsed based ideas from Brad Parker's port to Linux
 to seperate OS Dependant and Independant sections.
 I have backends for FreeBSD 2.2.x/3.x and 4.x newbus, BSDI, OpenBSD and NetBSD.

This commit has FreeBSD 2.2.8/2.2-stable/3.x and FreeBSD 4.x newbus backends.

Some code submitted by: Juha.Nurmela@quicknet.inet.fi
                        Matt Brown <matt@dqc.org>
                        Brad Parker <brad@parker.boston.ma.us>

Some code obtained from:        Linux bttv driver
1999-07-12 15:51:50 +00:00
phk
2a99fba980 Remove cmaj and bmaj args from DEV_DRIVER_MODULE. 1999-07-04 14:58:56 +00:00
peter
e5f4c63f13 Eliminate a bunch of #include "pci.h" and #if NPCI > 0 around entire
files.  config will leave the whole file out if configured to do so.
1999-07-03 20:17:08 +00:00
roger
6d320ce99c Removed checking for unit>NBKTR.
No longer need when using device_get_softc.
(also fixed bug where loadable bktr module could only access 1st device)
1999-06-13 16:05:00 +00:00
roger
e92ea963e1 Updated to use the new 4.x newbus API
Also removed the BSDI support (for now)
This allows the driver to be loaded/unloaded as a KLD
and loaded in the boot loader phase whithout making a custom kernel.
1999-06-12 14:54:56 +00:00
roger
c4e9567df6 Fix the cdevsw_add change made by PHK.
(It was accidentally added to the BSDI bktr_probe and not the
 FreeBSD bktr_probe)
1999-06-04 13:24:54 +00:00
phk
6a5dc97620 Simplify cdevsw registration.
The cdevsw_add() function now finds the major number(s) in the
struct cdevsw passed to it.  cdevsw_add_generic() is no longer
needed, cdevsw_add() does the same thing.

cdevsw_add() will print an message if the d_maj field looks bogus.

Remove nblkdev and nchrdev variables.  Most places they were used
bogusly.  Instead check a dev_t for validity by seeing if devsw()
or bdevsw() returns NULL.

Move bdevsw() and devsw() functions to kern/kern_conf.c

Bump __FreeBSD_version to 400006

This commit removes:
        72 bogus makedev() calls
        26 bogus SYSINIT functions

if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.

I4b and vinum not changed.  Patches emailed to authors.  LINT
probably broken until they catch up.
1999-05-31 11:29:30 +00:00
phk
7e4a9dced9 This commit should be a extensive NO-OP:
Reformat and initialize correctly all "struct cdevsw".

        Initialize the d_maj and d_bmaj fields.

        The d_reset field was not removed, although it is never used.

I used a program to do most of this, so all the files now use the
same consistent format.  Please keep it that way.

Vinum and i4b not modified, patches emailed to respective authors.
1999-05-30 16:53:49 +00:00
roger
4462922d49 Rename 849 to 849A (the correct name for the IC) 1999-05-25 12:44:40 +00:00
roger
a54c1542db Add support for the Bt878/Bt879's Intel 430 FX and
SIS/VIA/ OPTi chipset PCI bus workarounds.

These make the Bt878/879 chips stabler on certain
older and non-intel motherboards.

Use options BKTR_430_FX_MODE
or  options BKTR_SIS_VIA_MODE
to enable these modes.

Also rename 849 to 849A
1999-05-25 12:43:40 +00:00
roger
6657154218 Added rgb_vbi_prog() to capture VBI data and video at the
same time. To capture VBI data, /dev/vbi must be opened
before starting video capture.
A partly on code from Hiroki Mori <mori@infocity.co.jp>
1999-05-23 21:40:51 +00:00
bde
610fa45a77 Restored rev.1.76 which was clobbered by rev.1.77. 1999-05-22 04:34:59 +00:00
roger
17dca29766 Updated Australian channel frequencies
Submitted by: Ivan Brawley <brawley@internode.com.au>
1999-05-19 22:04:21 +00:00
roger
8e41fcb7da Bt848 driver release 1.65
Change Intel GPIO mask to hopefully stop turning the Intel Camera off
Fixed tuner selection on Hauppauge card with tuner 0x0a
Replaced none tuner with no tuner for Theo de Raadt <deraadt@openbsd.org>.

Ivan Brawley <brawley@internode.com.au> added
the Australian channel frequencies.
1999-05-18 12:16:15 +00:00
roger
ad34d3265c Bt848 driver release 1.65
Updated with australian channel set

Submitted by:	Ivan Brawley <brawley@internode.com.au>
1999-05-18 12:14:39 +00:00
bde
fb2c8ca65e memcmp -> bcmp. memcmp doesn't exist in the kernel, but unfortunately
it exists as a gcc builtin provided the kernel is not compiled with
-O0 or -fno-builtin.
1999-05-13 07:54:24 +00:00
roger
97ed47bb7b Support LifeView FlyVideo 98 cards. Use EEPROM for card autodetection.Use
bttv's audio mux values.

Automatically locate the EEPROM i2c address and read the subsystem_vendor_id
from EEPROM and not the PCI registers.

Add NSMBUS checks around smbus/iicbus i2c bus code

Add GPIO mask for the audio mux to each card type.
Add CARD_ZOLTRIX and CARD_KISS from mailing list searches.

Tested by: Paul Reece <paul@fastlane.net.au>,
           Ivan Brawley <brawley@internode.com.au> and
           Gilad Rom <rom_glsa@ein-hashofet.co.il>
1999-05-10 10:10:13 +00:00
roger
7e5bffb837 Update card type to support GPIO mask
Add NSMBUS checks around smbus/iicbus i2c bus code.
1999-05-10 10:08:50 +00:00
roger
bead07be56 Add #if (NSMBUS>0) checks around smbus/iicbus i2c bus code. 1999-05-10 10:08:05 +00:00
peter
41b420910c Simplify the COMPAT_PCI_DRIVER/DATA_SET hack. We can add:
#define COMPAT_PCI_DRIVER(name,data) DATA_SET(pcidevice_set,data)
.. to 2.2.x and 3.x if people think it's worth it.  Driver writers can do
this if it's not defined.  (The reason for this is that I'm trying to
progressively eliminate use of linker_sets where it hurts modularity and
runtime load capability, and these DATA_SET's keep getting in the way.)
1999-05-09 17:07:30 +00:00
dfr
e4989c23fe Move the declaration of the interrupt type from the driver structure
to the BUS_SETUP_INTR call.
1999-05-08 21:59:43 +00:00
roger
309cae2b41 My last commit accidentally undid the changes made in rev 1.68
regarding COMPAT_PCI_DRIVER. Put them back.
1999-04-30 11:16:30 +00:00
roger
ddb28a558c Added initial code for VBI capture based on work by
Hiroki Mori <mori@infocity.co.jp> and reworked by myself.
This allows software decoding of teletext, intercast and
subtitles via /dev/vbi.
1999-04-29 10:15:55 +00:00
roger
2c35b9db03 Add support for VBI capture from /dev/vbi.
This will allow software teletext/intercast/subtitles decoding
while watching a TV station.

Based on code from Hiroki Mori <mori@infocity.co.jp> but reworked by
myself.
1999-04-29 10:01:28 +00:00
roger
0ce31c3dea Added new cards: NEC PK-UG-X017 and I/O DATA GV-BCTV2/PCI
Added new tuner: ALPS_TSBH1 (plus FM Radio for ALPS_TSCH5)
Added support for BCTV audio mux.

Submitted by Hiroki Mori <mori@infocity.co.jp>
1999-04-29 09:57:47 +00:00
roger
af9af01d52 Fix crashes caused by rows=0 or columns=0.
Add new #ifdef. By defining BKTR_NO_MSP_RESET you can prevent the
MSP34xx being reset by the bt848 driver. This is handy
if you pre-initialise the MSP34xx stereo audio chip in another
operating system first (eg MS Windows).
Suggested by:  Randal Hopper<aa8vb@ipass.net>
Suggested by:  Yuri Gindin <yuri@xpert.com>
1999-04-29 05:48:32 +00:00
dt
ba8c622703 s/static foo_devsw_installed = 0;/static int foo_devsw_installed;/.
(Edited automatically)
1999-04-28 10:54:24 +00:00
peter
d6f4bd18f5 Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn't
hurt the driver portability to 3.x too much for where drivers are shared.
1999-04-24 20:17:05 +00:00
roger
9ef78c7286 My changes:
Added autodetection of MMAC Osprey 100 card for
Jan Schmidt <mmedia@rz.uni-greifswald.de>. The MMAC card has an EEPROM
which contains an ASCII string beginning with "MMAC".
Corrected Hauppauge Audio Mux Mute value from 0x01 to 0x04.
Fixed a typo.

Sumitted change:
Added ALPS Tuner Type submitted by Hiroki Mori <mori@infocity.co.jp>

Submitted by:	Roger Hardiman and Hiroki Mori <mori@infocity.co.jp>
1999-02-25 07:45:47 +00:00
roger
5e76ef566e Corrected ioctl numbers conflict.
Thanks to Vsevolod Lobko <seva@alex-ua.com> for spotting this.
P:
1999-02-15 11:04:36 +00:00
roger
8efc351299 Added ioctl REMOTE_GETKEY for Hauppauge Infra-Red Remote Control.
Submitted by Roger Hardiman.

Added ioctl TVTUNER_GETCHANSET to discover which regions the bktr driver
supports. Submitted by Vsevolod Lobko <seva@alex-ua.com>

Added BT848_GPIO_SET_EN,BT848_GPIO_SET_DATA (and GETs) to allow user land
control of the GPIO pins. This allows a Radio module on the GPIO port
to be controlled. Submitted by Vsevolod Lobko <seva@alex-ua.com>
The kernel option BKTR_GPIO_ACCESS must be used to enable the GPIO ioctls.

Submitted by:	Roger Hardiman and Vsevolod Lobko <seva@alex-ua.com>
1999-02-11 10:22:30 +00:00
roger
92a5c5e436 Added new ioctls for Hauppage Infra-Red Remote Control support,
Obtaining the supported channel sets and Controlling the GPIO port.

Submitted by:	Roger Hardiman and Vsevolod Lobko <seva@alex-ua.com>
1999-02-11 10:18:04 +00:00
roger
ec671918f4 Added detection for bt848a chips 1999-02-08 11:55:30 +00:00
roger
30d7efebda Added check to bktr_mmap() from OpenBSD driver.
Improved MSP34xx reset for bt848 Hauppauge boards.
Added detection for Bt848a.
Vsevolod Lobko<seva@sevasoft.alex-ua.com> added more XUSSR channels.
Submitted by:	parts from Vsevolod Lobko<seva@sevasoft.alex-ua.com>
Obtained from:  parts from OpenBSD
1999-02-08 11:53:05 +00:00
roger
a1fb428f4f Support for MSP3410D / MSP3415D Stereo/Mono audio using the audio format
Auto Detection Mode. This leaves MSP3400C owners still unsupported.
Thanks to Gerd Knorr <kraxel@cs.tu-berlin.de> for providing some early
assistance and sample code in the linux bttv driver.
Nicolas Souchu <nsouch@freebsd.org> ported the msp_read/write/reset
functions to smbus/iicbus.

METEOR_INPUT_DEV2 now selects a composite camera on the SVIDEO port.
For true SVIDEO, use METEOR_INPUT_DEV_SVIDEO.
If you get a monochrome image from the SVIDEO port, you have
seleted the wrong input type.

Tested by:      Johan Larsson<gozer@ludd.luth.se>
1999-01-28 17:47:47 +00:00
roger
f922e89a9e Added METEOR_DEV2 and METEOR_DEV3 1999-01-28 16:32:52 +00:00
dillon
975fba8a24 Fix warnings in preparation for adding -Wall -Wcast-qual to the
kernel compile
1999-01-28 00:57:57 +00:00
roger
f1013afa3e Added detection of Hauppauge IR remote control.
and MSP34xx Audio chip. Fixed i2c read error.
Hauppauge supplied details of new Tuner Types.
Added tuner type 0x1a.
Danny Braniss <danny@cs.huji.ac.il> submitted Bt878
AverMedia detection with PCI subsystem vendor id.
1999-01-23 11:32:06 +00:00
roger
19dcb25f3e Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
Updated to support Hauppauge IR Remote Control
1999-01-23 11:28:16 +00:00
dillon
1b46557c21 probe function changed from returning char * to const char *. 1998-12-14 06:37:37 +00:00
archie
60d13c7a9d The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static
and local variables, goto labels, and functions declared but not defined.
1998-12-07 21:58:50 +00:00
dfr
b6d9e06815 * Fix a couple of places in the device pager where an address was
truncated to 32 bits.
* Change the calling convention of the device mmap entry point to
  pass a vm_offset_t instead of an int for the offset allowing
  devices with a larger memory map than (1<<32) to be supported
  on the alpha (/dev/mem is one such).

These changes are required to allow the X server to mmap the various
I/O regions used for device port and memory access on the alpha.
1998-11-08 12:39:07 +00:00
nsouch
f3f49dffcd Return to previous check_for_i2c_devices() behaviour.
Cast the cmd parameter to unsigned char in every smbus call.

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
1998-11-07 14:30:48 +00:00
nsouch
714f720fe4 Brooktree driver ported to the new I2C framework. See iicbus(4) for more info. 1998-10-31 11:26:38 +00:00
sos
5093f1ad5b Oops, forgot /* */ around Id string 1998-10-01 09:35:48 +00:00
sos
b5f3a9be5a Hauppauge Tech Support confirmed all Hauppauge 878 PAL/SECAM boards
will use PLL mode.  Added to card probe. Thanks to Ken and Fred.

Submitted by:   Roger Hardiman <roger@cs.strath.ac.uk>
1998-09-30 21:06:55 +00:00
sos
43ca1cb772 Hauppauge Tech Support confirmed all Hauppauge 878 PAL/SECAM boards
will use PLL mode.  Added to card probe. Thanks to Ken and Fred.

Submitted by:   Roger Hardiman <roger@cs.strath.ac.uk>
1998-09-30 20:58:09 +00:00
sos
7fe1a820c2 Changed tuner code to autodetect tuner i2c address.
Addresses were incorrectly hardcoded.

Submitted by:   Roger Hardiman <roger@cs.strath.ac.uk>
1998-09-30 20:43:25 +00:00
sos
705ae1d30f Changed METEORSINPUT for Hauppauge cards with bt878.
Also fixed video_open defines and 878 support.

Submitted by: Fred Templin <templin@erg.sri.com>
1998-09-10 08:01:10 +00:00
sos
0440307095 Correct SECAM B-Delay and add XUSSR channel set.
Submitted by: Vsevolod Lobko <seva@alex-ua.com>
1998-09-10 07:52:30 +00:00
sos
f49344e69a Fixed bug in Miro Tuner detection. Missing Goto.
Removed Hauppauge EEPROM 0x10 detection as I think 0x10 should be a
PAL tuner, not NTSC.
Reinstated some Tuner Guesswork code from 1.27

Submitted by:	Roger Hardiman <roger@cs.strath.ac.uk>
1998-08-31 18:37:19 +00:00
sos
8e27b7c215 Renamed BT848[SG]CAPAREA to BT848_[SG]CAPAREA.
Added PR kern/7177 for SECAM Video Highway Xtreme with single crystal
PLL configuration submitted by Vsevolod Lobko <seva@alex-ua.com>.
In kernel configuration file add
options OVERRIDE_CARD=2
options OVERRIDE_TUNER=11
options BKTR_USE_PLL

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
1998-08-31 18:35:06 +00:00
sos
2cddefeee2 Added Capture Area ioctl - BT848[SG]CAPAREA.
Normally the full 640x480 (768x576 PAL) image is grabbed. This ioctl
allows a smaller area  from anywhere within the video image to be
grabbed, eg a 400x300 image from (50,10).
See restrictions in BT848SCAPAREA.

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
1998-08-31 18:31:36 +00:00
bde
9e27b29fba Use [u]intptr_t instead of [u_]long for casts between pointers and
integers.  Don't forget to cast to (void *) as well.
1998-08-16 01:21:52 +00:00
sos
e7de6ad9e2 Support the PAL version of the BT878 based Haupauge WinTV/PCI.
Submitted by: Matthias Scheler <tron@netbsd.org>
1998-08-10 06:39:33 +00:00
sos
a5e1d6e09c Updated Hauppauge detection code for Tuner ID 0x0a for newer NTSC
WinCastTV 404 with Bt878 chipset.  Tidied up PAL default in video_open()

Submitted by: Roger Hardiman <roger@cs.strath.ac.uk>
1998-08-08 07:15:16 +00:00
sos
b99f2f9d59 Add support for the AVer Media range of cards. 1998-07-14 21:19:58 +00:00
ahasty
d2480be1ff I checked in the wrong version yesterday . The correct version is 1.38
Amancio
1998-07-14 07:11:20 +00:00
ahasty
560c0322cf Improved Hauppauge's tuner detection and bt878 support
Amancio
1998-07-13 02:16:34 +00:00
bde
9e868cbb1a Removed unused includes. 1998-06-21 18:02:50 +00:00
dfr
1d5f38ac22 This commit fixes various 64bit portability problems required for
FreeBSD/alpha.  The most significant item is to change the command
argument to ioctl functions from int to u_long.  This change brings us
inline with various other BSD versions.  Driver writers may like to
use (__FreeBSD_version == 300003) to detect this change.

The prototype FreeBSD/alpha machdep will follow in a couple of days
time.
1998-06-07 17:13:14 +00:00
ahasty
c48add87fa Reviewed by: hasty@star-gate.com
Submitted by:	 Roger Hardiman <roger@cs.strath.ac.uk>

I left out a line of code  from Roger's last patch :(
1998-06-05 08:59:11 +00:00
ahasty
e71731de48 Reviewed by: hasty@freebsd.org
Submitted by:	hasty@star-gate.com

Eliminate NTSC default setting if user choses a different video format.
1998-05-24 18:29:20 +00:00
ahasty
c812f8700d Reviewed by: ahasty@freebsd.org
Submitted by:	Roger Hardiman <roger@cs.strath.ac.uk>
options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_PAL
in the kernel config file makes the driver's video_open() function
select PAL rather than NTSC. This fixed all the hangs on my
Dual Crystal card when using a PAL video signal.

As a result, you can loose the tsleep (of 2 seconds - now 0.25!!)
which I previously added. (Unless someone else wanted the 0.25
second tsleep).
1998-05-19 03:38:31 +00:00
ahasty
1985adcd41 1.31 Randall Hopper <rhh@ct.picker.com>
submitted ioctl to clear the video buffer
                           prior to starting video capture
			   Amancio : clean up yuv12 so that it does not
                           affect rgb capture. Basically, fxtv after
                           capturing in yuv12 mode , switching to rgb
                           would cause the video capture to be too bright.
1.32                       disable inverse gamma function for rgb and yuv
                           capture. fixed meteor brightness ioctl it now
                           converts the brightness value from unsigned to
                           signed.
1.33                       added sysctl: hw.bt848.tuner, hw.bt848.reverse_mute,
                           hw.bt848.card
			   card takes a value from 0 to bt848_max_card
                           tuner takes a value from 0 to bt848_max_tuner
                           reverse_mute : 0 no effect, 1 reverse tuner
                           mute function some tuners are wired reversed :(
1998-05-16 07:07:10 +00:00
ahasty
12bba62902 Forgot to add opt_bktr.h 1998-04-19 19:12:49 +00:00
ahasty
9b24093ea7 Reviewed by: Amancio
Submitted by:	Roger Hardiman <roger@cs.strath.ac.uk>
Roger Hardiman <roger@cs.strath.ac.uk> :
	Revised autodetection code to correctly handle both
	old and new VideoLogic Captivator PCI cards.
	Added tsleep of 2 seconds to initialistion code for PAL users.
	Corrected clock selection code on format change.

--- Amancio
1998-04-18 04:58:33 +00:00
ahasty
011360bdd9 take out opt_bktr.h from brooktree848.c 1998-04-06 07:57:55 +00:00
ahasty
17e8d9b9ca Reviewed by: Amancio
Submitted by:	Frank Nobis  <fn@Radio-do.de>

Mods to view german cable tv and minor fix to correctly identify bt849.
1998-04-05 20:57:46 +00:00
bde
739979bd29 Restored half of the ANSI semantic errors fix which was clobbered
by the previous commit.
1998-03-01 06:06:20 +00:00
ahasty
275db98936 Radio support for bt848 cards from Flemming Jacobsen <fj@trw.nl>
Amancio
1998-02-26 08:19:14 +00:00
bde
dd04474345 Added missing #include of "opt_devfs.h".
Fixed pedantic semantics errors (in ANSI C, static arrays must have
a size, and static objects should be consistently declared as static
unless you know more than anyone should have to know about the
linkage rules).
1998-02-25 07:12:17 +00:00
ahasty
17d270acba Move Luigi's I2CWR ioctl from the video_ioctl section to the
tuner_ioctl section. Changed Major device from 79 to 92 and reserved
our Major device number -- hasty@star-gate.com
1998-02-20 03:55:17 +00:00
eivind
d7a6ab2803 Staticize. 1998-02-09 06:11:36 +00:00
eivind
4547a09753 Back out DIAGNOSTIC changes. 1998-02-06 12:14:30 +00:00
eivind
c552a9a1c3 Turn DIAGNOSTIC into a new-style option. 1998-02-04 22:34:03 +00:00
eivind
bd4f7390c4 Re-add my DEVFS changes after they were stomped on. This time, I throw away
the DEVFS tokens (as they weren't used anywhere anyway).
1998-02-04 03:16:25 +00:00
ahasty
d5aa4150ce Bugs/Enhancements:
1. Takeshi Ohashi <ohashi@atohasi.mickey.ai.kyutech.ac.jp> submitted
   code to support bktr_read . /usr/src/share/examples/rgb24.c now works 8)

2. Flemming Jacobsen <fj@schizo.dk.tfs.com> submitted code to support
   radio available with in some bt848 based cards;additionally, wrote
   code to correctly recognized his bt848 card.
3. Roger Hardiman <roger@cs.strath.ac.uk> submitted various fixes to smooth
   out the microcode and made all modes consistent.

4. Added supported for yuv12 so we know can capture raw streams and feed it
   to mpeg_encoder . The upshot is that we can now mpeg encode more and save
   nearly 100 percent of the disk requirements previously for programs such
   as fxtv first save the raw video image to disk then converted to a
   format suitable for mpeg_encode.
1998-02-02 13:09:12 +00:00
eivind
abc8db9838 Attempt at making this use DEVFS properly. (Now it should at least work.) 1998-01-31 05:23:49 +00:00
eivind
71ddd31390 Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.
This introduce an xxxFS_BOOT for each of the rootable filesystems.
(Presently not required, but encouraged to allow a smooth move of option *FS
to opt_dontuse.h later.)

LFS is temporarily disabled, and will be re-enabled tomorrow.
1998-01-24 02:54:56 +00:00
ahasty
7eec77813b Reviewed by: Amancio Hasty
Submitted by:	Jonathan Hanna <pangolin@rogers.wave.ca>
The patch is for a Hauppauge Win/TV dbx with FM. I still need to
config OVERRIDE_TUNER, but it works nicely.
1997-12-31 05:45:56 +00:00
ahasty
5493f20cc0 Reviewed by: Amancio Hasty
Submitted by:	Amancio Hasty <hasty@star-gate.com>
Added yuv12 support for mpeg encoding and Randall Hopper's fixed for Temporal
Decimation
1997-11-16 04:52:29 +00:00
markm
45a9d49a7f Rats. Committed the wrong version.
Move the declarations to the top of the ioctl() function so this compiles.
1997-11-06 20:06:19 +00:00
markm
9b85573701 1) Add the IOCTL for Luigi's BT848 -> I2C bus driver.
2) Fix temporal decimation, disable it when
   doing CAP_SINGLEs, and in dual-field capture, don't
   capture fields for different frames

Submitted by: Luigi Rizzo & Randall Hopper
1997-11-06 07:04:08 +00:00
markm
f55cfbd1d8 Add the IOCTL for Luigi's BT848 -> I2C bus driver. 1997-11-06 07:00:45 +00:00
eivind
dbc432c0d0 Improve PAL support and fix mux selector values.
This make the Miro PCTV work for me, including audio, and should
hopefully fix the other audio problems some people have been having.

Reviewed by:	ahasty & Luigi Rizzo (freebsd-multimedia)
1997-10-30 18:20:26 +00:00
markm
bbf8a25d45 Despam 1.11, 1.12 and 1.13 caused by no sync between author/committer/CURRENT 1997-10-08 06:54:43 +00:00
markm
5cd702d01f Latest round of patches from the author.
This driver includes the following patches submitted by:

1.0 Hideyuki Suzuki <hideyuki@sat.t.u-tokyo.ac.jp>
Japanese Cable support

2.0 Keith Sklower <sklower@CS.Berkeley.EDU>
Minor update to the BSDI section so it compiles cleanly on BSDI

3.0 Joao Carlos Mendes Luis <jonny@coppe.ufrj.br>
ioctl interface to select video format , NTSC, PAL, etc...
1997-10-07 06:30:01 +00:00
markm
93f4eda975 Amancio's latest in the Brooktree driver.
This fixes the european frequency set, separates this further from the
Meteor driver and fixes bugs.
1997-09-09 06:32:32 +00:00
bde
6ffb8bf9af Removed unused #includes. 1997-09-02 20:06:59 +00:00
fsmp
44f5d97cca Added frequencies for north american HRC cable.
Submitted by:	Yixin Jin <yjin@rain.cs.ucla.edu> (I think)
Resubmitted by:	Kenneth Merry <ken@gt.ed.net>
1997-08-17 05:50:56 +00:00
fsmp
a4ee132681 Added 2 new defines:
- 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.
1997-06-14 19:10:53 +00:00
jmg
4fd522bb44 use frames instead of fields, and restore full meteor compatibility for
generalized pixel support.

Submitted by: Amancio Hasty
1997-05-05 20:54:54 +00:00
fsmp
e5a31f09a5 1.15 4/18/97 John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Added [SR]RGBMASKs ioctl for byte swapping.

 1.16          4/20/97    Randall Hopper <rhh@ct.picker.com>
                          Generalized RGBMASK ioctls for general pixel
                          format setting [SG]ACTPIXFMT, and added query API
                          to return driver-supported pix fmts GSUPPIXFMT.

 1.17          4/21/97    hasty@rah.star-gate.com
                          Clipping support added.

 1.18          4/23/97    Clean up after failed CAP_SINGLEs where bt
                          interrupt isn't delivered, and fixed fixing
                          CAP_SINGLEs that for ODD_ONLY fields.

Submitted by:   individuals in above log messages.
1997-05-01 00:16:31 +00:00
fsmp
d6a89cd773 1.15 4/18/97 John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Added [SR]RGBMASKs ioctl for byte swapping.

 1.16          4/20/97    Randall Hopper <rhh@ct.picker.com>
                          Generalized RGBMASK ioctls for general pixel
                          format setting [SG]ACTPIXFMT, and added query API
                          to return driver-supported pix fmts GSUPPIXFMT.

 1.17          4/21/97    hasty@rah.star-gate.com
                          Clipping support added.

 1.18          4/23/97    Clean up after failed CAP_SINGLEs where bt
                          interrupt isn't delivered, and fixed fixing
                          CAP_SINGLEs that for ODD_ONLY fields.

Submitted by:	individuals in above log messages.
1997-05-01 00:15:30 +00:00
fsmp
de87c9b49e Amancio:
This patch fixes the problem of vic only capturing an even or odd frame plus
the my early patch for missing frames with resolutions higher than 320x240
in rgb mode.

The yuv422 patch introduces a minor bug in that a green line appears at the
bottom of the captured window . There is no easy work around for this right
now.

Reviewed by:	various bt848 hackers
Submitted by:	Amancio Hasty <hasty@rah.star-gate.com>
1997-04-17 22:33:16 +00:00
fsmp
e15367f402 PAL support: magic numbers moved into format_params structure.
Revised AFC interface.
Fixed DMA_PROG_ALLOC size misdefinition.

Submitted by:	richard@cogsci.ed.ac.uk (Richard Tobin)
1997-04-02 01:48:39 +00:00
fsmp
1d259aacb1 "Louis A. Mamakos" <louie@TransSys.COM> new bt848 struct
Randall Hopper <rhh@ct.picker.com> GHUE/GBRIGHT bug
Louis Mamakos made a new bt848 struct, including massive changes to the entire
body of code, substituting array offsets with struct members.

Randall Hopper aadded fixes of BT848_GHUE & BT848_GBRIG.

I (fsmp):
  added polled hardware i2c routines,
  removed all existing software i2c routines.
  added  eeprom support.
1997-03-25 04:18:24 +00:00
fsmp
9187e88957 added support for EEProms writing/reading. 1997-03-25 04:11:13 +00:00
fsmp
6990917d46 Submitted by: Michael Petry <petry@netwolf.NetMasters.com>
Michael submitted code to activate the audio muxes.

fsmp:
 extended those changes for different boards.
 auto-detection of board types.
 auto-detection of tuner types.
 auto-detection of stereo option.
1997-03-21 17:33:03 +00:00
fsmp
9329489ce3 Submitted by: Michael Petry <petry@netwolf.NetMasters.com>
Michael submitted code to activate the audio muxes.

fsmp:
 extended those changes for different boards.
 auto-detection of board types.
 auto-detection of tuner types.
 auto-detection of stereo option
1997-03-21 17:29:54 +00:00
fsmp
e942e13149 additions for table-driven frequency calculation.
addition of colorbar ioctl.
removed unneeded disable_intr()/enable_intr() wrappers in i2c code.
minor cleanup.
1997-03-19 19:10:45 +00:00
fsmp
72e8c276b9 additions for table-driven frequency calculation.
addition of colorbar ioctl.
1997-03-19 19:08:31 +00:00
fsmp
09c28abeae Submitted by: Doug White <dwhite@gdi.uoregon.edu>
I broke the cable tuning with my 'TEST_A' code.  Remove TEST_A define
till I finish this change for both tuning modes.  Note that this
will effectively break the new TVTUNER_SETFREQ/TVTUNER_GETFREQ ioctl()s.
These aren't used by anyone but me yet (attempt to provide full resolution
fine tuning for "fringe" stations) so it should be no problem
1997-03-17 17:41:24 +00:00
fsmp
77887ef074 patches for bt848 specific hue/bright/contrast/satu/satv. 1997-03-16 07:40:01 +00:00
fsmp
d02750f0bb Submitted by: Amancio Hasty <hasty@rah.star-gate.com>
addition of bt848 specific ioctl()s for hue/bright/contrast/satu/satv.

patches by Amancio Hasty to fix "screen freeze" problem.
1997-03-16 07:37:23 +00:00
markm
075d27ba8e Initial import of the Brooktree PCI-TV drivers. I have not tested
these, they may not even compile. I am importing them on behalf
of the submitters.
Submitted by:	amancio, smp
1997-03-10 06:38:26 +00:00
bde
9bcb122232 Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>:
- don't include <sys/ioctl.h> in any header.  Include <sys/ioccom.h>
  instead.  This was already done in 4.4Lite for the most important
  ioctl headers.  Header spam currently increases kernel build
  times by 10-20%.  There are more than 30000 #includes (not counting
  duplicates) for compiling LINT.
- include <sys/types.h> if and only it is necessary to make the header
  almost self-sufficient (some ioctl headers still need structs from
  elsewhere).
- uniformized idempotency ifdefs.  Copied the style in the 4.4Lite
  ioctl headers.
1996-09-21 14:59:43 +00:00
jkh
996a2d8314 A trailing patch Jim left out of the last commit.
Submitted-by: james
1996-06-07 22:55:14 +00:00