summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-10-21[media] MSI DIGIVOX mini III remote controller keytableAntti Palosaari
MSI DIGIVOX mini III remote controller. Uses NEC extended 0x61d6. This remote seems to be same as rc-kworld-315u.c. Anyhow, add new remote since rc-kworld-315u.c lacks NEC extended address byte. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] TerraTec remote controller keytableAntti Palosaari
TerraTec slim remote, 7 rows, 4 columns. Uses NEC extended 0x02bd. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9015: remove needless variable setAntti Palosaari
Variable is don't care in that case. No need to set value. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9015: make checkpatch.pl happyAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] v4l/dvb: add support for AVerMedia AVerTV Red HD+ (A850T)Yann E. MORIN
The AVerTV Red HD+ (A850T) is basically the same as the existing AVerTV Volar Black HD (A850), but is specific to the french market. The A850T identifies itself as a A850, but has its own PID. It even suffers from the same EEPROM deficiencies. This is based off a collection of information gathered from the french support forums for Ubuntu, which I tried to properly format into this patch: http://forum.ubuntu-fr.org/viewtopic.php?pid=3322825 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9013: cache some reg values to reduce reg readsAntti Palosaari
Demod + tuner specific RF AGC and IF AGC limit values are read from demod memory in every signal strength query. Cache those to reduce I2C traffic. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9013: optimize code sizeAntti Palosaari
Precalculate coefficients register values. This reduces text size around 300 bytes. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] V4L-DVB: tm6000: Move VBI init to a separate functionMauro Carvalho Chehab
While here, documment that VBI may need changes, based on video STD, and do some cleanup at device init, to be sure that VBI init will happen all the times, and to remove a duplicated video standard call. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] tm6000: Improve audio standards handling and add SECAM-DKDmitry Belimov
Rework audio. Add SECAM-DK, move SECAM to SECAM-B | SECAM-G. Add some new audio standards and tricks for future, see tm6000_set_audio_std. For SECAM-DK it works. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] tm6000: add audio standards tableMauro Carvalho Chehab
The better is to remove the audio init from tm6000-core and add a separate per-standard set of tables. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] em28xx-audio: fix some locking issuesMauro Carvalho Chehab
Those locking issues affect tvtime, causing a kernel oops/panic, due to a race condition. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: use core-assisted lockMauro Carvalho Chehab
Instead of doing its own lock, use core-assisted one. As a bonus, it will do the proper unlock during queue wait events. This fixes a long-standing bug where softwares like tvtime would hang if you try to use cx231xx-alsa. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Colibri carrier offset was wrong for PAL/MMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: remove some unused functionsMauro Carvalho Chehab
This file came originally from cx23885 driver. Some functions aren't used. Now that they are declared as static, we have those errors: drivers/media/video/cx231xx/cx231xx-417.c:615: warning: ‘mc417_gpio_set’ defined but not used drivers/media/video/cx231xx/cx231xx-417.c:625: warning: ‘mc417_gpio_clear’ defined but not used drivers/media/video/cx231xx/cx231xx-417.c:635: warning: ‘mc417_gpio_enable’ defined but not used As they're not used, just remove them. If needed, they can be restored from the git logs or from the cx23885 driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: declare static functions as suchMauro Carvalho Chehab
drivers/media/video/cx23885/built-in.o: In function `mc417_memory_write': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:482: multiple definition of `mc417_memory_write' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:477: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_gpio_set': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:636: multiple definition of `mc417_gpio_set' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:615: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_gpio_enable': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:656: multiple definition of `mc417_gpio_enable' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:635: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_memory_read': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:546: multiple definition of `mc417_memory_read' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:541: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_gpio_clear': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:646: multiple definition of `mc417_gpio_clear' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:625: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_register_read': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:388: multiple definition of `mc417_register_read' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:401: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_register_write': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:324: multiple definition of `mc417_register_write' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:343: first defined here Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx-417: Fix a gcc warningMauro Carvalho Chehab
gcc didn't like to have i++ inside a complex operation: drivers/media/video/cx231xx/cx231xx-417.c: In function ‘cx231xx_load_firmware’: drivers/media/video/cx231xx/cx231xx-417.c:1059: warning: operation on ‘i’ may be undefined drivers/media/video/cx231xx/cx231xx-417.c:1061: warning: operation on ‘i’ may be undefined drivers/media/video/cx231xx/cx231xx-417.c:1063: warning: operation on ‘i’ may be undefined Btw, I agree with gcc, as we're using i and i++ at the same operation and, depending on how optimization may occur, it may produce a wrong code. While here, fix CodingStyle issues on the changed code. Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] CodingStyle cleanup at s5h1432 and cx231xxMauro Carvalho Chehab
The patches received from the vendor contained a lot of CodingStyle issues. Cleans the style issues reported by checkpatch.pl on those drivers. It is better to do such style fixes when merging a big set of changes than latter. Of course, the better is to receive patches already cleaned ;) Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx-audio: fix some locking issuesMauro Carvalho Chehab
Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] tda18271: allow restricting max out to 4 bytesMauro Carvalho Chehab
By default, tda18271 tries to optimize I2C bus by updating all registers at the same time. Unfortunately, some devices doesn't support it. The current logic has a problem when small_i2c is equal to 8, since there are some transfers using 11 + 1 bytes. Fix the problem by enforcing the max size at the right place, and allows reducing it to max = 3 + 1. Acked-by: Michael Krufky <mkrufky@kernellabs.com> Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Only change gpio direction when neededMauro Carvalho Chehab
Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: better handle the master port enable commandMauro Carvalho Chehab
Improves the logic, for it to be clearer and to avoid having board-dependent config there. Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: properly use the right tuner i2c addressMauro Carvalho Chehab
The driver has a field to indicate what bus is used by tuner and by demod. However, this field were never used. On Pixelview, it uses I2C 2 for tuner, instead of I2C 1. drivers/media/video/cx231xx/cx231xx-cards.c Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: properly implement URB control messages logMauro Carvalho Chehab
This allows usage of a tool at v4l-utils tree to parse URB messages and display them to userspace. The tool is available at: http://git.linuxtv.org/v4l-utils.git?a=blob;f=contrib/cx231xx/parse_cx231xx.pl;hb=HEAD Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: fix Kconfig dependenciesMauro Carvalho Chehab
ERROR: "cx2341x_mpeg_ctrls" [drivers/media/video/cx231xx/cx231xx.ko] undefined! ERROR: "cx2341x_fill_defaults" [drivers/media/video/cx231xx/cx231xx.ko] undefined! ERROR: "cx2341x_log_status" [drivers/media/video/cx231xx/cx231xx.ko] undefined! ERROR: "cx2341x_ctrl_get_menu" [drivers/media/video/cx231xx/cx231xx.ko] undefined! ERROR: "cx2341x_update" [drivers/media/video/cx231xx/cx231xx.ko] undefined! ERROR: "cx2341x_ctrl_query" [drivers/media/video/cx231xx/cx231xx.ko] undefined! ERROR: "cx2341x_ext_ctrls" [drivers/media/video/cx231xx/cx231xx.ko] undefined! Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: remove a printk warning at -avcore and at -417Mauro Carvalho Chehab
drivers/media/video/cx231xx/cx231xx-avcore.c:1608: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’ drivers/media/video/cx231xx/cx231xx-417.c:1047: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Fix vblank/vactive line counts for PAL/SECAMDevin Heitmueller
Adjust the vblank and vactive counts so that they don't throw an error in cx25840's set_std call (we did an equivalent change for NTSC when we got the scaler working). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: properly set active line count for PAL/SECAMDevin Heitmueller
The cx231xx_do_mode_ctrl_overrides() function was not touching the vactive line count for PAL/SECAM modes, which in some use cases results in it being left in the chip default state of 480 (NTSC). Explicitly set the values, as is already done for NTSC. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: whitespace cleanupDevin Heitmueller
Fix some indentation problems and remove an "if (1)" from the Colibri setup function. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: remove board specific check for Colibri configurationDevin Heitmueller
The cx231xx_set_Colibri_For_LowIF() function is only ever called if the tuner has a DIF (see vidioc_s_frequency() in cx231xx-video.c). Hence, we do not need to do a board specific check in this function. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Make the DIF configuration based on the tuner not the board idDevin Heitmueller
The current code was deciding whether a DIF was present based on the board profile. However, this is just another thing for someone to get wrong when adding new boards. Make the decision based on the tuner instead, so that a developer adding new boards only needs to specify which tuner the device has. Of course, the first time somebody adds a board with a tuner other than xc5000 or tda18271, he/she will need to add another line for that tuner. But we provide a friendly message in dmesg to let them know that. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: remove i2c ir stubsDevin Heitmueller
Nobody is ever going to implement an i2c based IR controller on a bridge that has an onboard universal IR receiver. This stuff was all copied from em28xx, which has old enough versions of the chip that some didn't have onboard IR. Remove the stubs related to i2c based IR (keeping the cx231xx-input code). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: move printk() line related to 417 initializationDevin Heitmueller
Move a printk() message which refers to enabling the cx23417 so that it only shows up on a board that has the cx23417. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: fixup video grabber board profileDevin Heitmueller
The video grabber reference design (Veyron) does not have a tuner input, so do not have it defined in the board profile. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: make output mode configurable via the board profileDevin Heitmueller
Extend the board profile structure to allow configuration of the output mode. Right now they are all doing VIP 1.1 format, but we have a board that needs ITU656 format (which hasn't been checked in yet). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Add initial support for Hauppauge USB-Live2Devin Heitmueller
Add initial support for the Hauppauge USBLive 2 (2040:c200). Note that I had to copy a bunch of the case statements used for the Conexant video grabber reference design (which also doesn't have a tuner). This will likely need to be refactored out into the board profile. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: set correct i2c port for Exeter tunerDevin Heitmueller
The tuner is on i2c port 3 just like all the reference designs. Having it improperly set to port #1 causes the tuner initialization to fail when enabling the device. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: set standard tune to last known frequency when switching inputsDevin Heitmueller
If switching to a tuner input, reset the standard and tune to the last known frequency. We need to do this in particular for this bridge since the tuner gets powered down when captuing on the composite or s-video inputs. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Remove hack which puts device into bulk modeDevin Heitmueller
Remove a hack which was jammed into s_input to force the device into bulk mode at runtime (an abuse of the API). If this sort of functionality is actually needed (aside from the existing "transfer_mode" modprobe variable), a patch can be submitted which makes use of a private control. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Set the power mode instead of using the digital mux GPIOsDevin Heitmueller
The Exeter hardware design does not use GPIOs to manage whether its in digital mode or analog mode, but we need to setup the power control properly. For that board, setup power control and remove the mux select call. It is highly likely that this change could be used by other boards as well, which would make power management cleaner (fixing known issues transitioning between analog and digital mode). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: do not call video_mux as part of isoc setupDevin Heitmueller
You cannot call the video_mux routine from within the isoc setup, because that code is shared with the digital isoc handler. This was causing the GPIOs and power control to be put into the wrong state when starting up digital mode. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Clear avmode bits before settingDevin Heitmueller
We need to clear out the field before setting individual bits, or else we end up with a union of whatever was there and what we are trying to set. For example, switching to digital mode ends up being 0x30 instead of 0x10 if we were previously in analog tv mode. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: make video scaler work properlyDevin Heitmueller
Move the responsibility for setting up the horizontal and vertical scalers entirely to the cx25840 driver. The cx231xx-avcore was actually programming garbage into the HSCALE_CTRL and VSCALE_CTRL registers (because of differences in how the em28xx driver worked, which the cx231xx driver was derived from). The net effect is that the scaler now works properly (tested with both PAL and NTSC under mplayer and tvtime). This patch also gets rid of cx25840 errors showing up in dmesg which say "720x480 is not a valid size" (since we now properly setup the size of the active video area). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: reduce log severity for some debug eventsDevin Heitmueller
Change the log level from info to debug for some log events that occur frequently and should never need to be seen in normal operation. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: remove board specific initializationDevin Heitmueller
There is no need for a switch statement here. Use the contents of the board profile to dictate the tuner driver and i2c address. Eventually if a board ever comes around which has a different i2c bus than #1, well that should be a field in the board profile as well. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Ensure VBI fields are sent in the correct orderDevin Heitmueller
The current code was sending one videobuf per field (despite having specified V4L2_FIELD_SEQ_TB during setup). As a result, application which used the read() interface would work, except they would sometimes have the fields reversed (depending on the luck of which field the device was on when the application started VBI capture). The net effect was that CC decoding would only work about 50% of the time. Restructure the VBI code a bit so that works like all the other drivers, such that both fields are delivered in a single videobuf buffer, which ensures that they are always received in a predictable order. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Fix VBI parameters for sampling rate and offsetDevin Heitmueller
The VBI sampling rate and offset were incorrectly specified, which resulted in CC data not being rendered under zvbi or tvtime. Set the fields correctly. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: fix format string warningDevin Heitmueller
Change a %x to a %p since the variable is a pointer Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx-dvb: remove unused variableDevin Heitmueller
Get rid of warning about unused variable Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] s5h1432: fix codingstyle issuesDevin Heitmueller
Run Lindent and fix a few spacing issues. This patch makes no functional change to the driver. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] Use smaller i2c transaction size with 18271 tunerDevin Heitmueller
Configure the tda18271 to use a smaller transaction size by default, which works around some sort of i2c bug in the Polaris driver (which needs to be debugged). This should be safe for other boards (being in tuner-core means it will be enabled by default), although testing needs to be done. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>