[linux-dvb] [RFC/PATCHES] xc3028 hybrid tuner, em28xx/em2880-dvb, saa7134, cx88

Markus Rechberger mrechberger at gmail.com
Mon May 14 16:23:01 CEST 2007


Hi all,

I exported the patches of my v4l-dvb-experimental repository against
the current v4l-dvb repository on linuxtv.org.

The single patchfiles are available on mcentral.de
http://mcentral.de/~mrec/patches/v4l-dvb/

These patchsets include:
* full support for some Empiatech em28xx based devices (including
devicenode locking, eg. if dvb is used it's not possible to use the
analogue part and the other way around)
* support for some saa7134 and cx88 xc3028 tuner based devices
* an implementation of the hybrid tuner proposal I made a while ago
(http://lwn.net/Articles/229735/)

These patches apply against revision 5668 on linuxtv.org.

Since my testing capabilities are limited to the devices I own I'd
like to get some feedback in case of compatibility with other devices.
The tuner update touches all devices which use external tuner modules
(dvb_tuner_ops)
Overall these patchsets will open the way to add support for around
60-70 currently unsupported devices, these patchsets itself should add
support for around 50-60 devices at the moment.

Outstanding parts which are not covered by these patches:

* In tuner-core.c line 198 (in the official repository), this check
seems to be obsolete and doesn't work with all devices, I added a
workaround but I think that this might also break some devices.

* V4L_OPS got added for converting datastructures, after some further
refactoring it will get removed completly. For now it was just the
easier way to use it since that repository also contains alot
devicespecific drivercode.

* some videodecoders aren't uptodate yet, tvp5150 is not implemented
in the em28xx to support raw VBI; the saa7115 driver module breaks the
MSI em28xx device as it is now, a patch is available but not included.

* full support for 3 devices from Geniatech (cx88/xc3028), these
patches will get submitted as soon as the current patches are
accepted.

* no radiosupport for AverMedia Cardbus Hybrid TV+FM E506R

==> hg_v4l-dvb-experimental_01.patch <==
unified dvb_tuner_ops and abstracted dvb_frontend in that struct
From: Markus Rechberger <Markus.Rechberger at amd.com>
==> hg_v4l-dvb-experimental_02.patch <==
renamed dvb_tuner_ops to v4l_dvb_tuner_ops
From: Markus Rechberger <Markus.Rechberger at amd.com>
==> hg_v4l-dvb-experimental_03.patch <==
fixed mt2060 call
From: Markus Rechberger <Markus.Rechberger at amd.com>
==> hg_v4l-dvb-experimental_04.patch <==
fixup qt1010
From: Markus Rechberger <Markus.Rechberger at amd.com>
==> hg_v4l-dvb-experimental_05.patch <==
fixup tua6100
From: Markus Rechberger <Markus.Rechberger at amd.com>
fixup tua6100
==> hg_v4l-dvb-experimental_06.patch <==
fixup tda827x
From: Markus Rechberger <Markus.Rechberger at amd.com>
fixup tda827x
==> hg_v4l-dvb-experimental_07.patch <==
fixup tda826x
From: Markus Rechberger <Markus.Rechberger at amd.com>
fixup tda826x
==> hg_v4l-dvb-experimental_08.patch <==
added v4l_dvb_tuner.h to include/media, moved structs from
dvb_frontend to v4l_dvb_tuner
From: Markus Rechberger <Markus.Rechberger at amd.com>
==> hg_v4l-dvb-experimental_09.patch <==
added new xc3028 hybrid tuner
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_10.patch <==
added em28xx codebase, fixed Kconfig
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_11.patch <==
update em28xx cardlist script
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_12.patch <==
added latest v4l-dvb-kernel fixes
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_13.patch <==
fixed wrong symbol name
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_14.patch <==
xc3028: adding support for switching the tuner mode
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_15.patch <==
implemented analogue tuning support
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_17.patch <==
adding support for switching the videostandard on the fly
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_18.patch <==
xc3028-tuner: Fix too few arguments
From: Markus Rechberger <mrechberger at gmail.com>
xc3028-tuner: Fix too few arguments
==> hg_v4l-dvb-experimental_19.patch <==
testing if ops got initialized, adding input frequency registers to zl10353
From: Markus Rechberger <mrechberger at gmail.com>
testing if ops got initialized, adding input frequency registers to zl10353
==> hg_v4l-dvb-experimental_20.patch <==
added input_frequency option to zl10353 and mt352 (especially needed
by xc3028 based devices)
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_21.patch <==
disabling DVB-T for new pinnacle device since dvb-t demod driver is missing
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_22.patch <==
tuner-core: bugfix at tuner detection
From: Markus Rechberger <mrechberger at gmail.com>
tuner-core: bugfix at tuner detection
==> hg_v4l-dvb-experimental_23.patch <==
improvement em28xx-audio, tuner-core.c: bugfix initialization,
tveeprom added xc3028 for hauppauge dev.
From: Markus Rechberger <mrechberger at gmail.com>
improvement em28xx-audio, tuner-core.c: bugfix initialization,
tveeprom added xc3028 for hauppauge dev.
==> hg_v4l-dvb-experimental_24.patch <==
modified em28xx-audio, lowered buffer size to avoid lag
From: Markus Rechberger <mrechberger at gmail.com>
modified em28xx-audio, lowered buffer size to avoid lag
==> hg_v4l-dvb-experimental_26.patch <==
added callback support for MSI Vox A/D II
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_27.patch <==
sharing current tuner settings between v4l and dvb framework
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_28.patch <==
xc3028-tuner: updating shared value
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_29.patch <==
added support for switchover from analogue to DVB-T and back
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_30.patch <==
first step to clean up em2880-dvb
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_31.patch <==
first step to clean up the xc3028 tuner module
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_32.patch <==
minor xc3028 cleanups
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_33.patch <==
added new parameters to zl10353.c, changed zarlink/intel IF frequency
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_34.patch <==
em2880-dvb.c: corrected wrong input frequency
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_37.patch <==
added card definition for 3 cx88 based devices
From: Markus Rechberger <mrechberger at gmail.com>
added card definition for 3 cx88 based devices
==> hg_v4l-dvb-experimental_38.patch <==
added card definitions for 3 saa7134 xc3028 based devices
From: Markus Rechberger <mrechberger at gmail.com>
merged in http://linuxtv.org/%7Emkrufky/pending/xc/xc-bluebird.patch
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_40.patch <==
bugfix: cx88 xc3028 based analogue TV implementation
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_41.patch <==
added some code for qt1010 based devices (though these devices won't
lock onto a channel)
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_43.patch <==
replaced memcpy with tuner_cpy, to avoid overwriting of private pointers
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_44.patch <==
bugfix: checking for NULL ptr
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_46.patch <==
Powerangel patch, added new Empia device (not functional yet)
==> hg_v4l-dvb-experimental_47.patch <==
fix: hauppauge wintv usb2, composite and some em2751 changes
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_48.patch <==
added comment, fixed allocation exception bug
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_49.patch <==
s/org/de/
From: Markus Rechberger <mrechberger at gmail.com>
s/org/de/
==> hg_v4l-dvb-experimental_50.patch <==
removed dev->lock, functions are already protected by the bkl
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_51.patch <==
removed some more locks
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_55.patch <==
em2880-dvb: changing order of deallocation
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_56.patch <==
Fix BUG: unable to handle kernel paging request at virtual address
6b6b6b6f (remote control bug)
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_57.patch <==
added missing videology functions (Walter Grom/mt.com)
From: Markus Rechberger <mrechberger at gmail.com>
added missing videology functions (Walter Grom/mt.com)
==> hg_v4l-dvb-experimental_58.patch <==
adding card definition for eb1a:e305 analogue USB TV stick
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_61.patch <==
added check to prevent crashing the xc3028 if no firmware is available
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_62.patch <==
Hybrid devices: adding support for v4l device locking if dvb is used
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_63.patch <==
Fix gpio value for Winfast TV2000 XP composite input
From: C.masoyras <agiofws at gmail.com>
==> hg_v4l-dvb-experimental_64.patch <==
added device based locking, if analogue video is in use dvb is
disabled and the other way around
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_65.patch <==
checking if dvb device already got deinitialized when closing v4l devicenode
From: Markus Rechberger <mrechberger at gmail.com>
checking if dvb device already got deinitialized when closing v4l devicenode
==> hg_v4l-dvb-experimental_66.patch <==
fix refcount issue, successfully tested with vanilla 2.6.20.6
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_67.patch <==
changed em2882 terratec hybrid pro initialization
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_69.patch <==
Patches adding QT1010 support for EM2880 (David Edwards)
From: David Edwards <se014a0001 at blueyonder.co.uk>
==> hg_v4l-dvb-experimental_70.patch <==
Fix for broken DIBCOM (David Edwards)
From: David Edwards <se014a0001 at blueyonder.co.uk>
==> hg_v4l-dvb-experimental_71.patch <==
disabling i2c tuner setup for dvb only devices
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_72.patch <==
initializing detected i2c tuner with TUNER_ABSENT if devices have no
tuner, or devices are dvb only devices
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_73.patch <==
added TUNER_QT1010 (as from David Edwards' first patch), fixed some
problems in em28xx-i2c
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_74.patch <==
Changed em2880-dvb.c so that AGC gets set for QT1010-equipped devices.
From: David Edwards <se014a0001 at blueyonder.co.uk>
==> hg_v4l-dvb-experimental_75.patch <==
changed GPIO values for cx88 Winfast2000
From: C.masoyras <agiofws at gmail.com>
==> hg_v4l-dvb-experimental_77.patch <==
added kworld 355 usbid
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_79.patch <==
fixed analogue TV for Avermedia e506r (pal-bg audio is supposed to work)
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_80.patch <==
[Em28xx] Adding support to KWorld PVRTV 300U
From: John Adams <amatt3 at qwest.net>
==> hg_v4l-dvb-experimental_81.patch <==
fixing symbol_request usecount issue, added error handling to
xc3028-tuner if kmalloc fails
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_82.patch <==
fixed av7110/budget-av driver to comply with the unified hybrid tuner structure
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_84.patch <==
fix m920x compile error
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_85.patch <==
added compatibility macro
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_86.patch <==
added some code for Compro VideoMate U3
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_87.patch <==
added V4L_OPS macro and replaced memcpy with tuner_cpy
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_88.patch <==
[PATCH] Winfast TV2000 XP Global
From: C.masoyras <agiofws at gmail.com>
==> hg_v4l-dvb-experimental_89.patch <==
printing firmware version to kernel log
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_90.patch <==
added r56 agc target and input frequency to cxusb
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_91.patch <==
adding avermedia cardbus ids, fixed em2880-dvb (merge related)
From: Markus Rechberger <Markus.Rechberger at amd.com>
==> hg_v4l-dvb-experimental_92.patch <==
fixed r56 agc target option in zl10353
From: Markus Rechberger <mrechberger at gmail.com>
==> hg_v4l-dvb-experimental_93.patch <==
some tuner-core cleanup
From: Markus Rechberger <mrechberger at gmail.com>

thanks,
Markus



More information about the linux-dvb mailing list