Hello Mauro,
can you apply the attached patch. This patch correct the proposed patch by Patrick for the dib807x. Sorry to not have seen it before.
regards,
Olivier
________________________________________
From: Mauro Carvalho Chehab [mchehab@xxxxxxxxxx]
Sent: Saturday, April 27, 2013 4:28 PM
To: Patrick Boettcher
Cc: linux-media@xxxxxxxxxxxxxxx; Olivier GRENIE; Patrick BOETTCHER
Subject: Re: [GIT PULL FOR 3.10] DiBxxxx: fixes and improvements
Hi Patrick,
Em Mon, 22 Apr 2013 10:12:34 +0200
Patrick Boettcher <pboettcher@xxxxxxxxxxxxxx> escreveu:
> Hi Mauro,
>
> These patches contains some fixes and changes for the DiBcom demods and
> SIPs.
>
> Please merge for 3.10 if possible.
>
>
> The following changes since commit 60d509fa6a9c4653a86ad830e4c4b30360b23f0e:
>
> Linux 3.9-rc8 (2013-04-21 14:38:45 -0700)
>
> are available in the git repository at:
>
> git://git.linuxtv.org/pb/media_tree.git/ master
Hmm... I suspect that there's something wrong with those changes.
Testing it with a dib8076 usb stick seems that the code is worse than
before, as it is now harder to get a lock here.
With the previous code:
INFO Scanning frequency #1 725142857
Carrier(0x03) Signal= 67.46% C/N= 0.00% UCB= 0 postBER= 0
Viterbi(0x05) Signal= 67.08% C/N= 0.00% UCB= 0 postBER= 2097151
Viterbi(0x07) Signal= 67.54% C/N= 0.25% UCB= 165 postBER= 0
Sync (0x0f) Signal= 67.06% C/N= 0.23% UCB= 151 postBER= 0
Lock (0x1f) Signal= 67.58% C/N= 0.24% UCB= 160 postBER= 338688
Service #0 (60320) BAND HD channel 57.1.0
Service #1 (60345) BAND 1SEG channel 57.1.1
With the new code:
INFO Scanning frequency #1 725142857
(0x00) Signal= 68.80% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.78% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.69% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.82% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.29% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.27% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.28% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.27% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.55% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.50% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.43% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.65% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.75% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.29% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.28% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.25% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.43% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.46% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.43% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.90% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.50% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.28% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.22% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.22% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.43% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.41% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.41% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 68.96% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.42% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.24% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.22% C/N= 0.00% UCB= 0 postBER= 0
RF (0x01) Signal= 69.25% C/N= 0.00% UCB= 0 postBER= 0
So, it seems that the changes broke something.
Regards,
Mauro
From 6d5679558aa99d9763fb2d638de771a8f52c94fa Mon Sep 17 00:00:00 2001
From: Olivier Grenie <olivier.grenie@xxxxxxxxxx>
Date: Thu, 2 May 2013 16:11:14 +0200
Subject: [PATCH] [media] dib8000: correct previous commit The intend of this
patch is to correct a previous commit. This commit corrects
the behavior of the dib807x.
Signed-off-by: Olivier Grenie <olivier.grenie@xxxxxxxxxx>
---
drivers/media/dvb-frontends/dib8000.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/media/dvb-frontends/dib8000.c b/drivers/media/dvb-frontends/dib8000.c
index 4ba7c90..a57926b 100644
--- a/drivers/media/dvb-frontends/dib8000.c
+++ b/drivers/media/dvb-frontends/dib8000.c
@@ -2439,7 +2439,7 @@ static int dib8000_autosearch_start(struct dvb_frontend *fe)
if (state->revision == 0x8090)
internal = dib8000_read32(state, 23) / 1000;
- if (state->autosearch_state == AS_SEARCHING_FFT) {
+ if ((state->revision >= 0x8002) && (state->autosearch_state == AS_SEARCHING_FFT)) {
dib8000_write_word(state, 37, 0x0065); /* P_ctrl_pha_off_max default values */
dib8000_write_word(state, 116, 0x0000); /* P_ana_gain to 0 */
@@ -2475,7 +2475,7 @@ static int dib8000_autosearch_start(struct dvb_frontend *fe)
dib8000_write_word(state, 770, (dib8000_read_word(state, 770) & 0xdfff) | (1 << 13)); /* P_restart_ccg = 1 */
dib8000_write_word(state, 770, (dib8000_read_word(state, 770) & 0xdfff) | (0 << 13)); /* P_restart_ccg = 0 */
dib8000_write_word(state, 0, (dib8000_read_word(state, 0) & 0x7ff) | (0 << 15) | (1 << 13)); /* P_restart_search = 0; */
- } else if (state->autosearch_state == AS_SEARCHING_GUARD) {
+ } else if ((state->revision >= 0x8002) && (state->autosearch_state == AS_SEARCHING_GUARD)) {
state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_8K;
state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_8;
state->fe[0]->dtv_property_cache.inversion = 0;
@@ -2577,7 +2577,7 @@ static int dib8000_autosearch_irq(struct dvb_frontend *fe)
struct dib8000_state *state = fe->demodulator_priv;
u16 irq_pending = dib8000_read_word(state, 1284);
- if (state->autosearch_state == AS_SEARCHING_FFT) {
+ if ((state->revision >= 0x8002) && (state->autosearch_state == AS_SEARCHING_FFT)) {
if (irq_pending & 0x1) {
dprintk("dib8000_autosearch_irq: max correlation result available");
return 3;
--
1.7.10.4