aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends
Commit message (Collapse)AuthorAge
...
* Merge branch 'topic/r820t' into patchworkMauro Carvalho Chehab2013-04-25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * topic/r820t: (31 commits) [media] r820t: Don't divide the IF by two [media] r820t: disable auto gain/VGA setting [media] rtl2832: Fix IF calculus [media] r820t: put it into automatic gain mode [media] r820t: Fix hp_cor filter mask [media] r820t: fix PLL calculus [media] r820t: Don't put it in standby if not initialized yet [media] r820t: avoid rewrite all regs when not needed [media] r820t: Allow disabling IMR callibration [media] r820t: add a commented code for GPIO [media] r820t: add IMR calibrate code [media] r820t: proper initialize the PLL register [media] r820t: use usleep_range() [media] r820t: fix prefix of the r820t_read() function [media] r820t: split the function that read cached regs [media] r820t: better report signal strength [media] r820t: add support for diplexer [media] r820t: Show the read data in the bit-reversed order [media] r820t: use the second table for 7MHz [media] r820t: Invert bits for read ops ...
| * [media] rtl2832: Fix IF calculusMauro Carvalho Chehab2013-04-16
| | | | | | | | | | | | | | | | Spectrum is inverted. So, we need to invert it when calculating the value for the IF register Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Tested-by: Antti Palosaari <crope@iki.fi>
| * [media] rtl2832: properly set en_bbin for r820tMauro Carvalho Chehab2013-04-16
| | | | | | | | | | | | | | | | DVBT_EN_BBIN should be set on both places where IF is set. So, move it to a function and call it where needed. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Tested-by: Antti Palosaari <crope@iki.fi>
| * [media] rtl2832: add code to bind r820t on itMauro Carvalho Chehab2013-04-16
| | | | | | | | | | | | | | | | There are some init stuff to be done for each new tuner at the demod code. Add the code there for r820t. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Tested-by: Antti Palosaari <crope@iki.fi>
* | [media] dib0090: enhancementOlivier Grenie2013-04-22
| | | | | | | | | | | | | | | | | | | | The intend of this patch is to improve the support of the dib0090 tuner. The ramp tables have been updated. Also some minor enhancements has been added (EFUSE and reset). Signed-off-by: Olivier Grenie <olivier.grenie@parrot.com> Signed-off-by: Patrick Boettcher <patrick.boettcher@parrot.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] dib7000p: enhancementOlivier Grenie2013-04-22
| | | | | | | | | | | | | | | | | | | | The intend of this patch is to improve the support of the dib7000p. It is now possible to set the minimum value for the AGC1. Also, the driver takes into account the frequency offset introduced in the tuned frequency. Signed-off-by: Olivier Grenie <olivier.grenie@parrot.com> Signed-off-by: Patrick Boettcher <patrick.boettcher@parrot.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] dib8000: enhancementPatrick Boettcher2013-04-22
| | | | | | | | | | | | | | | | The intend of this patch is to improve the support of the dib8000. Signed-off-by: Olivier Grenie <olivier.grenie@parrot.com> Signed-off-by: Patrick Boettcher <patrick.boettcher@parrot.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | [media] lg2160: dubious one-bit signed bitfieldDan Carpenter2013-04-22
|/ | | | | | | | | Sparse complains that these are "dubious one-bit signed bitfields" and the comment says it was intended to be 1 and 0 instead of -1 and 0. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cxd2820r_t2: Fix a warning: stream_id is unsignedMauro Carvalho Chehab2013-04-15
| | | | | | | drivers/media/dvb-frontends/cxd2820r_t2.c: In function 'cxd2820r_set_frontend_t2': drivers/media/dvb-frontends/cxd2820r_t2.c:128:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cxd2820r_t2: Multistream support (MultiPLP)Evgeny Plehov2013-04-08
| | | | | | | | MultiPLP filtering support for CXD2820r. Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx24123: improve precision when calculating symbol rate ratioMauro Carvalho Chehab2013-04-08
| | | | | | | | | | | | Symbol rate ratio were using a rough calculus, as the code was limited to 32 bits arithmetic. Change it to 64 bits, in order to better estimate the bandwidth low-pass filter on the demod. This should reduce the noise and improve reception. Reported-by: Hans-Peter Jansen <hpj@urpla.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: better name temp vars at mb86a20s_layer_bitrate()Mauro Carvalho Chehab2013-04-08
| | | | | | | | | | | | Using 'i' for the guard interval temporary var is a bad idea, as 'i' is generally used by "anonymous" indexes. Let's rename modulation, fec and guard interval temp vars with a meaningful name, as that makes easier to understand the code and avoids cut-and-paste types of error. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: Fix estimate_rate settingMauro Carvalho Chehab2013-04-08
| | | | | | | | | | | | | As reported by Dan Carpenter <dan.carpenter@oracle.com>: Smatch warnings: drivers/media/dvb-frontends/mb86a20s.c:644 mb86a20s_layer_bitrate() error: buffer overflow 'state->estimated_rate' 3 <= 3 What happens there is that estimate_rate index should be the layer number, and not the guard interval. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: Use 'layer' instead of 'i' on all placesMauro Carvalho Chehab2013-04-08
| | | | | | | | | | | We're using the anonymous 'i' to indicate the layer number on several places on the driver. That's not good, as some cut-and-paste type of change might be doing the wrong thing. So, call it as "layer" everywhere. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: fix audio sub-channel checkMauro Carvalho Chehab2013-04-08
| | | | | | | | | | | | | | | | | | | As reported by Dan Carpenter <dan.carpenter@oracle.com> FYI, there are new smatch warnings show up in: tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next master head: da17d7bda957ae4697b6abc0793f74fb9b50b58f commit: 04fa725e7b1c22c583dd71a8cd85b8d997edfce3 [media] mb86a20s: Implement set_frontend cache logic New smatch warnings: drivers/media/dvb-frontends/mb86a20s.c:1897 mb86a20s_set_frontend() error: buffer overflow 'mb86a20s_subchannel' 8 <= 8 04fa725e Mauro Carvalho Chehab 2013-03-04 1894 if (c->isdbt_sb_subchannel > ARRAY_SIZE(mb86a20s_subchannel)) 04fa725e Mauro Carvalho Chehab 2013-03-04 1895 c->isdbt_sb_subchannel = 0; 04fa725e Mauro Carvalho Chehab 2013-03-04 1896 04fa725e Mauro Carvalho Chehab 2013-03-04 @1897 state->subchannel = mb86a20s_subchannel[c->isdbt_sb_subchannel]; Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: Use a macro for the number of layersMauro Carvalho Chehab2013-04-08
| | | | | | | | | | | Instead of using the magic number "3", use NUM_LAYERS macro on all places that are related to the ISDB-T layers. This makes the source code a little more readable. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx88: kernel bz#9476: Fix tone setting for Nova-S+ model 92001Mauro Carvalho Chehab2013-04-08
| | | | | | | | | | | | | | | | | | | | | | | Hauppauge Nova-S-Plus DVB-S model 92001 does not lock on horizontal polarisation. According with the info provided at the BZ, model 92002 does. The difference is that, on model 92001, the tone select is done via isl6421, while, on other devices, this is done via cx24123 code. This patch adds a way to override the demod's set_tone at isl6421 driver. In order to avoid regressions, the override is enabled only for cx88 Nova S plus model 92001. For all other models and devices, the set_tone is provided by the demod driver. Patch originally proposed at bz@9476[1] by Michel Meyers and John Donoghue but applying the original patch would break support for all other devices based on isl6421. [1] https://bugzilla.kernel.org/show_bug.cgi?id=9476 Tested-by: Adam Sampson <ats@offog.org> Tested-by: Hans-Peter Jansen <hpj@urpla.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] Fix undefined reference to `au8522_attach'Hans Verkuil2013-03-26
| | | | | | | au8522_attach is dependent on CONFIG_DVB_AU8522_DTV, not CONFIG_DVB_AU8522. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] au8522_decoder: remove obsolete control opsHans Verkuil2013-03-25
| | | | | | | | | Now that au0828 has been converted to the control framework these compatilibity ops are no longer needed. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] au8522_decoder: convert to the control frameworkHans Verkuil2013-03-25
| | | | | | Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] v4l2: add const to argument of write-only s_register ioctlHans Verkuil2013-03-24
| | | | | | | | | This ioctl is defined as IOW, so pass the argument as const. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] drxk_hard: Drop unused parameterJean Delvare2013-03-23
| | | | | | | Last parameter of function GetLockStatus() isn't used so drop it. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb-frontends: use IS_ENABLEDMauro Carvalho Chehab2013-03-23
| | | | | | | Instead of checking everywhere there for 3 symbols, use instead IS_ENABLED macro. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] drxk: fix CNR calculusMauro Carvalho Chehab2013-03-22
| | | | | | | | | | | | Changeset 8f3741e accidentally broke the CNR estimation. It should be calculated as "a + b - c". However, previously, the subtraction by c only occurred if SNR would be positive, due to a bad binding to DVBv3 API. This also fixes the following warning: drivers/media/dvb-frontends/drxk_hard.c:2556:6: warning: variable 'c' set but not used [-Wunused-but-set-variable] Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: implement i/o optimized reg table writerAntti Palosaari2013-03-21
| | | | | | | | Use register address auto increment to reduce I/O when large register / values tables are written. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: sleep on attach()Antti Palosaari2013-03-21
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: move code from it913x to af9033Antti Palosaari2013-03-21
| | | | | | | That register is property of demodulator so move it correct place. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] it913x: remove unused af9033 demod tuner config initsAntti Palosaari2013-03-21
| | | | | | | | | Those are demodulator init tables according to used tuner tuner config. af9033 demod driver does those inits currently and due to that these duplicate inits could be removed. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: add IT9135 tuner config "62" init tableAntti Palosaari2013-03-21
| | | | | | | Dumped out from the Windows driver version 12.07.06.1 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: add IT9135 tuner config "61" init tableAntti Palosaari2013-03-21
| | | | | | | Dumped out from the Windows driver version 12.07.06.1 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: add IT9135 tuner config "60" init tableAntti Palosaari2013-03-21
| | | | | | | Dumped out from the Windows driver version 12.07.06.1 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: add IT9135 tuner config "52" init tableAntti Palosaari2013-03-21
| | | | | | | Dumped out from the Windows driver version 12.07.06.1 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: add IT9135 tuner config "51" init tableAntti Palosaari2013-03-21
| | | | | | | Dumped out from the Windows driver version 12.07.06.1 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: add IT9135 tuner config "38" init tableAntti Palosaari2013-03-21
| | | | | | | Dumped out from the Windows driver version 12.07.06.1 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: add IT9135 demod reg init tablesAntti Palosaari2013-03-21
| | | | | | | Dumped out from Windows driver version 12.07.06.1, 07/06/2012. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: IT9135 v2 supported related changesAntti Palosaari2013-03-21
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9033: support for it913x tunersAntti Palosaari2013-03-21
| | | | | | | Add support for tuners integrated to the IT9135 and IT9137. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] ts2020: use customise option correctlyPaul Bolle2013-03-21
| | | | | | | | | | The Kconfig entry for "TS2020 based tuners" defaults to modular if DVB_FE_CUSTOMISE is set. But that Kconfig symbol was replaced with MEDIA_SUBDRV_AUTOSELECT as of v3.7. So use the new symbol. And negate the logic, so we are in line with all the similar entries in this file. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] drxk: Fix bogus signal strength indicatorMauro Carvalho Chehab2013-03-21
| | | | | | | | | | The DVBv3 signal strength indicator is bogus: it doesn't range from 0 to 65535 as it would be expected. Also, 0 means the max signal strength. Now that a better way to estimate it was added, use the new way. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] drxk: use a better calculus for RF strengthMauro Carvalho Chehab2013-03-21
| | | | | | | | | | The AZ6007 driver released by Terratec has a better way to estimate the signal strength, at CtrlSigStrength(). Port it to the driver. It should be noticed that there are two parameters there that are tuner-specific. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] drxk: Add pre/post BER and PER/UCB statsMauro Carvalho Chehab2013-03-21
| | | | | | | | The original az6007 driver has the code to calculate such stats. Add it to the driver, reporting them via DVBv5 stats API. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] drxk: remove dummy BER read codeMauro Carvalho Chehab2013-03-21
| | | | | | The BER code does nothing but filling it with zero. Remove it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] stv090x: do not unlock unheld mutex in stv090x_sleep()Alexey Khoroshilov2013-03-14
| | | | | | | | | | goto err and goto err_gateoff before mutex_lock(&state->internal->demod_lock) lead to unlock of unheld mutex in stv090x_sleep(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Cc: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: Don't assume a 32.57142MHz clockMauro Carvalho Chehab2013-03-04
| | | | | | | Now that some devices initialize register 0x2a with different values, add the calculus formula, instead of hardcoding it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: Implement set_frontend cache logicMauro Carvalho Chehab2013-03-04
| | | | | | | Up to now, the driver was simply assuming TV mode, 13 segs. Implement the logic to control the ISDB operational mode. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: cleanup the status at set_frontend()Mauro Carvalho Chehab2013-03-04
| | | | | | | As the device got re-initialized, the stats should vanish until the device gets lock again. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: Don't reset strength with the other statsMauro Carvalho Chehab2013-03-04
| | | | | | | Signal strength is always available. There's no reason to reset it, as it has its own logic to reset it already. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: Always reset the frontend with set_frontendMauro Carvalho Chehab2013-03-04
| | | | | | | | | | | | Always init the frontend when set_frontend is called. The rationale is: it was noticed that, on some devices, it fails to lock with a different channel. It seems that some other registers need to be restored to its initial state, when the channel changes. As it is better to reset everything, even wasting a few more miliseconds than to loose channel lock, let's change the logic to always reset. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: change AGC tuning parametersMauro Carvalho Chehab2013-03-04
| | | | | | | | | | | | | Use the AGC settings present on a newer device. The initial settings were taken from one of the first devices with mb86a20s, and there are several reports that this is not working properly on some places. So, instead of keeping using it, get the parameters taken from a newer device. Tests are welcomed. Tested also with cx231xx PixelView SBTVD Hybrid with no regressions noticed so far. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] mb86a20s: don't allow updating signal strength too fastMauro Carvalho Chehab2013-03-04
| | | | | | | Getting signal strength requires some loop poking with I2C. Don't let it happen too fast. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>