summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
AgeCommit message (Collapse)Author
2007-11-20xc2028: add sleep hookChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add sleep method to enable putting the tuner into standby mode. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20xc2028: retry firmware load if tuner does not respondChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> In practice, the tuner occasionally fails to respond correctly after a firmware load. Retry the firmware load if the firmware/hardware version we read back from the tuner after programming does not match what we expect. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20xc2028: rework firmware (re)loading processChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Define a list of valid "firmware types" for each combination of BASE, DTV and SCODEs. By masking the appropriate firmware bits off we can just use one "type" for the firmware searching and also flag when we are looking for a BASE, DTV or SCODE type firmware. This makes it much easier to track if we need to change device modes or flash an individual firmware part. Add a structure to remember what firmware properties we have. This contains the currently loaded/wanted base firmware (type), video std (id), video std requested (std_req), scode file and number in use. Incorporate said structure into the tuner private data. When checking whether the current firmware needs to be reloaded, first figure out exactly what "type" of firmware we want (base, std and scode), and then proceed to load the appropriate matching base, std-specific and scode records iff there are any changes required. This removes guesswork from the process because we no longer need to individually code a check for every tuning parameter's interactions. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: allow selection of D2633 firmwareChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add a bit to select D2633 DTV firmware to struct xc2028_ctrl, so that it can be enabled via .set_config. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: use correct offset into scode firmwareChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> When validating and loading SCODE firmware we need to take into account the two-byte size header before each entry. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: use best match instead of first partial match during firmware selectionChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Rather than picking the first video standard firmware that supports any of the standards that the user has requested, try to select one that supports as many of them as possible. This improves the likelihood that the firmware we select will support the user's desired TV standard. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: don't duplicate max_len in privChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> There is no need to duplicate the max_len field from the ctrl structure in the private data. If we use it directly from priv->ctrl, we can memcpy the structure (apart from strings) to reduce maintenance as it grows. Enforce a minimum max_len length of 8 data bytes (+ 1 address byte) as seems to be required by the tuner. Also, use kstrdup instead of open coding the string duplication. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: correct tuner offset for 7MHz DTVChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> 7MHz bandwidth DVB-T needs an adjusted offset at the PLL to ensure the IF output is correctly centered. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: correctly select 8MHz firmwareChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> We were using priv->bandwidth to select the base firmware to load, not the requested bandwidth value, oops. Also, 7MHz Digital TV needs 8MHz base firmware loaded. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: correct divisor lengthChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> The frequency divisor should only be four bytes long. Also, display the frequency and divisor correctly in the debug output. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: firmware loading cleanupChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Hold the private lock over set_config and set priv->firm_size to 0 after a failed firmware load to prevent firmware accidentally being freed on us. Clean up the firmware load/error messages somewhat and rename priv->version to priv->firm_version to make it clear which "version" it is. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: add missing breakChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add break to stop us from following the default failure path even upon success. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: protect device listChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Protect refcount changes and modifications to xc2028_list with a mutex. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: v4l2_std_id needs to be long long to display completelyChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Cast v4l2_std_id variables to unsigned long long so they will printk properly. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: error messages missing whitespaceChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Fix some missing spaces in errors that may be emitted during attach failure. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: make register reads atomicChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Issuing register reads as a separate address write and data read transactions means that other I2C activity could occur in between and state could get out of sync. Issue both the write and read in a single transaction so that the i2c layer can prevent other users accessing the bus until we are complete. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: fix inverted logic in audio standard checkChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> strcasecmp returns 0 on match, not true. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: eliminate i2c macro side-effectsChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> The I2C macros have side effects and send_seq could cause a return from a function with a mutex held. Change them to behave like real functions. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-23Fix radio entry for MSI @nyware masterMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to Serge Kolotylo for his help Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-22bttv: Update initial image size when set via V4L1 VIDIOCMCAPTURETrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The V4L1 spec says that the image size should be with with VIDIOCSWIN before requesting buffers with VIDIOCGMBUF and capturing into them with VIDIOCMCAPTURE. But it seems that many apps don't do this. They set the size using the fields in the VIDIOCMCAPTURE ioctl. The driver doesn't know what size to capture until it actually starts to capture. In particular, it doesn't know what size to capture until it has already mmap the captured buffers. Which is quite stupid. Why V4L1 has size and format fields for VIDIOCMCAPTURE I have no idea. Many drivers don't support this, including those using v4l1-compat. The bttv does, which is probably the only reason such broken software is so prevalent. But, the driver doesn't adjust its idea of what size is being captured when it is set this way. If you try to query the driver's current setting with v4l2-ctl, it won't be correct. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-22bttv: SPICT ioctl doesn't work with vlcTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The bttv driver instists that the depth specified in the call to VIDIOCSPICT match the pixel format specified in the same call. vlc doesn't set the depth field, which makes the SPICT ioctl always fail. The V4L1 standard is not clear on how most operation are supposed to work, and this is no exception. The depth field would appear to be entirely redundant, as the pixel format specifies a specific depth. It could be that this field was only meant for output from the *G*PICT ioctl and should be ignored in *S*PICT. This is in fact what the v4l1-compat wrapper does. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-19Add support for changing TEA5767_PLLREF_ENABLE via configMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-19From: Mauro Carvalho Chehab <mchehab@infradead.org>Mauro Carvalho Chehab
Add preliminary support for radio on CX88_BOARD_MSI_TVANYWHERE_MASTER Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-18Adds the capability of configuring tea5767 supportMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> tea5767 has several possible configurations. Before the patch, the driver were assuming the more common configuration. However, some newer cards, like MSI @nyware Master requires other configurations, like de-activating a gpio port and changing chip Xtal. This patch adds the capability of altering device configuration at runtime. This may also be used later to activate some features like auto-mute when signal is weak. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-18Replace TDA9887_SET_CONFIG by TUNER_SET_CONFIGMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Currently, the only tuner-specific device that allows special configurations is tda9887. However, tea5767 also may require some special configurations (for example, to specify a different Xtal freq). This patch replaces TDA9887_SET_CONFIG by a more generic internal ioctl (TUNER_SET_CONFIG). The newer one allows specifying what tuner is appliable to a configuration set, and allows an arbitrary configuration struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-18saa7134: fix NULL dereference at suspend time for cards without IR receiverMauro Carvalho Chehab
Calling saa7134_ir_stop at suspend is no good idea for saa7134 cards without remote control. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-18merge: http://www.linuxtv.org/hg/~hverkuil/ivtv-compatMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-18 patch which improves GotView Saa7135 remote controlMauro Carvalho Chehab
From: Pedro <roginovicci@nm.ru> improve GoTView PCI7135 remote control working under linux. Acked-by: Hermann Pitton <hermann-pitton@arcor.de> Acked-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru> Signed-off-by: Eugene M. Roginskii <roginovicci@nm.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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-17backport commit 7eff2e7a8b65c25920207324e56611150eb1cd9aMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Original Description: Author: Kay Sievers <kay.sievers@vrfy.org> Date: Tue Aug 14 15:15:12 2007 +0200 Driver core: change add_uevent_var to use a struct This changes the uevent buffer functions to use a struct instead of a long list of parameters. It does no longer require the caller to do the proper buffer termination and size accounting, which is currently wrong in some places. It fixes a known bug where parts of the uevent environment are overwritten because of wrong index calculations. Many thanks to Mathieu Desnoyers for finding bugs and improving the error handling. CC: Mike Isely <isely@isely.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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-17backport changeset 13bcd5d0e21e3ca726965371ada8ff6c64af288fMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Original description: Author: Al Viro <viro@ftp.linux.org.uk> Date: Sat Oct 13 08:25:24 2007 +0100 v4l: copy_to_user() is not a good method name Breaks on any target that has copy_to_user() defined as a non-trivial macro. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-17backport changeset c1017a4cdb68ae5368fbc9ee42c77f1f5dca8916Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Original description: Author: Jaroslav Kysela <perex@perex.cz> Date: Mon Oct 15 09:50:19 2007 +0200 [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-17backport changeset 3be27d37c257fa5f99363f9c8e06e405cbad712eMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Original description: i2c: Remove NOP i2c_algorithm.algo_control() methods This removes NOP implementations of i2c_algorithm.algo_control. With this change, there are no implementations of this hook in the kernel.org tree ... that hook seems about ripe to remove. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-14pvrusb2: Fix broken build for 2.6.18 kernelMike Isely
From: Mike Isely <isely@pobox.com> Earlier changes to move away from use of struct class_device introduced breakage for kernels older than 2.6.19. This change at least allows it to build again for 2.6.18. Still unclear about older kernels, unfortunately :-( Signed-off-by: Mike Isely <isely@pobox.com>
2007-10-14pvrusb2: Improve encoder chip health trackingMike Isely
From: Mike Isely <isely@pobox.com> This is a minor change to help with tracking the viability of the encoder chip within the PVR USB2 device. Signed-off-by: Mike Isely <isely@pobox.com>
2007-10-16partially revert changeset a6db576db177Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Accidentally, VIRT_TO_BUS were removed by a previous changeset. Reverting it. This patch should be merged with changeset 6320:a6db576db177 at -git. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-15ir-kbd-i2c: Missing break statementTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Someone added a new case without adding a break to the one before it. Thanks to Margus <b-berski at mbox200 dot swipnet dot se> for spotting this. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-15 V4L: possible leak in em28xx_init_isocMauro Carvalho Chehab
From: Florin Malita <fmalita@gmail.com> Coverity (CID 1929) spotted the following: if a transfer buffer allocation fails, the last allocated urb is leaked (it hasn't been stored in dev->urb[] yet so em28xx_uninit_isoc misses it). The patch also includes a small typo fix. Signed-off-by: Florin Malita <fmalita@gmail.com> 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-15merge http://linuxtv.org/hg/~tap/v4l-dvbMauro 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>
2007-10-14ivtvfb: YUV output size fix when ivtvfb is not loaded.Hans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> If the ivtvfb module isn't loaded, the valid YUV output area should be set to full-screen. This patch fixes the case where the valid output area was not reset when the output broadcast format was changed from NTSC to PAL. This resulted in output being limited to the top 480 lines of the display. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-14ivtvfb: YUV handling of an image which is not visible in the display area.Hans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> When the ivtvfb module is loaded, the YUV output is relative to the framebuffer output. When a virtual screen size is used, the output area for the YUV may actually be off screen. To prevent the hardware from crashing, the current driver will ignore an off-screen position and leave the output visible at the last on-screen position. This may not be desirable, so this patch will switch off the YUV output should the image move off-screen, and re-enable it should the image move on-screen again. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-14ivtvfb: check return value of unregister_framebuffer.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Prevent unloading the framebuffer if it is still in use. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-13ivtv: fix circular locking (bug 9037)Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> If you try to access the video device from within an udev rule, then you get into a circular locking situation. Changed the driver to postpone the registration of the devices until everything else has been fully initialized, so that the newly created device can be used immediately. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-13 V4L: saa7134: Fix interaction between tvaudio thread and the freezerMauro Carvalho Chehab
From: Maxim Levitsky <maximlevitsky@gmail.com> make tvaudio thread freezeable, and add proper support for that Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-12ivtv: fix resizing MPEG1 streamsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Resizing an MPEG 1 stream would cut off the right half of the image due to a missing divide by 2 in VIDIOC_S_FMT. Also did some minor cleanup in this part of the code. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-12ivtvfb: screen mode change sometimes goes wrong.Hans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> This patch partially reverts a previous change that caused the CX2341X_OSD_SET_PIXEL_FORMAT firmware calls to be skipped when the pixel format of the framebuffer wasn't altered by FBIOPUT_VSCREENINFO. Unfortunately, another firmware call on the PVR350 sometimes scrambles the display when trying to adjust the framebuffer settings. This patch re-enables the CX2341X_OSD_SET_PIXEL_FORMAT calls to try and prevent this from occurring. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>