summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88
AgeCommit message (Collapse)Author
2008-10-11cx88: Add intial config for FM radio supportdarron@kewl.org
From: Darron Broad <darron@kewl.org> This add initial configuration for radio support on the hvr-3000/4000. FM radio doesn't work as yet without further patches (to come), but this prepares for that. Experimental radio support shows that it works when combined with additional audio routing work for cards with an FMD1216ME analogue frontend, but not the MEX variant (more later). Priority: normal Signed-off-by: Darron Broad <darron@kewl.org>
2008-10-11cx88: Add audio routing for the hvr-3000/4000darron@kewl.org
From: Darron Broad <darron@kewl.org> This adds audio routing on the hvr-3000/4000 This is a preliminary patch for later routing requirements. This adds line-in support on the 2 cards mentioned. It is also apparent that there is an initial open fault for line-in when opening composite/s-video. This will be fixed later. It was also noticed that the bit-field for audio routing which was 2 bits needs an increase as the WM8775 for example, allows a value 4 bits wide for it's audio mux. Priority: normal Signed-off-by: Darron Broad <darron@kewl.org>
2008-10-11MFE: Add multi-frontend mutual exclusiondarron@kewl.org
From: Darron Broad <darron@kewl.org> This add frontend R/W mutual exclusion. Prior to this point in time it was possible to open both frontends simultaneously which an MFE card cannot support. In order to stop this, a delayed open is performed which has the following function: Return EBUSY after a configurable amount of time if a frontend is unavailable due to the other being in use. Only allow opening of a frontend if the kernel thread of the other has stopped. This solution was chosen to allow switching between frontends to work as seamlessly as possible. When both frontends are actually opened simultaneously then one will only open, but if quick switching is performed between one of many then the new open will succeed in a clean fashion rather than interrupting a kernel thread. Priority: normal Signed-off-by: Darron Broad <darron@kewl.org>
2008-10-11MFE: cx88: Reset cx22702 on hvr-3000/4000darron@kewl.org
From: Darron Broad <darron@kewl.org> The cx22702 is now always reset on module load. Prior to this the cx22702 was not found on i2c scan without a full reset. Priority: normal Signed-off-by: Darron Broad <darron@kewl.org>
2008-10-11MFE: Add configurable gate controldarron@kewl.org
From: Darron Broad <darron@kewl.org> This adds a configurable (one per card) gate control option for multi-frontend. Prior to this point gate control was assumed to be on the primary frontend, this is a fault when the gate to the analogue section is on the secondary which is the default for both the HVR-3000 and HVR-4000 in MFE. Priority: normal Signed-off-by: Darron Broad <darron@kewl.org>
2008-10-11MFE: Fix a number of bugs and some tidying updarron@kewl.org
From: Darron Broad <darron@kewl.org> A number of reference to videobuf_dvb_get_frontend used an invalid index. This has been fixed. The section for the HVR3000 in advise_acquire was redundant as the same logic is used on the HVR4000. This has been removed and both cards now use the same function. A number of small errors and whitespace errors are also fixed. Priority: normal Signed-off-by: Darron Broad <darron@kewl.org>
2008-10-11S2API: Add Multiple-frontend on a single adapter support.darron@kewl.org
From: Steven Toth <stoth@linuxtv.org> A detailed description from the original patches 2 years ago: "The WinTV-HVR3000 has a single transport bus which is shared between a DVB-T and DVB-S modulator. These patches build on the bus acquisition cx88 work from a few weeks ago to add support for this. So to applications the HVR3000 looks like this: /dev/dvb/adapter0/fe0 (cx24123 DVB-S demod) /dev/dvb/adapter0/fe1 (cx22702 DVB-T demod) Additional boards continue as before, eg: /dev/dvb/adapter1/fe0 (lgdt3302 ATSC demod) The basic change is removing the single instance of the videobuf_dvb in cx8802_dev and saa7134_dev(?) and replacing it with a list and some supporting functions. *NOTE* This branch was taken before v4l-dvb was closed for 2.6.19 so two or three current cx88 patches appear to be reversed by this tree, this will be cleaned up in the near future. The patches missing change the mutex handing to core->lock, fix an enumeration problem." It should be recognised that a number of people have been maintaining this patchset. Significant levels of Kudos to everyone one involved, including but not limited to: Darron Broad Fabio M. Di Nitto Carlo Scarfoglio Hans Werner Without the work of these people, and countless others, my two year old patches would of died on the Mercurial linuxtv.org vine a long time ago. TODO: Revise these patches a little further so that the need for demux1 and dvr0 is optional, not mandatory on the HVR3000. HISTORY (darron): This is the last update to MFE prepared by Hans which is based upon the `scratchpad' diff created by Carlo. All MFE work prior to that point must be attributed to Fabio who ported and maintained Steve's original patch up to that time. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Darron Broad <darron@kewl.org>
2008-10-13merge: http://linuxtv.org/hg/~stoth/s2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-08Added support for Prof 7300 DVB-S/S2 cardsOleg Roitburd
From: Oleg Roitburd <oroitburd@gmail.com> Added support for Prof 7300 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Oleg Roitburd <oroitburd@gmail.com>
2008-10-01merge: http://www.linuxtv.org/hg/~stoth/s2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-25cx88: Bugfix: all client disconnects put the frontend to sleep.Steven Toth
From: Darron Broad <darron@kewl.org> From the author: "This fixes the problem where previously all client disconnects put the analogue frontend into standby. In the following example, the first command is succesfully watching TV but the second command which returns EBUSY detunes the receiver by entering it into the standby state. tvtime -d /dev/video0 & cat /dev/video0 " Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Darron Broad <darron@kewl.org>
2008-09-24merge: http://www.linuxtv.org/hg/~stoth/s2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-23Add support for ST STV0288 demodulator and cards with it.Igor M. Liplianin
From: Georg Acher <acher@baycom.de> From: Igor M. Liplianin <liplianin@me.by> Add support for ST STV0288 demodulator and cards with it, such as TeVii S420. Signed-off by: Georg Acher <acher@baycom.de> Signed-off-by: Igor M. Liplianin <liplianin@me.by>
2008-09-22cx88: HVR3000 / 4000 GPIO related changesSteven Toth
From: Steven Toth <stoth@linuxtv.org> Patch by Darron Broad. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-22cx88: Enable TDA9887 on HVR1300 / 3000 / 4000Steven Toth
From: Steven Toth <stoth@linuxtv.org> Patch provided by Darron Broad. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-22S2API: Add Kconf dependencySteven Toth
From: Steven Toth <stoth@linuxtv.org> Patch provided by Darron Broad Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-17Added support for TBS 8920 DVB-S/S2 cardOleg Roitburd
From: Oleg Roitburd <oroitburd@gmail.com> Added support for TBS 8920 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Oleg Roitburd <oroitburd@gmail.com>
2008-09-17Added support for Omicom SS4 DVB-S/S2 cardoleg@compaq.Office.local
From: Oleg Roitburd <oroitburd@gmail.com> Added support for Omicom SS4 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Oleg Roitburd <oroitburd@gmail.com> user: Oleg Roitburd <oroitburd@gmail.com>
2008-09-21HVR3000/4000 Hauppauge related IR cleanupsSteven Toth
From: Darron Broad <darron@kewl.org> From the author: This patch-set fixes remote control issues I have experienced with hauppauge drivers in Linux since the PVR-350 and now with both a NOVA-S+ and HVR-4000. It has also been confirmed to work with an HVR-1300 user who had exactly the same issue. Hauppage remote controls use RC5. RC5 has a bit-field which represents the target device. The hauppauge windows drivers have a registry key which can enable filtering, but the linux drivers will accept any target device in this bit field for internal processing. This causes problems with setups such as mythtv where remote control key presses destined for the TV (target = 0) are interpreted by the kernel and subsequenctly LIRC then mythtv. Of the remote controls I have to hand (wintv black, pvr/hvr silver) the hauppauge remotes send one of two device targets ids, these are interpreted by the patch which then filters out any non hauppauge addresses. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Darron Broad <darron@kewl.org>
2008-09-16replace xc3028 firmware filenames with defined default firmware namesMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Priority: normal Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-09-14S2API: cx24116 Rolloff changes, sysctls cleanup, isl power changes.Steven Toth
From: Darron Broad <darron@kewl.org> Remove the debugging sysctls. Rolloff was broken, not it works as expected and has been tested in kaffeine. Power related changes for the isl6421 are not implemented on the HVR4000/4000LITE. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Darron Broad <darron@kewl.org>
2008-09-13Nova-se2 / Nova-s-plus Intersil6421 power fix to support switches.Steven Toth
From: Steven Toth <stoth@linuxtv.org> Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-11cx88 Dvico FusionHDTV ProMauro Carvalho Chehab
From: Tim Farrington <timf@iinet.net.au> Well, one thing you encouraged me to do was re-test some of my cards which contained the xc3028-zarlink combo. Which led me to test a Dvico FusionHDTV Pro. Almost a year ago, Chris Pascoe did a patch for this which can be found at his ~pascoe/xc-test at Linuxtv. This worked very well, however that was using his version of firmware. Alas, someone attempted to use this and patch v4l-dvb, and messed it up. So I've fixed it. I enclose the patch against today's tree (containing your latest tuner-xc2028.c patch). The card now works very well, well with DVB-T anyway. Signed-off-by: Tim Farrington <timf@iinet.net.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-05Pinnacle Hybrid PCTV Pro (pctv310c) DVB-T supportMauro Carvalho Chehab
From: Stéphane Voltz <stef.dev@free.fr> This patch against latest mercurial makes DVB-T working on Pinnacle Hybrid PCTV Pro (pctv310c). In cx88-dvb.c, a specific zl10353_config is created with the if2 inferred from the old comment in the currently used config. It is then used for attach, and i2c_gate_ctrl is set to NULL. The entry in cx88-cards.c is modified with GPIO gathered from windows with regspy, and DVB enabled. The frontend is set to XC3028_FE_ZARLINK456 to match the zl10353_config. It is working great with the freeview channels I can receive. Signed-off-by: Stéphane Voltz <stef.dev@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-04Added support for TeVii S460 DVB-S/S2 cardIgor M. Liplianin
From: Igor M. Liplianin <liplianin@me.by> Added support for TeVii S460 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Igor M. Liplianin <liplianin@me.by>
2008-09-04cx88: Add support for the Hauppauge HVR4000 and HVR4000-LITE (S2) boardsSteven Toth
From: Steven Toth <stoth@linuxtv.org> Adding support for Hauppauge's cx88 S2 based products, based on the cx24116 DVB-S2 demodulator. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-06xc5000: dont pass devptr in xc5000_attach()Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Dont pass devptr in xc5000_attach, dont store it in xc5000_priv. This pointer is passed into the tuner_callback function, which always expects a pointer to fe->dvb->priv or i2c_adapter->algo_data. This prevents future possible bugs in new drivers, such as using a "devptr" other that the standard fe->dvb->priv in a DVB driver. Priority: normal Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-09-03cx88: add missing unlock_kernelHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> sparse found an unbalanced BKL usage. Priority: high Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-30v4l: move BKL down to the driver level.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The BKL is now moved from the video_open function in v4l2-dev.c to the various drivers. It seems about a third of the drivers already has a lock of some sort protecting the open(), another third uses video_exclusive_open (yuck!) and the last third required adding the BKL in their open function. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-27remove select's of FW_LOADERMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> After commit d9b19199e4894089456aaad295023263b5225c1a (always enable FW_LOADER unless EMBEDDED=y) we can remove the FW_LOADER select's and corresponding dependencies on HOTPLUG. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-26v4l2-dev: remove unused type and type2 field from video_deviceHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The type and type2 fields were unused and so could be removed. Instead add a vfl_type field that contains the type of the video device. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-21videodev: move all ioctl callbacks to a new v4l2_ioctl_ops structHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All ioctl callbacks are now stored in a new v4l2_ioctl_ops struct. Drivers fill in a const struct v4l2_ioctl_ops and video_device just contains a const pointer to it. This ensures a clean separation between the const ops struct and the non-const video_device struct. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-23v4l: remove obsolete audiochip.hHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Converted the last users of audiochip.h to the v4l2-chip-ident.h header and remove the now unused audiochip.h header. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-20videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.hHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The functions in a header should not belong to another module. The prio functions belong to v4l2-common.c, so move them to v4l2-common.h. The ioctl functions belong to v4l2-ioctl.c, so create a new v4l2-ioctl.h header and move those functions to it. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-20videodev: rename 'dev' to 'parent'Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The field 'dev' is not the video device, but the parent of the video device. Rename accordingly. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.16Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 4 removes the compatibility support for kernels < 2.6.16. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.13Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 3 of the compat cleanup. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.10Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 2 removes support for kernels < 2.6.10. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.0Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> First phase of the backwards compatibility cleanup: stop supporting kernels older than 2.6.0. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22cx2341x: add TS capabilityHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The cx18 can support transport streams with newer firmwares. Add a TS capability to the generic cx2341x module. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-14Avoids an OOPS if dev struct can't be successfully recoveredMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> On some alsa versions, it seems that snd_pcm_substream_chip(substream) is returning a NULL pointer. This causes an OOPS, as reported by: https://bugs.launchpad.net/ubuntu/+source/linux-ubuntu-modules-2.6.24/+bug/212271 https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/212960 This patch avoids the OOPS by not letting and open() succeed. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-03From: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>Mauro Carvalho Chehab
Fix entry for PowerColor RA 330 and make it run with firmware version 2.7 Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-05-21 annotate bcx_riscmemMauro Carvalho Chehab
From: Al Viro <viro@ftp.linux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-05-28videodev: renamed the vidioc_*_fmt_* callbacksHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The naming for the callbacks that handle the VIDIOC_ENUM_FMT and VIDIOC_S/G/TRY_FMT ioctls was very confusing. Renamed it to match the v4l2_buf_type name. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-05-10xc5000: bug-fix: allow multiple devices in a single systemMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The current code passes a context pointer in the xc5000_config struct. This context pointer is used in the tuner_callback function, used to reset the device after firmware download. The xc5000_config struct is a static structure, whose .priv member was being assigned before calling xc5000_attach(). If there are more than one of the same device type installed on a single system, the last one to assign xc5000_config.priv will "win", and all others will cease to function properly. This patch passes the context pointer in xc5000_attach() rather that storing it within the static struct xc5000_config. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-09-29Add support for Prolink Pixelview Global ExtremeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Thanks to Sidney Matias <sidney.matias@gmail.com> for getting GPIO values and testing on this device. Priority: normal CC: Sidney Matias <sidney.matias@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-12convert tuner drivers to use dvb_frontend->callbackMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Priority: normal Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-05-06cx88: fix Kconfig depencencies for FW_LOADERMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> cx88 doesn't need support for FW_LOADER. Instead, this is required only for cx88-blackbird. Also, cx88-blackbird depends on HOTPLUG, due to FW_LOADER dependency. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-05-06Re-creates VIDEO_TUNERMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> VIDEO_TUNER is responsible for compilation of tuners.ko module. This were the previous behaviour before the creation of MEDIA_TUNER. Before this patch, tuner.ko were created even for drivers that don't need a tuner (like webcam drivers). Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-30cx88: Fix error handling, when dvb_attach() failsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>