summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/ivtv
AgeCommit message (Collapse)Author
2008-03-14 cleanup variable initializationMauro Carvalho Chehab
From: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> flags used for spinlocks don't need to be initialized, except where the compiler has no way to see, that the spin_unlock_irqrestore is only called if the spin_lock_irqsave has been called before. Local variable initialization doesn't have to be protected. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-03-09ivtv: rename tunerhz to tunertypeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> There are two tuner types: those for M/N standards and those for all others. However, M/N standards are not always 60 Hz (PAL-N/Nc are 50 Hz), so rename the module option accordingly. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-03-09ivtv: fix tunerhz bug: PAL-N(c) is 50 Hz, not 60.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-03-08ivtv: add support for Japanese variant of the Adaptec AVC-2410.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-03-08ivtv: improve pal/secam module options, add tunerhz module optionHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Allow options like pal=bgh, improve description of those options. Add tunerhz option: 50=card has 50Hz tuner, 60=card has 60Hz tuner. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-03-06ivtv: fix polling bugHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The q_io queue was never taken into account by the poll function. Thanks to Andy Walls for finding this bug. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-02-26ivtv: Add missing sg_init_table()Hans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> If a dma transfer is attempted for either yuv or framebuffer output, a missing sg_init_table() call causes a kernel BUG in scatterlist.h if CONFIG_DEBUG_SG is set. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-02-21ivtv: start timer for each DMA transferHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The DMA timeout timer was started once for each set of DMA transfers, but it should be started for each single DMA transfer. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-02-21ivtv: CROP is not supported for video captureHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> CROPCAP suggests that video capture supports cropping, but this is not the case. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-02-21ivtv: yuv framebuffer trackingHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> The existing yuv code limits output to the display area occupied by the framebuffer. This patch allows the yuv output to be 'detached' via V4L2_FBUF_FLAG_OVERLAY. By default, the yuv output window will be restricted to the framebuffer dimensions and the output position is relative to the top left corner of the framebuffer. This matches the behaviour of previous versions. If V4L2_FBUF_FLAG_OVERLAY is cleared, the yuv output will no longer be linked to the framebuffer. The maximum dimensions are either 720x576 or 720x480 depending on the current broadcast standard, with the output position relative to the top left corner of the display. The framebuffer itself can be resized, moved and panned without affecting the yuv output. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-01-26ivtv: fix for yuv filter table checkHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> As the result of a previous change that delayed the loading of the firmware, the driver can sometimes report a bogus error regarding the yuv output filter table not being found in the firmware. This patch moves the filter table check to ensure it's only done after the firmware has been loaded. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-01-28 ivtv-yuv.c: make 3 functions staticMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> This patch makes the following needlessly global functions static: - ivtv_yuv_next_free() - ivtv_yuv_setup_frame() - ivtv_yuv_udma_frame() Signed-off-by: Adrian Bunk <bunk@kernel.org> Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-27[PATCH] static memoryDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> - Static memory is always initialized with 0. - Replaced in some cases C99 comments for /* */ Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2008-01-10ivtv: stick to udelay=10 after allHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Using an udelay of 5 seems to result in problems for several people. For now abandon the udelay value of 5 and stick to 10, even though this will mean a longer load time of the cx2584x firmware. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-01-01Fix in-kernel ivtv compilationMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Due to tuner-xc2028.h, some extra directories should be added at .h search. CC: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-24ivtv: small textual updateHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-24ivtv: udelay has to be changed *after* the eeprom was read, not beforeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The eeprom decides which Hauppauge model it is, so the decision whether to use an udelay of 5 or 10 needs to be taken after reading the eeprom, not before. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-22ivtv: drop an incorrect commentHans Verkuil
From: Jean Delvare <khali@linux-fr.org> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-22ivtv: add XC2028 support for Club3D cardsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-21ivtv: mspx4xx needs a longer i2c udelayHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-12cx2341x: command argument should be u32 instead of int.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-11 ivtv/ section fixMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> This patch fixes the following section mismatch with CONFIG_HOTPLUG=n: <-- snip --> ... ... <-- snip --> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-08 ivtv: Some general fixesMauro Carvalho Chehab
From: Richard Knutsson <ricknu-0@student.ltu.se> Fix "warning: Using plain integer as NULL pointer". Convert 'x < y ? x : y' to use min() instead. Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-08ivtv: convert to bus-based i2c API.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-08ivtv: select VIDEO_IR in KconfigHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-08ivtv: add AVerMedia EZMaker PCI Deluxe supportHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Add support for the AVerMedia EZMaker PCI Deluxe and update the ivtv cardlist. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-08ivtv: update version number to 1.2Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-07merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-cleanupsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-02 ivtv: Remove a invalid shadow-variableMauro Carvalho Chehab
From: Richard Knutsson <ricknu-0@student.ltu.se> Remove the shadowing 'struct v4l2_chip_ident *chip', since it already exists and makes the if-statement useless. Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-02ivtv: fix incorrect debug message.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-11-13ivtv: ivtv-yuv clean-up + source cropping bug-fixHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> ivtv-yuv code clean up & reformat. Includes minor changes to some debug lines. Also fixes a bug found during the reformatting, which would cause the incorrect amount of yuv data to be sent to the card if source cropping coordinates were used. Apart from the bug-fix, there should be no functional difference to the previous version. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-11-05ivtv: ivtv yuv format description correctionHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> The driver was incorrectly reporting that it supported YUV 4:2:2 output, when it is actually YUV 4:2:0. Though I believe the hardware can be pushed to 4:2:2, we don't currently support that. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-11-05ivtv: Initial merge of video48 yuv handling into the IVTV_IOC_DMA_FRAME ↵Hans Verkuil
framework From: Ian Armstrong <ian@iarmst.demon.co.uk> Previously, all yuv data written to /dev/video48 had only basic support with no double buffering to avoid display tearing. With this patch, yuv frames written to video48 are now handled by the existing IVTV_IOC_DMA_FRAME framework. As such, the frames are hardware buffered to avoid tearing, and honour scaling mode & field order options. Unlike the proprietary IVTV_IOC_DMA_FRAME ioctl, all parameters are controlled by the V4L2 API. Due to mpeg & yuv output restrictions being different, their V4L2 output controls have been separated. To control the yuv output, the V4L2 calls must be done via video48. If the ivtvfb module is loaded, there will be one side effect to this merge. The yuv output window will be constrained to the visible framebuffer area. In the event that a virtual framebuffer size is being used, the limit to the output size will be the virtual dimensions, but only the portion that falls within the currently visible area of the framebuffer will be shown. Like the IVTV_IOC_DMA_FRAME ioctl, the supplied frames must be padded to 720 pixels wide. However the height must only be padded up the nearest multiple of 32. This would mean an image of 102 lines must be padded to 128. As long as the true source image size is given, the padding will not be visible in the final output. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-11-02Backport some changesets touching S/G codeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Backport kernel changesets: 45711f1af6eff1a6d010703b4862e0d2b9afd056 117636092a87a28a013a4acb5de5492645ed620f 642f149031d70415d9318b919d50b71e4724adbd Also, added newer entreis at compat.h, to avoid needing to add checks for linux versions inside the source codes. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-02backport changeset bb374b7b938f73666c403b201b3dd48ec9fe118aMauro Carvalho Chehab
kernel-sync: Author: David Miller <davem@davemloft.net> Date: Tue Oct 30 21:23:48 2007 -0700 [MEDIA] IVTV: exit_ivtv_i2c() cannot be __devexit It is referenced both from __devinit code (ivtv_probe) and normal .text (ivtv_process_eeprom), and therefore cannot be discarded via __devexit. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-30ivtv: add support for AVerMedia PVR-150 PlusHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-30ivtv: add ASUS Falcon2 supportHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-30ivtv: fix compile warningHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-30merge: http://linuxtv.org/hg/~dougsland/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-29ivtv-streams: make file_operations constDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> ivtv-streams: make file_operations const Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2007-10-22ivtv: yuv interlace mode changeHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> Interlace mode selection code moved into the frame setup phase, so it's now run before the frame is loaded into a hardware buffer. Given that it can affect how a new frame is displayed, it was a bit stupid running it after the frame was already visible. A few stray interlace related variables which were linked to individual frames have now been moved into the yuv_frame_info struct. This means that all variables linked to a specific frame are in the same place & not scattered. Minor code reformatting in areas touched by the above changes. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-21ivtv: Remove unnecessary register updateHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> To reduce the number of display register accesses, the yuv code keeps track of the current video settings. Should there be a change in any single parameter, it will update the associated display registers to ensure everything is displayed correctly. The existing check also looks at the field order for the video. This is not required, since field reversal does not require any display register changes. This patch removes the field order from the check. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-21ivtv: yuv frame parameter fixHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> Inadvertently missed a line when converting code to new hardware buffering method. In some circumstances, this would lead to a frame being displayed using parameters belonging to another frame. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-20ivtv: ivtv_yuv_prep_frame breakup and yuv hardware buffer changesHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> ivtv_yuv_prep_frame is split in smaller code blocks. Modified yuv buffer handling on the PVR350 itself. We now cycle through all 8 hardware buffers. With this patch in place, driver behaviour should remain unchanged from the existing release. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-17ivtvfb: Removal of the 'osd_compat' module option.Hans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> Due to changes in the core ivtv driver as of release 1.0, the osd_compat module option has been rendered obsolete. This patch removes the option and all code associated with it. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-16ivtv: ivtv yuv stream handling changeHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> Currently the yuv output stream buffer is divided into blocks whose size depend on the broadcast standard selected during the driver init phase. However, the standard can be changed after the init phase. This effectively breaks the yuv output stream handler, since it relies on the different yuv planes being block aligned. This patch changes the setup, so that the block size is always the same. The decoder dma function has been modified to cope with the fact that the second yuv plane may no longer be block aligned. The start of the yuv frame must still be at the beginning of a block, so the stream write function has also been modified to ensure this is always true. Also, the stream write function will now initiate a yuv dma transfer as soon as a full frame is ready. It will not wait until the current write request has completed, or the stream buffer becomes full. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-17backport commit 64a6f9500d8e8a8e1b1adc2120e56cc88df5727fMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Original description: Author: Al Viro <viro@ftp.linux.org.uk> Date: Sun Oct 14 19:35:30 2007 +0100 signedness: module_param_array nump argument ... should be unsigned int kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-15merge: http://www.linuxtv.org/hg/~hverkuil/ivtvMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-14ivtv: undo video mute when closing the radio.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-14ivtv: fix video mute when radio is usedHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> When the radio is active the video should be muted when a capture starts. However, this was done at the wrong time and the mute settings were overwritten when cx2341x_update was called. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>