summaryrefslogtreecommitdiff
path: root/linux/drivers
AgeCommit message (Collapse)Author
2007-10-30ivtv: add ASUS Falcon2 supportHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-30m52790: add new Mitsubishi A/V switch i2c driverHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> This driver is used by the ASUS Falcon2 cx23416-based cards. 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-29 bttv: uses input functions, should depend on INPUTMauro Carvalho Chehab
From: Randy Dunlap <randy.dunlap@oracle.com> Several media drivers use input_(*) functions so they need to depend on the INPUT config symbol. drivers/built-in.o: In function `bttv_input_fini': linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:346: undefined reference to `input_unregister_device' drivers/built-in.o: In function `bttv_input_init': linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:204: undefined reference to `input_allocate_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:335: undefined reference to `input_free_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:321: undefined reference to `input_register_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:335: undefined reference to `input_free_device' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-29 use input functions, should depend on INPUTMauro Carvalho Chehab
From: Randy Dunlap <randy.dunlap@oracle.com> All of these drivers select VIDEO_IR, which uses the input subsystem, so they should also depend on INPUT. Problem examples: drivers/built-in.o: In function `ir_input_key_event': ir-functions.c:(.text+0x10849a): undefined reference to `input_event' ir-functions.c:(.text+0x1084ac): undefined reference to `input_event' drivers/built-in.o: In function `saa7134_set_i2c_ir': (.text+0x11cc0a): undefined reference to `get_key_pinnacle_color' drivers/built-in.o: In function `saa7134_set_i2c_ir': (.text+0x11cc4f): undefined reference to `get_key_pinnacle_grey' drivers/built-in.o: In function `saa7134_input_fini': (.text+0x11cd8b): undefined reference to `input_unregister_device' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11d1fa): undefined reference to `input_allocate_device' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11d317): undefined reference to `input_register_device' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11d6ca): undefined reference to `input_free_device' drivers/built-in.o: In function `saa7134_set_i2c_ir': (.text+0x11c3f3): undefined reference to `ir_codes_hauppauge_new' drivers/built-in.o: In function `saa7134_set_i2c_ir': (.text+0x11c450): undefined reference to `ir_codes_pinnacle_color' drivers/built-in.o: In function `saa7134_set_i2c_ir': (.text+0x11c480): undefined reference to `ir_codes_purpletv' drivers/built-in.o: In function `saa7134_set_i2c_ir': (.text+0x11c495): undefined reference to `ir_codes_pinnacle_grey' drivers/built-in.o: In function `saa7134_ir_start': (.text+0x11c622): undefined reference to `ir_rc5_timer_end' drivers/built-in.o: In function `saa7134_ir_start': (.text+0x11c637): undefined reference to `ir_rc5_timer_keyup' drivers/built-in.o: In function `build_key': saa7134-input.c:(.text+0x11c769): undefined reference to `ir_extract_bits' saa7134-input.c:(.text+0x11c7ad): undefined reference to `ir_input_keydown' saa7134-input.c:(.text+0x11c7f0): undefined reference to `ir_input_keydown' saa7134-input.c:(.text+0x11c7f9): undefined reference to `ir_input_nokey' saa7134-input.c:(.text+0x11c806): undefined reference to `ir_input_nokey' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11ca07): undefined reference to `ir_codes_encore_enltv' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11caf6): undefined reference to `ir_input_init' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cbf2): undefined reference to `ir_codes_avermedia' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cc24): undefined reference to `ir_codes_pctv_sedna' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cc53): undefined reference to `ir_codes_flydvb' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cc85): undefined reference to `ir_codes_videomate_tv_pvr' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11ccb7): undefined reference to `ir_codes_pixelview' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cce9): undefined reference to `ir_codes_eztv' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cd1b): undefined reference to `ir_codes_manli' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cda8): undefined reference to `ir_codes_cinergy' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cdd7): undefined reference to `ir_codes_flyvideo' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11ce06): undefined reference to `ir_codes_asus_pc39' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11ce7d): undefined reference to `ir_codes_gotview7135' drivers/built-in.o: In function `saa7134_input_init1': (.text+0x11cee1): undefined reference to `ir_codes_proteus_2309' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-29 ir-functions use input functions, should depend on INPUTMauro Carvalho Chehab
From: Randy Dunlap <randy.dunlap@oracle.com> Media ir-functions uses input_(*) functions so it should depend on the INPUT config symbol. drivers/built-in.o: In function `ir_input_key_event': ir-functions.c:(.text+0x10849a): undefined reference to `input_event' ir-functions.c:(.text+0x1084ac): undefined reference to `input_event' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-30Properly fill MODULE_AUTHORMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Most of the driver were written by Mauro Carvalho Chehab. DTV parts were added by Michel Ludwig. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-30Add support for analog tv on HVR-950Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch adds USB ID for HVR-950. It also adds the callback for handling firmware loading. Thanks to Markus Reichberger for the reset commands. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-29Fix some troubles at list handlingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> - priv->count were wrong. Should be incremented since the first usage; - forgot to use list_del() to remove the driver; - Release memory if an error occurs during _attach Thanks to Aidan Thornton <makosoft@googlemail.com> for pointing this. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-29Add support for tuner-xc2028Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/em28xx/em28xx-cards.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
2007-10-29Prevents double tuner registeringMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/tuner-core.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)
2007-10-29Re-inserts xc2028 attach code, fixing its parametersMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> I2C bus redesign changed i2c parameters. This patch re-adds tuner xc2028 attach function, replacing the parameters to the newer syntax. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/tuner-core.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
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-29zr364: make file_operations constDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> zr364: make file_operations const Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2007-10-28radio-gemtek: make file_operations constDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> make file_operations const Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2007-10-28pvrusb2: Remove dead sysfs codeMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver's sysfs implementation had long since implemented a dummy hotplug function because at the time the kernel would oops without at least the empty function being present. Today - after numerous class interface changes in the kernel - this pvrusb2 change had been dutifully carried forward but an inspection of the kernel sources shows that it is no longer needed. So remove the dummy function and its reference. This also solves a recurring backwards compatibility issue in the pvrusb2 driver as the class interface has been getting thrashed in the kernel. Signed-off-by: Mike Isely <isely@pobox.com>
2007-10-28pvrusb2: Fix associativity logic errorMike Isely
From: Roel Kluin <12o3l@tiscali.nl> if(!x & y) should either be if(!(x & y)) or if(!x && y) I made changes as seemed appropriate, but please review this is against current git. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mike Isely <isely@pobox.com>
2007-10-26 saa7134: fix analog audio in on medion md8800 quadroMauro Carvalho Chehab
From: hermann pitton <hermann-pitton@arcor.de> saa7134: fix analog audio in on medion md8800 quadro, aka CTX944 Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-26merge: http://linuxtv.org/hg/~mkrufky/dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-26merge: http://linuxtv.org/hg/~tmerle/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-24usbvision: Convert the usbvision->lock semaphore to the mutex APIThierry MERLE
From: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Convert the usbvision->lock semaphore to the mutex API Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Reviewed-by: Thierry MERLE <thierry.merle@free.fr>
2007-10-24 saa7134/: make 2 functions staticMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> saa7134_buffer_requeue() and set_tvnorm() can become static. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-23 cafe_ccic: Add a pointer to the data sheetMauro Carvalho Chehab
From: Jonathan Corbet <corbet@lwn.net> Add a pointer to the (recently posted) Cafe data sheet. Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-23 Fix a cafe_ccic resume bugMauro Carvalho Chehab
From: Jonathan Corbet <corbet@lwn.net> If the system is suspended while the camera is streaming, it will not continue streaming on resume. Save the state properly so that resume works. Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-26merge: 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-23 V4L: saa7134: tvaudio cleanupsMauro Carvalho Chehab
From: Maxim Levitsky <maximlevitsky@gmail.com> move some tv-audio initialization code out of tvaudio thread, and call it on resume too. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-04 Add few missing bits of code to saa7134_resumeMauro Carvalho Chehab
From: Maxim Levitsky <maximlevitsky@gmail.com> First the saa7134_initdev waits between saa7134_hwinit1 and saa7134_hwinit2 , thus it is probably wise to do the same in saa7134_resume some hardware probably needs this. Call saa7134_irq_video_signalchange in .resume like in saa7134_resume to make saa7134_resume mirror perfectly the saa7134_initdev although this call isn't strictly necessary in the saa7134_initdev, but it won't harm anyway. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-05 Fix theoretical races between IRQ handler and .suspend/resumeMauro Carvalho Chehab
From: Maxim Levitsky <maximlevitsky@gmail.com> *dev->insuspend = 1 should be set before synchronize_irq *ACK interrupts after synchronize_irq, to make sure there aren't pending interrupts. *Add barrier before we restart interrupts so the handler will 100% see the dev->insuspend Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-04 Fix access to configuration space while in D3Mauro Carvalho Chehab
From: Maxim Levitsky <maximlevitsky@gmail.com> pci_save_state should be called before pci_set_power_state and pci_restore_state after pci_set_power_state Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-23saa7134-alsa: fix period handlingMauro Carvalho Chehab
From: Heikki Lindholm <holindho@cs.helsinki.fi> The period handling in saa7134-alsa is broken in two ways. First, the minimum number of periods of two does not work, because the dma is setup two periods ahead in the irq handler. Fix the minimum to four periods. Second, the code assumes that the number of periods is divisible by two, which isn't always the case on ALSA. Fix by adding a constraint. Signed-off-by: Heikki Lindholm <holindho@cs.helsinki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-23Fix CodingStyleMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> thanks to checkpatch.pl Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-22Fix standard selection for PALMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Not all 8MHz firmware are marked with F8MHz. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/tuner-xc2028.c | 3 +++ 1 file changed, 3 insertions(+)
2007-11-22Remove firmware reload hack for analogMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> On some cases, xc2028/xc3028 wents into "turn off" mode. It seems that this happens when very weak signals are tuned. To solve this, specific standard reaload were done previously. Christopher patches changed this behavior to a complete firmware reload. This patch removes the hack. A much cleaner solution for this trouble is just to sent a xc2028/3028 software reset. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/tuner-xc2028.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
2007-11-22Allow fully configuring xc3028 during xc2028_attachMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> xc3028 can be used on some DTV only designs (for example, DVB-S boards). Before this patch, a DTV only board would need to call set_tuner_config callback. This patch allows to optionally pass a xc3028_ctrl parameter, via xc3028_config struct, fully initializing the driver for DTV. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/tuner-xc2028.c | 5 ++++- linux/drivers/media/video/tuner-xc2028.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-)
2007-11-22Convert MTS to bitfieldMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Xc2028.3028 has two type of firmwares: audio-standard specific ones and baseband MTS firmwares. MTS firmwares provide stereo decoding for 6 MHz BTSC/EIAJ and for monoaural audio decoding on 8 MHz firmwares. It seems that the option to use MTS or a standard-specific audio decoding depends on the way xc2028/3028 is connected. Instead of wasting 32 (or 64 bits) to signalize if the driver needs to use MTS firmware, this patch converts it to a bitfield that can be shared with other proprieties of xc2028/3028. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-23Sets a default std, if not specifiedMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Some drivers call set_frequency before selecting the video standard. Before this patch, an invalid standard ID could be assumed. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/tuner-xc2028.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
2007-11-22Fix standard selection for PAL/M, PAL/N, PAL/Nc and NTSCMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Those standards use 6 MHz firmware. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20zl10353: store frequencies in 0.1kHz to eliminate rounding errorsChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Whilst reanalysing my formulas I realised it was no longer possible to get the right values for a 36.1667MHz IF due to rounding problems. Storing frequencies in units of 0.1kHz makes it possible to calculate these again correctly. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20Add support for MT352-based DViCO FusionHDTV DVB-T NANO devicesChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> There are at least three variants of the DViCO FusionHDTV DVB-T NANO that share the same USB device ID. The first (ZL10353 w/ firmware in ROM) is already supported; the latter two both require firmware and have either an MT352 or ZL10353 demodulator, and have a different IR receiver from the first. This introduces a new identify_state that can tell the difference between a "warm" device which is running the embedded firmware, and a "cold" device that needs us to upload firmware to it before it will work. We patch the uploaded device ID (like we do for other bluebird devices) to make it easy to identify the particular device variant when it reattaches. NB: These devices use a different firmware file from previous bluebird devices. You need a new firmware file to make this work. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20mt352: support oversampled IF inputChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Rework the input frequency calculation so that it produces the right values when the ADC oversamples the IF input. This means MT352 devices can now process a near-zero IF (according to the, specs 4.57MHz is supported with the default crystal). Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20Add support for the DViCO FusionHDTV NANO2 w/ZL10353 and firmwareChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add support for the DViCO FusionHDTV DVB-T NANO with zl10353 demodulator and firmware in ROM on the device. Again, this is based on the great work of Mike Krufky with my modifications to use the in-tree XC2028 driver. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20xc2028: try non-8MHZ init1 firmwareChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> When loading init1 firmware, there may not be an 8MHz specific version. Load the non-8MHz version if it exists. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20xc2028: mask off type correctly when searching for standard-specific typesChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> When searching for standard-specific analog firmware, only certain type bits are valid, much like for DTV. Mask them off when finding the firmware to load. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20xc2028: base firmwares should have std0Chris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> When loading BASE firmware, we must use std = 0. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20Add support for the DViCO FusionHDTV Dual Digital 4.Chris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add support for DViCO's Dual Digital 4 with xc3028 tuner, zl10353 DVB-T demodulator and a new-style I2C IR remote control receiver. This would not have been possible without the work of and advice from Mike Krufky, who originally got the Dual Digital 4 and second-gen DVB-T NANO devices working with the out-of-tree XC3028 driver. I converted it to use the in-tree XC3028 driver (after making it suitable for our use), and added the IR remote control support based on his advice. NB: a firmware package is required to use this device. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>