- 07 7月, 2014 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
If interleave is bigger than 2, the code will set it to 0, as dib8000 registers use a log2(). So, change the code to handle it accordingly. Acked-By: NPatrick Boettcher <pboettcher@kernellabs.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 17 6月, 2014 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Exporting multiple symbols don't work as it causes compilation breakages, due to the way dvb_attach() works. The bug happens when: CONFIG_DVB_DIB8000=m CONFIG_DVB_USB_DIB0700=y As a bonus, dib8000 won't be loaded anymore if the device uses a different frontend, reducing the memory footprint. Tested with both Pixelview PV-D231 and MyGica S870. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Well, what we call as "foo_attach" is the method that should be called by the dvb_attach() macro. It should be noticed that the name "dvb_attach" is really a bad name and don't express what it does. dvb_attach() basically does three things, if the frontend is compiled as a module: - It lookups for the module that it is known to have the given symbol name and requests such module; - It increments the module usage (anonymously - so lsmod doesn't print who loaded the module); - after loading the module, it runs the function associated with the dynamic symbol. When compiled as builtin, it just calls the function given to it. As dvb_attach() increments refcount, it can't be (easily) called more than once for the same module, or the kernel will deny to remove the module, because refcount will never be zeroed. In other words, the function name given to dvb_attach() should be one single symbol that will always be called before any other function on that module to be used. For almost all DVB frontends, there's just one function, but, on dib8000, there are several exported symbols. We need to get rid of all those direct calls, because they cause compilation breakages when bridge is builtin and frontend is module, we'll need to add a new function that will be the first one to be called, whatever initialization is needed. So, let's rename this function, in order to prepare for a next patch that will add a new attach() function that will be the only one exported by this module. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 14 1月, 2014 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_get_time_us': drivers/media/dvb-frontends/dib8000.c:3957: warning: 'interleaving' may be used uninitialized in this function drivers/media/dvb-frontends/dib8000.c:3956: warning: 'rate_denum' may be used uninitialized in this function Those are actually false positives, but it doesn't hurt cleaning them. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
When compiling with avr32, it gets those errors: drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_get_stats': drivers/media/dvb-frontends/dib8000.c:4121: warning: integer constant is too large for 'long' type Fix integer representation to avoid overflow. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 20 12月, 2013 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
As reported by kbuild test robot <fengguang.wu@intel.com>: with a random config: drivers/built-in.o: In function `dib8000_get_time_us.isra.16': >> dib8000.c:(.text+0x3075aa): undefined reference to `__udivdi3' Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 19 12月, 2013 11 次提交
-
-
由 Mauro Carvalho Chehab 提交于
PER/UCB statistics are collected once on each 1 second. However, it doesn't provide the total number of packets needed to calculate PER. Yet, as we know the bit rate, it is possible to estimate such number. So, do it. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
On dib8000, the BER statistics are updated on every 1.25e6 bits. Adjust the code to only update the statistics after having it done. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
On dib8000, the block error count is a monotonic 32 bits register. With DVBv5 stats, we use a 64 bits counter, that it is reset when a new channel is tuned. Change the UCB counting start from 0 and to be returned with 64 bits, just like the API requests. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
Use multiple linear segments to better interpolate the dBm for the signal strength. The table that converts from linear strength to dB was empirically determinated with the help of a signal generator (DTA-2111). The entries from -35dBm to -22.5dBm were taken using just the signal generator and the board. For the entries from -36dBm to -51dBm, a 16 dB tap was used, in order to extend its range. Signals below to -51dBm are just linearly interpolated. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
Better to have Signal strength in dB. This takes a very rough estimation for the signal strength, that was calibrated using a Dektec DTA-2111 Gold RF generator and a Pixelview dib8076 stick. It estimates the signal strength using a linear equation where: - the max is -22.5 dBm, with returns 55953 - the min is -35.0 dBm, with returns 50110 With -22dBm, the signal strengh is returned as 65535. Unfortunately, the min strength generated with DTA-2111 is -35dBm. It should be noticed that approximating it by a linear equation is not right. I should probably be splitting it into 0.5 dB linear segments, in order to get a higher precision, just like it is done on mb86a20s, but that would force me to add some attenuators, in order to get dB levels below -35dBm, which is, btw, strong enough to get signal lock. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
The advantage of DVBv5 stats is that it allows adding proper scales to all measures. use it for this frontend. This patch adds a basic set of stats, basically cloning what's already provided by DVBv3 API. Latter patches will improve it. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
On ISDB-T, the valid values for interleaving are 0, 1, 2 and 4. While the first 3 are properly reported, the last one is reported as 3 instead. Fix it. Tested with a Dektec DTA-2111 RF generator. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
The logic that detects if auto search mode should be used is too complex. Also, it doesn't cover all cases, as the dib8000_tune logic requires either auto mode or a fully specified manual mode. So, move it to a separate function and add some extra debug data to help identifying when it falled back to auto mode, because the manual settings are invalid. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
Both dvbv5-scan and dvbv5-zap tools call FE_GET_PROPERTY inside the loop that checks for stats. If the frontend doesn't support DVBv5, it falls back to call the DVBv5 stats APIs(FE_READ_BER, FE_READ_SIGNAL, FE_READ_SNR and FE_READ_UNCORRECTED_BLOCKS). A call to FE_GET_PROPERTY makes dvb-frontend core to call get_frontend(). However, due to a race condition on dib8000 between dib8000_get_frontend and dib8000_tune, if get_frontend occurs too early, it causes the tune state machine to fail and not get any lock. This patch adds a workaround code that makes get_frontend() to just return if none of the frontends have a SYNC. This change fixed the issue with dvbv5-scan/dvbv5-zap, but a fine-tuned logic might be needed in the future, when we implement DVBv5 stats on this frontend. The procedure to test the bug and the fix is the one below: 1) tune into a non-existing frequency with: $ dvbv5-zap -I dvbv5 -c non_existing_freqs -m 679142857 -t3 2) tune/lock into an existing frequency with: $ dvbv5-zap -I dvbv5 -c isdb-test -m 479142857 or $ dvbv5-scan isdb-test In this case, 679 MHz carrier doesn't exist. Only 479 MHz does. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Mauro Carvalho Chehab 提交于
As the dvb-frontend kthread can be called anytime, it can race with some get status ioctl. So, it seems better to avoid one to race with the other while reading a 32 bits register. I can't see any other reason for having a mutex there at I2C, except to provide such kind of protection, as the I2C core already has a mutex to protect I2C transfers. Note: instead of this approach, it could eventually remove the dib8000 specific mutex for it, and either group the 4 ops into one xfer or to manually control the I2C mutex. The main advantage of the current approach is that the changes are smaller and more puntual. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Cc: stable@vger.kernel.org Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com>
-
由 Olivier Grenie 提交于
Commit 173a64cb broke support for some dib807x versions. Fix it by providing backward compatibility with the older versions. [mkrufky@linuxtv.org: conflict handling and CodingStyle fixes] Signed-off-by: NOlivier Grenie <olivier.grenie@parrot.com> Acked-by: NPatrick Boettcher <pboettcher@kernellabs.com> Cc: stable@vger.kernel.org Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 10 12月, 2013 1 次提交
-
-
由 Jonathan McCrohan 提交于
Fix various spelling errors in strings and comments throughout the media tree. The majority of these were found using Lucas De Marchi's codespell tool. [m.chehab@samsung.com: discard hunks with conflicts] Signed-off-by: NJonathan McCrohan <jmccrohan@gmail.com> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 30 11月, 2013 1 次提交
-
-
由 Jonathan McCrohan 提交于
Fix various spelling errors in strings and comments throughout the media tree. The majority of these were found using Lucas De Marchi's codespell tool. [m.chehab@samsung.com: discard hunks with conflicts] Signed-off-by: NJonathan McCrohan <jmccrohan@gmail.com> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 09 6月, 2013 1 次提交
-
-
由 Geert Uytterhoeven 提交于
drivers/media/dvb-frontends/dib8000.c: In function ‘dib8000_set_frontend’: drivers/media/dvb-frontends/dib8000.c:3556: warning: ‘ret’ is used uninitialized in this function Remove the variable and return zero instead. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 26 4月, 2013 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_wait_lock': drivers/media/dvb-frontends/dib8000.c:3972:1: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized] drivers/media/dvb-frontends/dib8000.c:2419:6: note: 'value' was declared here Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
isdbt_sb_subchannel is unsigned with 8 bits. So, it will never be -1. Instead, any value bigger than 13 is invalid. As is, the current code generates the following warnings: drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_set_isdbt_common_channel': drivers/media/dvb-frontends/dib8000.c:2358:3: warning: comparison is always true due to limited range of data type [-Wtype-limits] drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_tune': drivers/media/dvb-frontends/dib8000.c:3107:8: warning: comparison is always false due to limited range of data type [-Wtype-limits] drivers/media/dvb-frontends/dib8000.c:3153:9: warning: comparison is always false due to limited range of data type [-Wtype-limits] drivers/media/dvb-frontends/dib8000.c:3160:5: warning: comparison is always false It should also be noticed that ARIB STD-B31, item "3.15.6.8 Number of segments" at TMCC table defines the value 15 for unused segment, and 14 as reserved. So, better to change the check to consider any value bigger than 13 to mean that sub-channels should be disabled, fixing the warning and doing the right thing even if an invalid value is filled by userspace. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 25 4月, 2013 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
dtv_property_cache is used on several places on very long lines. On all places it is used, a long list of struct reference is done. Instead of doing it, at the routines where it is used more than once, replace it by one temporary var. That may help the compiler to use a better code. It also makes easier to review the code, as the lines becomes closer to 80 columns, making them a way clearer to read. No functional changes. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
drivers/media/dvb-frontends/dib8000.c:2412:5: warning: no previous prototype for 'dib8000_wait_lock' [-Wmissing-prototypes] drivers/media/dvb-frontends/dib8000.c:2688:5: warning: no previous prototype for 'dib8000_get_symbol_duration' [-Wmissing-prototypes] Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 23 4月, 2013 1 次提交
-
-
由 Patrick Boettcher 提交于
The intend of this patch is to improve the support of the dib8000. Signed-off-by: NOlivier Grenie <olivier.grenie@parrot.com> Signed-off-by: NPatrick Boettcher <patrick.boettcher@parrot.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 14 8月, 2012 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Raise the DVB frontends one level up, as the intention is to remove the drivers/media/dvb directory. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 31 7月, 2012 1 次提交
-
-
由 Dan Carpenter 提交于
My static checker complains that we dereference "state" inside the call to fft_to_mode() before checking for NULL. The comments say that it is possible for "state" to be NULL so I have moved the dereference after the check. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 05 1月, 2012 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Now that this field is deprecated, and core generates it for DVBv3 calls, remove it from the drivers. It also adds .delsys on the few drivers where this were missed. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 31 12月, 2011 5 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Just like set_frontend, use the dvb cache properties for get_frontend. This is more consistent, as both functions are now symetric. Also, at the places get_frontend is called, it makes sense to update the cache. Most of this patch were generated by this small perl script: while (<>) { $file .= $_; } if ($file =~ m/\.get_frontend\s*=\s*([\d\w_]+)/) { my $get = $1; $file =~ s/($get)(\s*\([^\,\)]+)\,\s*struct\s+dtv_frontend_properties\s*\*\s*([_\d\w]+)\)\s*\{/\1\2)\n{\n\tstruct dtv_frontend_properties *\3 = &fe->dtv_property_cache;/g; } print $file; Of course, the changes at dvb_frontend.[ch] were made by hand, as well as the changes on a few other places, where get_frontend() is called internally inside the driver. On some places, get_frontend() were just a void function. Those occurrences were removed, as the DVB core handles such cases. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
This driver only uses the DVBv5 struct. All it needs is to remove the non-used params var, and to add the ISDB-T to the delivery systems. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Creates a DVBv5 get_frontend call, renaming the DVBv3 one to get_frontend_legacy(), while not all frontends are converted. After the conversion for all drivers, get_frontend_legacy() will be removed. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Passing DVBv3 parameters to set_frontend is not fun, as the core doesn't have any way to know if the driver is using the v3 or v5 parameters. So, rename the callback and add a new one to allow distinguish between a mixed v3/v5 paramenter call from a pure v5 call. After having all frontends to use the new way, the legacy call can be removed. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
This is a big patch, yet trivial: now that all tuners use the DVBv5 way to pass parameters (e. g. via fe->dtv_property_cache), the extra parameter can be removed from set_params() call. After this change, very few DVBv3 specific stuff are left at the tuners. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 25 11月, 2011 2 次提交
-
-
由 Olivier Grenie 提交于
The purpose of this patch is to support the DiBcom chip dib8096P. Signed-off-by: NOlivier Grenie <olivier.grenie@dibcom.fr> Signed-off-by: NPatrick Boettcher <patrick.boettcher@dibcom.fr> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Olivier Grenie 提交于
This patches improves the tuning of the dib8000 and correct the monitoringr of the SNR.The patch allows to faster detect that there is no ISDB-T channel on the wanted frequency. Signed-off-by: NOlivier Grenie <olivier.grenie@dibcom.fr> Signed-off-by: NPatrick Boettcher <patrick.boettcher@dibcom.fr> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 06 8月, 2011 1 次提交
-
-
由 Patrick Boettcher 提交于
This patch protects the I2C buffer access in order to manage concurrent access. This protection is done using mutex. Furthermore, for the dib9000, if a pid filtering command is received during the tuning, this pid filtering command is delayed to avoid any concurrent access issue. Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Cc: Florian Mickler <florian@mickler.org> Cc: stable@kernel.org Signed-off-by: NOlivier Grenie <olivier.grenie@dibcom.fr> Signed-off-by: NPatrick Boettcher <Patrick.Boettcher@dibcom.fr> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 20 5月, 2011 1 次提交
-
-
由 Olivier Grenie 提交于
This patch removes the remaining on-stack buffer for USB DMA transfer. This patch also reduces the stack memory usage. Cc: stable@kernel.org Cc: Florian Mickler <florian@mickler.org> Signed-off-by: NOlivier Grenie <olivier.grenie@dibcom.fr> Signed-off-by: NPatrick Boettcher <patrick.boettcher@dibcom.fr> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 22 3月, 2011 3 次提交
-
-
由 Dan Carpenter 提交于
kfree(state) if fe allocation fails. Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Something went wrong with the alignments for the if clause at line 2113. Instead of using one tab for alignments, it used 3 tabs, plus one space character. WARNING: suspect code indent for conditional statements (8, 33) + if ((state->fe[0]->dtv_property_cache.delivery_system != SYS_ISDBT) || [...] + int i = 80000; WARNING: suspect code indent for conditional statements (33, 41) + for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { + dib8000_set_bandwidth(state->fe[index_frontend], fe->dtv_property_cache.bandwidth_hz / 1000); WARNING: suspect code indent for conditional statements (33, 41) + do { + msleep(20); WARNING: suspect code indent for conditional statements (41, 49) + for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) { + if (((tune_failed >> index_frontend) & 0x1) == 0) { WARNING: suspect code indent for conditional statements (49, 57) + if (((tune_failed >> index_frontend) & 0x1) == 0) { + found = dib8000_autosearch_irq(state->fe[index_frontend]); WARNING: suspect code indent for conditional statements (41, 49) + if ((nbr_pending == 0) && (exit_condition == 0)) + exit_condition = 1; Cc: Patrick Boettcher <pboettcher@kernellabs.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Olivier Grenie 提交于
This patchs fix several conding-style violations. Signed-off-by: NOlivier Grenie <olivier.grenie@dibcom.fr> Signed-off-by: NPatrick Boettcher <patrick.boettcher@dibcom.fr> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-