summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/dvb-core
AgeCommit message (Collapse)Author
2009-02-16Revert changeset aa3e5cc1d833Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> On Mon, 02 Feb 2009, Hartmut wrote: This change set is wrong. The affected functions cannot be called from an interrupt context, because they may process large buffers. In this case, interrupts are disabled for a long time. Functions, like dvb_dmx_swfilter_packets(), could be called only from a tasklet. This change set does hide some strong design bugs in dm1105.c and au0828-dvb.c. Please revert this change set and do fix the bugs in dm1105.c and au0828-dvb.c (and other files). On Sun, 15 Feb 2009, Oliver Endriss wrote: This changeset _must_ be reverted! It breaks all kernels since 2.6.27 for applications which use DVB and require a low interrupt latency. It is a very bad idea to call the demuxer to process data buffers with interrupts disabled! On Mon, 16 Feb 2009, Trent Piepho wrote: I agree, this is bad. The demuxer is far too much work to be done with IRQs off. IMHO, even doing it under a spin-lock is excessive. It should be a mutex. Drivers should use a work-queue to feed the demuxer. Thank you for testing this changeset and discovering the issues on it. Priority: high CC: Trent Piepho <xyzzy@speakeasy.org> CC: Hartmut <e9hack@googlemail.com> CC: Oliver Endriss <o.endriss@gmx.de> CC: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-02-06dvb: fix 2.6.16 compile warningMauro Carvalho Chehab
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-11dvb: constify VFTsMauro Carvalho Chehab
From: Jan Engelhardt <jengelh@medozas.de> dvb: constify VFTs Signed-off-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-08backport changeset f41ced8f108cc80f16509b907cd7ac93944459bcMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Laurent Pinchart <laurent.pinchart@skynet.be> Check fops_get() return value Several subsystem open handlers dereference the fops_get() return value without checking it for nullness. This opens a race condition between the open handler and module unloading. A module can be marked as being unloaded (MODULE_STATE_GOING) before its exit function is called and gets the chance to unregister the driver. During that window open handlers can still be called, and fops_get() will fail in try_module_get() and return a NULL pointer. This change checks the fops_get() return value and returns -ENODEV if NULL. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-05dvb_frontend: Fix some sparse warnings due to static symbolsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> /home/v4l/master/v4l/dvb_frontend.c:838:19: warning: symbol 'dtv_cmds' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1035:6: warning: symbol 'dtv_property_dump' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1066:5: warning: symbol 'is_legacy_delivery_system' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1080:6: warning: symbol 'dtv_property_cache_sync' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1132:6: warning: symbol 'dtv_property_legacy_params_sync' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1187:6: warning: symbol 'dtv_property_adv_params_sync' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1222:6: warning: symbol 'dtv_property_cache_submit' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1253:5: warning: symbol 'dtv_property_process_get' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1362:5: warning: symbol 'dtv_property_process_set' was not declared. Should it be static? Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-01add DVB_DEVICE_TYPE= to ueventMauro Carvalho Chehab
From: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-03backport commit 0eade1f930fa3ba6461b34baf3ed8fa7c4abc40fMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Wang Chen <wangchen@cn.fujitsu.com> dvb: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). kernel-sync: Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-18dvb-core: don't add an event when in ONE SHOT mode for algo type HWMauro Carvalho Chehab
From: Darron Broad <darron@kewl.org> It has been noticed that in HW tuning mode in cx24123.c that a check is made to not alter the status var when in one shot mode, a simpler solution is to not update here for all cards. Priority: normal Signed-off-by: Darron Broad <darron@kewl.org> CC: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-16Make sure the i2c gate is open before powering down tunerMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> It is not safe to assume that the i2c gate will be open before issuing the command to power down the tuner. In fact, many demods only open the gate long enough to issue the tuning command. This fix allows power management to work properly for those tuners behind an i2c gate (in my case the problem was with the HVR-950Q) Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-16Make s2api work for ATSC supportMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> ATSC should be considered a legacy delivery system, or else fields such as p->u.vsb.modulation do not get populated (resulting in set_frontend failures) CC: Steven Toth <stoth@linuxtv.org> Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-03dvbdev: fix typo causing 2.6.28 compile errorHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-10-29linux-next: v4l-dvb tree build failureMauro Carvalho Chehab
From: Stephen Rothwell <sfr@canb.auug.org.au> Today's linux-next build (x86_64 allmodconfig) failed like this: drivers/media/dvb/dvb-core/dvbdev.c: In function 'dvb_register_device': drivers/media/dvb/dvb-core/dvbdev.c:254: error: implicit declaration of function 'nums2minor' Caused by commit f3d9182030d9655d9ffff33dfceb45b4a127b6ec ("V4L/DVB (9361): Dynamic DVB minor allocation") which clearly has not even been built with CONFIG_DVB_DYNAMIC_MINORS=y. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-30merge: http://jusst.de/hg/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-30Fix frontend DVBFE_ALGO_CUSTOM SearchManu Abraham
Issue: Currently, the DVBFE_ALGO_CUSTOM is called only at the first tuning. After the first call, the status is never set to force a new tuning. From: Marco Schluessler <marco@lordzodiac.de> Signed-off-by: Marco Schluessler <marco@lordzodiac.de> Signed-off-by: Manu Abraham <manu@linuxtv.org>
2008-10-28Fix: parameters not supplied in the search processManu Abraham
From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
2008-10-28Fix: Commit 9344 breaks tning of cx24123Manu Abraham
From: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Manu Abraham <manu@linuxtv.org>
2008-10-28add DVB_DEVICE_NUM and DVB_ADAPTER_NUM to ueventMauro Carvalho Chehab
From: Kay Sievers <kay.sievers@vrfy.org> This allows udev to create proper device nodes without any hacky shell scripts/programs to call, which guess these numbers from the kernel device names. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-23Dynamic DVB minor allocationMauro Carvalho Chehab
From: Andreas Oberritter <obi@linuxtv.org> This is a multi-part message in MIME format. Implement dynamic minor allocation for DVB, to allow more than four devices of the same type per adapter, based on drivers/usb/core/file.c. Add a new config option, DVB_DYNAMIC_MINORS, to make use of this feature, which defaults to no for backwards compatibility. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-21merge: http://jusst.de/hg/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-21Optimization: Enable gate in a symmetric/disciplined way,Manu Abraham
rather than implementing different ways leading to confusion. This allows multiple gate_enable/disable's in the tuner_read/write functions, thereby lesser number of I/O operations throughout, eventually leading to better results. As a side effect demods that detect the STOP bit for auto closing of the gate can be avoided, thereby a very minimal gain in disabling the auto detect feature as well. Improves readability on the device control. From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
2008-10-20Add event with changed status onlyManu Abraham
From: Arvo Jarve <arvo@softshark.ee> Signed-off-by: Arvo Jarve <arvo@softshark.ee> Signed-off-by: Manu Abraham <manu@linuxtv.org>
2008-10-14DVB-Core updateManu Abraham
From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
2008-10-16Remove spurious messages and turn into debug.Steven Toth
From: Steven Toth <stoth@linuxtv.org> Remove spurious messages and turn into debug. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-15MFE: bugfix: multi-frontend mutual exclusion parallel opendarron@kewl.org
From: Darron Broad <darron@kewl.org> When moving from one frontend to another an application could spawn multiple threads opening the same new frontend and in some circumstances all of these could become delayed waiting for the previous frontend readers or previous frontend writer thread to complete. In this scenario the first thread will succeed on open to bring the new frontend online but any others will return EBUSY. This is a fault. If the first succeeds and all others are on the same frontend then they should succeed also. Priority: normal Signed-off-by: Darron Broad <darron@kewl.org> Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-15merge: http://www.linuxtv.org/hg/~stoth/mfeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-15Frontend API Fix: 32APSK is a valid modulation for the DVB-S2 deliveryManu Abraham
From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.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-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-06S2API: Return error of the caller provides 0 commands.Steven Toth
From: Steven Toth <stoth@linuxtv.org> S2API: Return error of the caller provides 0 commands. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-06S2API: Added support for DTV_HIERARCHYSteven Toth
From: Steven Toth <stoth@linuxtv.org> A user tuning DVB-T via the S2API reports that this was not implemented, and his tuning was failing. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-06S2API: Add support fot DTV_GUARD_INTERVAL and DTV_TRANSMISSION_MODESteven Toth
From: Steven Toth <stoth@linuxtv.org> Tuning DVB-T via the S2API was failing, missing some essential items. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-06S2API: Added support for DTV_CODE_RATE_HP/LPSteven Toth
From: Steven Toth <stoth@linuxtv.org> Reports from users that using the new API for tuning DTV was failing, and the cache was missing some essential items. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-06S2API: Change _8PSK / _16APSK to PSK_8 and APSK_16Steven Toth
From: Steven Toth <stoth@linuxtv.org> ... and cleanup any drivers using them. I've also removed NBC_QPSK and modified the cx24116 driver to check the delivery_type also, removing some excess namespace baggage. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-06S2API: Remove the hardcoded command limit during validationSteven Toth
From: Steven Toth <stoth@linuxtv.org> This means that when developers add new commands then they'll be see the DTV_MAX_COMMAND define and will be more likely to modify it, without having to modify the command validation code. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-10-03S2API: Bugfix related to DVB-S / DVB-S2 tuning for the legacy API.Steven Toth
From: Darron Broad <darron@kewl.org> Fixes switching from S2API to legacy where legacy params given to S2API aware demods are cached ones and not those implied in the legacy API. It was found (on an S2API aware demod at least) that after using an S2API aware application and then switching to a legacy application that prior S2API params were in effect were legacy has only implied values. This fixes this. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Darron Broad <darron@kewl.org>
2008-10-03S2API: Stop an OOPS if illegal commands are dumped in S2API.Steven Toth
From: Darron Broad <darron@kewl.org> Quick fix to stop an OOPS if illegal commands are dumped in S2API. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Darron Broad <darron@kewl.org>
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-25S2API: Add DTV_API_VERSION commandSteven Toth
From: Steven Toth <stoth@linuxtv.org> This allows application developers to query the dvb-core API version dynamically, helping developers understand whether certain features will be available. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-25S2API: Implement result codes for individual commandsSteven Toth
From: Steven Toth <stoth@linuxtv.org> This allows application developers to determine which particular command in a sequence is invalid, or failing with error. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-24Fix deadlock in demux codeMauro Carvalho Chehab
From: Andreas Oberritter <obi@linuxtv.org> The functions dvb_dmxdev_section_callback, dvb_dmxdev_ts_callback, dvb_dmx_swfilter_packet, dvb_dmx_swfilter_packets, dvb_dmx_swfilter and dvb_dmx_swfilter_204 may be called from both interrupt and process context. Therefore they need to be protected by spin_lock_irqsave() instead of spin_lock(). This fixes a deadlock discovered by lockdep. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-23S2API: Deactivate the ISDB-T definitionsSteven Toth
From: Steven Toth <stoth@linuxtv.org> We don't want to push the ISDB-T definitions into the kernel until we have a high level of confidence in the ISDB-T API. More testing is required before this code is released. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-13S2API: Bugfix related to syncing the cache when used with the old API.Steven Toth
From: Steven Toth <stoth@linuxtv.org> Many thanks to Darron Broad for pointing out the obvious. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-13S2API: Changed bandwidth to be expressed in HZSteven Toth
From: Steven Toth <stoth@linuxtv.org> Also added some compat code for the older API. Added more ISDB message/command suggestions, current not connected in dvb-core. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-13S2API: Allow reliable use of old and new api on the same frontend, regardless.Steven Toth
From: Steven Toth <stoth@linuxtv.org> Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-12Bug fix: ioctl FE_SET_PROPERTY/FE_GET_PROPERTY always return errorIgor M. Liplianin
From: Igor M. Liplianin <liplianin@me.by> Bug fix: ioctl FE_SET_PROPERTY/FE_GET_PROPERTY always return error Signed-off-by: Igor M. Liplianin <liplianin@me.by>
2008-09-12S2API: Implement GET/SET handing to the demodsSteven Toth
From: Steven Toth <stoth@linuxtv.org> The frontends will be notified (if they chose) of all _get and _set commands so they can help determine result or action. Results are now returned to userspace correctly. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-12S2API: Remove the DTV_SET_ and DTV_GET_ prefixesSteven Toth
From: Steven Toth <stoth@linuxtv.org> The API now assumes that ioctl calls for FE_SET_PROPERTY and all set commands, and FE_GET_PROPERTY are get commands. Simplification. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-11S2API: Ensure cache->delivery_system is set at all times.Steven Toth
From: Steven Toth <stoth@linuxtv.org> This helps complex demods which support different modulation types be better informed. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-11S2API: ISDBT_SEGMENT_NUM -> ISDBT_SEGMENT_IDXSteven Toth
From: Steven Toth <stoth@linuxtv.org> Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2008-09-11S2API: Cleanup code that prepares tuning structures.Steven Toth
From: Steven Toth <stoth@linuxtv.org> Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>