summaryrefslogtreecommitdiff
path: root/linux/drivers/media
AgeCommit message (Collapse)Author
2008-02-19cx88-cards: always use a level on printk messagesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-cards.c | 71 ++++++++++++++++------------ 1 file changed, 41 insertions(+), 30 deletions(-)
2008-02-19Some cleanups at cx88 callback methodsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-cards.c | 57 +++++++++------------------- 1 file changed, 19 insertions(+), 38 deletions(-)
2008-02-10tuner-simple: enable digital tuning support for Thomson FE6600Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-02-10tuner-simple: enable digital tuning support for Philips TD1316Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-02-10tuner-simple: enable digital tuning support for Microtune 4042 FI5Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-02-10tuner-simple: enable digital tuning support for Thomson DTT 7610Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-02-09pvrusb2: Rework context handling and initializationMike Isely
From: Mike Isely <isely@pobox.com> This change significantly rearranges pvr2_context level initialization and operation: 1. A new kernel thread is set up for management of the context. 2. Destruction of the pvr2_context instance is moved into the kernel thread. No other context is able to remove the instance; doing this simplifies lock handling. 3. The callback into pvrusb2-main, which is used to trigger initialization of each interface, is now issued from this kernel thread. Previously it had been indirectly issued out of the work queue thread in pvr2_hdw, which led to deadlock issues if the interface needed to change a control setting (which in turn requires dispatch of another work queue entry). 4. Callbacks into the interfaces (via the pvr2_channel structure) are now issued strictly from this thread. The net result of this is that such callback functions can now also safely operate driver controls without deadlocking the work queue. (At the moment this is not actually a problem, but I'm anticipating issues with this in the future). 5. There is no longer any need for anyone to enter / exit the pvr2_context structure. Implementation of the kernel thread here allows this all to be internal now, simplifying other logic. 6. A very very longstanding issue involving a mutex deadlock between the pvrusb2 driver and v4l should now be solved. The deadlock involved the pvr2_context mutex and a globals-protecting mutex in v4l. During initialization the driver would take the pvr2_context mutex first then the v4l2 interface would register with v4l and implicitly take the v4l mutex. Later when v4l would call back into the driver, the two mutexes could possibly be taken in the opposite order, a situation that can lead to deadlock. In practice this really wasn't an issue unless a v4l app tried to start VERY early after the driver appeared. However it still needed to be solved, and with the use of the kernel thread relieving need for pvr2_context mutex, the problem should be finally solved. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Eliminate timer race during tear-downMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 tear-down logic was clearing two timers before stopping its internal work queue. That left a tiny window open where the work queue might run after the timers are stopped, possibly starting them again. This could lead to dangling pointers and an oops. Solution: Kill the work queue first, then delete the timers. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Close potential race condition during initializationMike Isely
From: Mike Isely <isely@pobox.com> There is a callback that is issued to into pvr2_context from pvr2_hdw after initialization is done. There was a probability that this callback could get missed. Fixed. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Remove dead codeMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Increase buffer size for printing video standard stringsMike Isely
From: Mike Isely <isely@pobox.com> Buffer size for printing pvrusb2 video standard strings was too small before. This is cosmetic; the printing logic is not able to overrun a too-short buffer. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Handle ATSC video standard bitsMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver dynamically generates an enumeration of support video standard combinations based on which video standard bits are set. ATSC modes don't fall into this since they are by nature not analog. The pvrusb2 driver has been warning about an inability to classify ATSC standards. This change causes the classification algorithm to ignore any ATSC standards (such things are better handled elsewhere anyway). Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Add Gotview USB 2.0 DVD Deluxe to supported devicesMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Make device attribute structure more compactMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Make LED control into a device-specific attributeMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver has used hardcoded logic to control the LED on the device. However this is really Hauppauge-specific behavior. This change defines a new device attribute for LED control and sets things up appropriately for Hauppauge devices. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-09pvrusb2: Indicate streaming status via LEDMike Isely
From: Mike Isely <isely@pobox.com> Most of this originates from Michael Krufky <mkrufky@linuxtv.org>; these changes move LED control into separate functions. This is the first step in new work to make LED control a device-specific attribute. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-06pvrusb2: Allow digital streaming without encoder firmwareMike Isely
From: Mike Isely <isely@pobox.com> The encoder is not a part of the pipeline when in digital mode, so streaming is OK in this case even when the encoder's firmware is not loaded. Modify the driver core handling of this scenario to permit streaming. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-05Add support for xc3028-based boardsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch adds support for the following saa7134 xc3028 based boards: 132 -> AVerMedia Cardbus TV/Radio (E506R) [1461:f436] 133 -> AVerMedia Hybrid TV/Radio (A16D) [1461:f936] 134 -> Avermedia M115 [1461:a836] 135 -> Compro VideoMate T750 [185b:c900] This is based on a original patch thanks to Markus Rechberger that added xc3028 gpio init code for the above boards. This patch moves saa7134_tuner_callback to saa7134-cards, originally used only by tda8290 DVB-S boards. The callback was made more generic to support other tuners. Currently, it supports both tda8290 and xc2028/xc3028 tuners. Added also the basis for xc5000 tuner callback. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/Documentation/video4linux/CARDLIST.saa7134 | 4 linux/drivers/media/video/saa7134/saa7134-cards.c | 255 ++++++++++++++++++++-- linux/drivers/media/video/saa7134/saa7134-core.c | 34 -- linux/drivers/media/video/saa7134/saa7134-dvb.c | 39 +++ linux/drivers/media/video/saa7134/saa7134.h | 7 5 files changed, 290 insertions(+), 49 deletions(-)
2008-02-05Use the same callback argument as xc3028 and xc5000Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-03pvrusb2: trace print cosmetic cleanup / improvementsMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Enhance core logic to also control digital streamingMike Isely
From: Mike Isely <isely@pobox.com> This is a major pvrusb2 change. The driver core has an algorithm that is used to cleanly sequence the changes needed to enable / disable video streaming. The algorithm had originally been written for analog streaming, but when in digital mode the pipeline is considerably different - for example the mpeg encoder is not used. These changes to the core logic implement correct pipeline control when in digital mode. Knowing which pipeline to handle and how to handle it is completely driven by the current input selection. So, in theory, to perform digital stream now all one has to do is switch input to dtv and start streaming as usual. Well, in theory. The reality is that digital tuner and demod control are still not in the driver core yet so until that is present there's nothing to actually stream. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Define digital control scheme device attributesMike Isely
From: Mike Isely <isely@pobox.com> Unlike analog control, control of the digital side is not nearly as uniform among different devices. So we have to specify the correct digital control scheme as a new device attribute. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: New functions for additional FX2 digital-related commandsMike Isely
From: Mike Isely <isely@pobox.com> This code is actually part of a larger set from Mike Krufky <mkrufky@linuxtv.org>, to support ATSC streaming from within the pvrusb2 driver. More to come... Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03tuner-simple: use separate inputs for vsb and qam on tuv1236d & fcv1236dMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-02-03pvrusb2: Fix oops possible when claiming a NULL streamMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: whitespace fixupMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: add function pvr2_hdw_cmd_powerdownMike Isely
From: Michael Krufky <mkrufky@linuxtv.org> Call pvr2_hdw_cmd_powerdown to power down the device Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Ensure that default input selection is actually validMike Isely
From: Mike Isely <isely@pobox.com> Previously the pvrusb2 driver just started with the default input to be "television". But if the device doesn't support an analog tuner then this default must be different. New logic here selects a reasonable default based on the actual valid set of available inputs. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Improve control validation for enumerationsMike Isely
From: Mike Isely <isely@pobox.com> When an enumeration control is changed, the pvrusb2 driver assumed that the enumeration values were continuous. That is no longer true; this change allows for properly input validation even when not all enumeration values are legal (which can happen with input selection based on what the hardware supports). Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Implement addition sysfs tracingMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: v4l2 implementation fixes for input selectionMike Isely
From: Mike Isely <isely@pobox.com> Now that the pvrusb2 driver can dynamically choose which inputs to make available depending on the hardware, the enumeration of input choices is no longer a contiguous range of integers. Unfortunately this causes a problem in the v4l2 implementation since the input enumeration requires continuity in the API. This change implements a mapping in order to preserve the v4l2 interface requirement. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Improve logic which handles input choice availabilityMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Account for dtv choice (a bit) in v4l2 implementationMike Isely
From: Mike Isely <isely@pobox.com> The v4l2 implementation in pvru2b2 must produce a sane answer when asked, when the input choice is set to dtv. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Dynamically control range of input selectionsMike Isely
From: Mike Isely <isely@pobox.com> This follows from defining the available inputs as device attributes. This change causes the driver to adjust its list of inputs based on those attributes. Now, for example, the FM radio will appear as a choice only if the hardware supports an FM radio. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Define device attributes for all input modesMike Isely
From: Mike Isely <isely@pobox.com> Different devices support different input types. Up until now we've really been assuming that everyone has an analog tuner, an FM radio, composite, and s-video inputs. But as we add other devices, these assumptions are no longer true. The way to deal with this is to define the available inputs as additional device attributes, so that the driver can adjust its internal behavior accordingly. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: add device attributes for fm radio and digital tunerMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03tuner-simple: enable digital tuning support for Philips FCV1236DMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-02-03tuner-simple: enable digital tuning support for Philips TUV1236DMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-02-03tuner-simple: enable digital tuning support for Philips FMD1216MEMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-02-03tuner-simple: add init and sleep methodsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> taken from dvb-pll Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-01-29tuner-xc3028: Don't check return code for clock resetMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Only tm6000 needs to be aware when a frequency is being changed. This seems to improve channel change detection. Other bridges don't need this. So, better to discard any errors if this fails, and proceed changing the channels. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/tuner-xc2028.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
2008-01-29FusionHDTV DVB-T Pro tuning problem fixesMauro Carvalho Chehab
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> It seems that on this board, the demodulator provides the pullup on the I2C bus, which means that calling i2c_gate_ctrl crashes the bus. Turn this off and the xc3028 can talk OK. Also fix some GPIO related settings that became more clear through working on this. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Some changes made by Mauro Chehab to allow merging it with some other xc3028 patches. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-cards.c | 16 ++++++++++------ linux/drivers/media/video/cx88/cx88-dvb.c | 8 ++++++++ 2 files changed, 18 insertions(+), 6 deletions(-)
2008-01-29Support DVB-T tuning on the DViCO FusionHDTV DVB-T ProMauro Carvalho Chehab
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add support for tuning DVB-T channels on DViCO's FusionHDTV DVB-T Pro board. The IR remote and analog tuner are not supported at this time. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Some changes made by Mauro Chehab to allow merging it with some other xc3028 patches. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/Documentation/video4linux/CARDLIST.cx88 | 1 linux/drivers/media/video/cx88/cx88-cards.c | 65 ++++++++++++++++++++++++-- linux/drivers/media/video/cx88/cx88-dvb.c | 23 +++++++++ linux/drivers/media/video/cx88/cx88.h | 1 4 files changed, 85 insertions(+), 5 deletions(-)
2008-01-29cx88: Add xc2028/3028 boardsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch ports a patch from Markus Rechberger to work with tuner-xc2028. It adds entries for several cx88 boards with xc2038/3028 tuners. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/Documentation/video4linux/CARDLIST.cx88 | 4 linux/drivers/media/video/cx88/cx88-cards.c | 192 +++++++++++++++++++++++++- linux/drivers/media/video/cx88/cx88-dvb.c | 50 ++++++ linux/drivers/media/video/cx88/cx88.h | 4 4 files changed, 248 insertions(+), 2 deletions(-)
2008-02-25cx88: Add support for tuner-xc3028Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Callback gpio's based on Markus Rechberger, Christopher Pascoe and Steven Toth patches. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-25merge: http://linuxtv.org/hg/~mkrufky/cx88-xc2028Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-25 VIDEO_VIVI must depend on VIDEO_DEVMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> This patch fixes the following compile error with VIDEO_VIVI=y, VIDEO_DEV=m reported by Toralf Förster: <-- snip --> ... LD .tmp_vmlinux1 drivers/built-in.o: In function `vivi_release': vivi.c:(.text+0x322f5): undefined reference to `video_unregister_device' vivi.c:(.text+0x32337): undefined reference to `video_device_release' drivers/built-in.o: In function `vivi_open': vivi.c:(.text+0x32845): undefined reference to `v4l2_type_names' drivers/built-in.o: In function `vivi_init': vivi.c:(.init.text+0x1d20): undefined reference to `video_device_alloc' vivi.c:(.init.text+0x1d48): undefined reference to `video_register_device' drivers/built-in.o:(.rodata+0x1b40): undefined reference to `video_ioctl2'drivers/built-in.o:(.data+0x140c): undefined reference to `video_device_release' <-- snip --> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-24 Clean up pxa-camera driver, remove non-functional and never tested pm-supportMauro Carvalho Chehab
From: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> This patch addresses most issues pointed out by Russell and Erik, moves recently introduced into pxa-regs.h camera-specific defines into pxa_camera.c, removes dummy power-management functions, improves function-naming, etc. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-23 Fix advertised pixel formats in mt9m001 and mt9v022Mauro Carvalho Chehab
From: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Only advertise pixel formats, that we actually can support in the present configuration. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-23 dabfirmware.h add missing licenseMauro Carvalho Chehab
From: maximilian attems <max@stro.at> Received written ack from the dabusb author that the firmware is BSD licensed. As bonus clarify copyright holder. Signed-off-by: maximilian attems <max@stro.at> Acked-by: Deti Fliegl <deti@fliegl.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>