summaryrefslogtreecommitdiff
path: root/drivers/media/dvb-frontends
AgeCommit message (Collapse)AuthorFilesLines
2014-12-04[media] stv090x: add an extra protetion against buffer overflowMauro Carvalho Chehab1-0/+6
As pointed by smatch: drivers/media/dvb-frontends/stv090x.c:2787 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 drivers/media/dvb-frontends/stv090x.c:2789 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 drivers/media/dvb-frontends/stv090x.c:2791 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 drivers/media/dvb-frontends/stv090x.c:2793 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 drivers/media/dvb-frontends/stv090x.c:2795 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 The situation of a buffer overflow won't happen, in practice, with the current values of car_loop table. Yet, the entire logic that checks for those registration values is too complex. So, better to add an explicit check, just in case someone changes the car_loop tables causing a buffer overflow by mistake. This also helps to remove several smatch warnings, with is good. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] stv090x: Remove an unreachable codeMauro Carvalho Chehab1-4/+0
if STV090x_RANGEOK is not returned, then STV090x_OUTOFRANGE is returned. However, that part of the code is never reached, as pointed by smatch: drivers/media/dvb-frontends/stv090x.c:2673 stv090x_get_sig_params() info: ignoring unreachable code. So, remove the two uneeded elses, with makes the code a little bit cleaner. No functional changes, and one less smatch warning. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] stv090x: Some whitespace cleanupsMauro Carvalho Chehab1-16/+16
While writing changeset fdf1bc9fa2cf, I noticed some checkpatch complains about the CodingStyle for function parameters. So, clean them. While here, also removes uneeded "extern" from function prototype. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] si2168: add support for firmware files in new formatOlli Salonen1-14/+32
This patch adds support for new type of firmware versions of Si2168 chip. Old type: n x 8 bytes (all data, first byte seems to be 04 or 05) New type: n x 17 bytes (1 byte indicates len and max 16 bytes data) New version of TechnoTrend CT2-4400 drivers (http://www.tt-downloads.de/bda-treiber_4.3.0.0.zip) contains newer firmware for Si2168-B40 that is in the new format. It can be extracted with the following command: dd if=ttTVStick4400_64.sys ibs=1 skip=323872 count=6919 of=dvb-demod-si2168-b40-01.fw Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] si2168: debug printout for firmware versionOlli Salonen1-0/+11
A debug printout for firmware version. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] cx24117: Grammar s/if ... if/if ... is/Geert Uytterhoeven1-1/+1
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] stv090x: remove export symbol for stv090x_set_gpio()Mauro Carvalho Chehab2-15/+10
Drivers that use dvb_attach can have just one exported symbol, or they will cause compilation breakages depending on the selected frontends. As Jim reported: drivers/built-in.o: In function `technisat_usb2_set_voltage': technisat-usb2.c:(.text+0x3b4919): undefined reference to `stv090x_set_gpio' make: *** [vmlinux] Error 1 That happens because, on his configuration, the configuration is: CONFIG_DVB_USB=y CONFIG_DVB_STV090x=m Luis proposed ar way to fix, but that would just force the STV090x to be selected, even if one wants to use a device with a different frontend. Instead, let's do the right thing: move set_gpio to the configuration structure and fill it during dvb_attach(). This way, the driver can still call it, and dvb_attach() will load stv090x module only if the device really needs it. Reported by: Jim Davis <jim.epost@gmail.com> Cc: Luis Rodriguez <mcgrof@suse.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] rtl2832_sdr: control ADCAntti Palosaari1-0/+8
Recent rtl28xxu patch I made moved demod ADC enable from power control to frontend control (due to slave demod support). Because of that we need call USB interface frontend control too in order to enable ADC. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-25[media] si2168: One function call less in si2168_init() after error detectionMarkus Elfring1-4/+5
GIT_AUTHOR_DATE=1416472767 The release_firmware() function was called in some cases by the si2168_init() function during error handling even if the passed variable contained still a null pointer. This implementation detail could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-25[media] m88ds3103: One function call less in m88ds3103_init() after error ↵Markus Elfring1-5/+6
detection GIT_AUTHOR_DATE=1416472158 The release_firmware() function was called in some cases by the m88ds3103_init() function during error handling even if the passed variable contained still a null pointer. This implementation detail could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-25[media] DVB-frontends: Deletion of unnecessary checks before the function ↵Markus Elfring4-8/+4
call "release_firmware" GIT_AUTHOR_DATE=1416472432 The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-25[media] si2168: TS clock inversion controlCrazyCat3-2/+10
TS clock polarity control implemented. [Antti: Resolved simple conflict] Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net> Reviewed-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-21[media] rtl2832: implement option to bypass slave demod TSAntti Palosaari2-3/+68
Implement partial PIP mode to carry TS from slave demodulator, through that master demodulator. RTL2832 demod has TS input interface to connected another demodulator TS output. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88473: move to stagingAntti Palosaari4-509/+0
It is not ready enough to be released on mainline. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88473: convert to RegMap APIAntti Palosaari3-146/+90
Convert driver to I2C RegMap API. That offers unified register access routines, register value caching and more. We need 3 register maps, one for each register page, as chips has 3 I2C address. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88473: convert driver to I2C bindingAntti Palosaari3-110/+162
Driver was using DVB proprietary binding model. As it is I2C device, we could change it to normal kernel I2C driver. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88473: improve IF frequency and BW handlingAntti Palosaari1-17/+47
Separate IF and BW based registers. Add support for DVB-T and DVB-T2 6MHz channel bandwidth. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88473: implement DVB-T modeAntti Palosaari1-1/+10
Implement DVB-T mode. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88473: add support for DVB-T2Antti Palosaari1-7/+38
Add support for DVB-T2. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88473: Panasonic MN88473 DVB-T/T2/C demod driverAntti Palosaari5-0/+481
Only DVB-C is implemented. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: move to stagingAntti Palosaari4-568/+0
It is not ready enough to be released on mainline. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: implement DVB-T and DVB-T2Antti Palosaari1-41/+135
Implement initial support for DVB-T and DVB-T2 modes. Now driver has basic support for all the modes, DVB-C/T/T2. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: Convert driver to I2C RegMap APIAntti Palosaari3-119/+64
Convert driver to I2C RegMap API. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: convert driver to I2C clientAntti Palosaari3-112/+165
It uses I2C bus so better to implement it as a standard I2C driver model. It was using proprietary DVB binding. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: rename state to devAntti Palosaari2-71/+72
Rename state to dev. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: rename mn88472_c.c => mn88472.cAntti Palosaari4-24/+23
Original plan was to implement driver as one file per used demod standard (mn88472_c.c, mn88472_t.c and mn88472_t2.c). However, that plan was a mistake as driver code differences are so small between different standards. Due to that rename this file and implement all the needed functionality to that file. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: add small delay to wait DVB-C lockAntti Palosaari1-0/+9
400ms delay seems to be enough in order to gain DVB-C lock. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: correct attach symbol nameAntti Palosaari1-2/+2
Wrong symbol name causes demod attach failure. Reported-by: Benjamin Larsson <benjamin@southpole.se> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-14[media] mn88472: Panasonic MN88472 demod driver (DVB-C only)Antti Palosaari5-0/+505
Only DVB-C mode is supported, DVB-T and DVB-T2 are not supported. Very much feature reduced version, no signal statistics nor normal chip configuration options. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-11[media] m88ds3103: change ts clock config for serial modenibble.max1-30/+25
1> When m88ds3103 works in serial ts mode, its serial ts clock is equal to ts master clock and the clock divider is bypassed. 2> The serial ts clock is configed by the bridge driver just like parallel ts clock. Signed-off-by: Nibble Max <nibble.max@gmail.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-11Merge tag 'v3.18-rc4' into patchworkMauro Carvalho Chehab3-12/+17
Needed due to some important regression fixes at RC core. * commit 'v3.18-rc4': (587 commits) Linux 3.18-rc4 ARM: dts: zynq: Enable PL clocks for Parallella tiny: rename ENABLE_DEV_COREDUMP to ALLOW_DEV_COREDUMP tiny: reverse logic for DISABLE_DEV_COREDUMP i2c: core: Dispose OF IRQ mapping at client removal time i2c: at91: don't account as iowait i2c: remove FSF address USB: Update default usb-storage delay_use value in kernel-parameters.txt sysfs: driver core: Fix glue dir race condition by gdp_mutex MIPS: Fix build with binutils 2.24.51+ xfs: track bulkstat progress by agino xfs: bulkstat error handling is broken xfs: bulkstat main loop logic is a mess xfs: bulkstat chunk-formatter has issues xfs: bulkstat chunk formatting cursor is broken xfs: bulkstat btree walk doesn't terminate mm: Fix comment before truncate_setsize() USB: cdc-acm: add quirk for control-line state requests tty: Fix pty master poll() after slave closes v2 MIPS: R3000: Fix debug output for Virtual page number ... Conflicts: drivers/media/rc/rc-main.c
2014-11-05[media] cx24110: Simplify error handling at cx24110_set_fec()Mauro Carvalho Chehab1-13/+11
move the return to happen before the logic. This way, we can avoid one extra identation. This also fixes an identation issue on this function. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-05[media] cx23110: Fix return code for cx24110_set_fec()Mauro Carvalho Chehab1-2/+1
When a parameter is invalid, the right return code is -EINVAL. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-05[media] cx24110: Fix whitespaces at cx24110_set_fec()Mauro Carvalho Chehab1-12/+13
It is hard to read what's there, because it doesn't follow the CodingStyle. Add missing whitespaces to split function arguments. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-05[media] cx24110: Fix a spatch warningMauro Carvalho Chehab1-5/+5
This is actually a false positive: drivers/media/dvb-frontends/cx24110.c:210 cx24110_set_fec() error: buffer overflow 'rate' 7 <= 8 But fixing it is easy: just ensure that the table size will be limited to FEC_AUTO. While here, fix spacing on the affected lines. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-05[media] cx22700: Fix potential buffer overflowMauro Carvalho Chehab1-0/+3
As new FEC types were added, we need a check to avoid overflows: drivers/media/dvb-frontends/cx22700.c:172 cx22700_set_tps() error: buffer overflow 'fec_tab' 6 <= 6 drivers/media/dvb-frontends/cx22700.c:173 cx22700_set_tps() error: buffer overflow 'fec_tab' 6 <= 6 Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-05[media] stb0899: don't go past DiSEqC msg bufferMauro Carvalho Chehab1-1/+1
As reported by spatch: drivers/media/dvb-frontends/stb0899_drv.c:720 stb0899_send_diseqc_msg() error: buffer overflow 'cmd->msg' 6 <= 7 The buffer size is 6 and not 8. Anyway, the best is to use sizeof(), to avoid such mistakes. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-05[media] stv090x: Fix delivery system settingMauro Carvalho Chehab1-1/+14
As sparse complains: drivers/media/dvb-frontends/stv090x.c:3471:30: warning: mixing different enum types drivers/media/dvb-frontends/stv090x.c:3471:30: int enum fe_delivery_system versus drivers/media/dvb-frontends/stv090x.c:3471:30: int enum stv090x_delsys There's actually an error when setting the delivery system on stv090x_search(): it is using the DVBv5 macros as if they were the stv090x ones. Instead, we should convert between the two namespaces, returning an error if an unsupported delivery system is requested. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-05[media] af0933: Don't go past arraysMauro Carvalho Chehab1-1/+22
X-Patchwork-Delegate: m.chehab@samsung.com Fixes the following sparse warnings: drivers/media/dvb-frontends/af9033.c:295 af9033_init() error: buffer overflow 'clock_adc_lut' 11 <= 11 drivers/media/dvb-frontends/af9033.c:300 af9033_init() error: buffer overflow 'clock_adc_lut' 11 <= 11 drivers/media/dvb-frontends/af9033.c:584 af9033_set_frontend() error: buffer overflow 'coeff_lut' 3 <= 3 drivers/media/dvb-frontends/af9033.c:595 af9033_set_frontend() error: buffer overflow 'clock_adc_lut' 11 <= 11 Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-04[media] af9033: continue polling unless critical IO errorAntti Palosaari1-1/+1
That case is not IO error, so better to jump out now, but still continue polling. Cc: Bimow Chen <Bimow.Chen@ite.com.tw> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-04[media] af9033: return 0.1 dB DVBv3 SNR for AF9030 familyAntti Palosaari1-18/+25
Previous patch changed both AF9030 and IT9130 SNR reporting from dB to relative. Restore AF9030 to old behavior as it has been always returning 0.1 dB value. Leave IT9130 relative as old IT9130 was returning relative values. Cc: Bimow Chen <Bimow.Chen@ite.com.tw> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-04[media] af9033: fix DVBv3 snr value not correct issueBimow Chen2-4/+62
Snr returns value not correct. Fix it. Signed-off-by: Bimow Chen <Bimow.Chen@ite.com.tw> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-04[media] af9033: improve read_signal_strength error handling slightlyAntti Palosaari1-4/+6
Check return status after each register access routine and avoid masking return status values. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-04[media] af9033: fix AF9033 DVBv3 signal strength measurementAntti Palosaari1-1/+5
Previous patch changes used signal strength firmware register from 0x800048 to 0x80004a in case of AF9033/AF9035 chip. In practice reported values were running upside-down, when RR strength increases reported value decreases and vice versa. That is because of 0x80004a returns values that are dBm scale, but negative RF strength dBm returned as positive number. 0x800048 returns 0-100, like percentage 0x80004a returns 0-255 dBm, without a negative sign So restore old measurement now. Cc: Bimow Chen <Bimow.Chen@ite.com.tw> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-04[media] af9033: fix DVBv3 signal strength value not correct issueBimow Chen2-8/+41
Register 0x800048 is not dB measure but relative scale. Fix it and conform to NorDig specifications. Signed-off-by: Bimow Chen <Bimow.Chen@ite.com.tw> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-04[media] si2168: do not print device is warm every-time when openedAntti Palosaari1-2/+1
It repeated "found a 'Silicon Labs Si2168' in warm state" everytime when device was opened. Message is aimed to point out firmware is downloaded, up and running. So print it only in case firmware download is performed. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-04[media] sp2: sp2_init() can be staticFengguang Wu1-2/+2
drivers/media/dvb-frontends/sp2.c:269:5: sparse: symbol 'sp2_init' was not declared. Should it be static? drivers/media/dvb-frontends/sp2.c:351:5: sparse: symbol 'sp2_exit' was not declared. Should it be static? Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-03[media] m88ds3103: add support for the demod of M88RS6000nibble.max2-78/+345
M88RS6000 is the integrated chip, which includes tuner and demod. Its internal demod is similar with M88DS3103 except some registers definition. The main different part of this internal demod from others is its clock/pll generation IP block sitting inside the tuner die. So clock/pll functions should be configed through its tuner i2c bus, NOT its demod i2c bus. The demod of M88RS6000 need the firmware: dvb-demod-m88rs6000.fw firmware download link: http://www.dvbsky.net/download/linux/dvbsky-firmware.tar.gz Signed-off-by: Nibble Max <nibble.max@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-03[media] dvb:tc90522: fix always-false expressionAkihiro Tsukada1-1/+1
Signed-off-by: Akihiro Tsukada <tskd08@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-03[media] dvb:tc90522: fix stats reportAkihiro Tsukada1-9/+7
* report the fixed per-transponder symbolrate instead of per-TS ones * add output TS-ID report Signed-off-by: Akihiro Tsukada <tskd08@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>