All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gianluca Gennari <gennarone@gmail.com>
To: linux-media@vger.kernel.org, mchehab@redhat.com
Cc: crope@iki.fi, Gianluca Gennari <gennarone@gmail.com>
Subject: [PATCH 1/3] cxd2820r: tweak search algorithm behavior
Date: Thu, 15 Mar 2012 18:33:47 +0100	[thread overview]
Message-ID: <1331832829-4580-2-git-send-email-gennarone@gmail.com> (raw)
In-Reply-To: <1331832829-4580-1-git-send-email-gennarone@gmail.com>

MPIS based STBs running 3.x kernels and the Enigma2 OS are not able to tune
DVB-T channels with the PCTV 290e using the current cxd2820r driver.
DVB-T2 channels instead work properly. 

This patch fixes the problem by changing the condition to break out from the
wait lock loop in the "search" function of the cxd2820r demodulator from
FE_HAS_SIGNAL to FE_HAS_LOCK.

As a consequence, the "search" function of the demodulator driver now returns
DVBFE_ALGO_SEARCH_SUCCESS only if the frequency lock is successfully acquired.

This behavior seems consistent with other demodulator drivers (e.g. stv090x,
hd29l2, stv0900, stb0899, mb86a16).

This patch has been successfully tested with DVB-T and DVB-T2 signals,
on both PC and the mipsel STB running Enigma2.
No apparent side effect has been observed on PC applications like Kaffeine.
DVB-C is not available in my country so it's not tested.

Signed-off-by: Gianluca Gennari <gennarone@gmail.com>
---
 drivers/media/dvb/frontends/cxd2820r_core.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/dvb/frontends/cxd2820r_core.c b/drivers/media/dvb/frontends/cxd2820r_core.c
index 5c7c2aa..3bba37d 100644
--- a/drivers/media/dvb/frontends/cxd2820r_core.c
+++ b/drivers/media/dvb/frontends/cxd2820r_core.c
@@ -526,12 +526,12 @@ static enum dvbfe_search cxd2820r_search(struct dvb_frontend *fe)
 		if (ret)
 			goto error;
 
-		if (status & FE_HAS_SIGNAL)
+		if (status & FE_HAS_LOCK)
 			break;
 	}
 
 	/* check if we have a valid signal */
-	if (status) {
+	if (status & FE_HAS_LOCK) {
 		priv->last_tune_failed = 0;
 		return DVBFE_ALGO_SEARCH_SUCCESS;
 	} else {
-- 
1.7.5.4


  reply	other threads:[~2012-03-15 17:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-15 17:33 [PATCH 0/3] cxd2820r: tweak search algorithm, enable LNA in DVB-T mode Gianluca Gennari
2012-03-15 17:33 ` Gianluca Gennari [this message]
2012-03-23 12:49   ` [PATCH 1/3] cxd2820r: tweak search algorithm behavior Antti Palosaari
2012-03-15 17:33 ` [PATCH 2/3] em28xx-dvb: enable LNA for cxd2820r in DVB-T mode Gianluca Gennari
2012-03-23 12:55   ` Antti Palosaari
     [not found]     ` <CACOeW9MNoRZOs5yruTSEqcj_576ih6cnpW-j0HzKCs0Qyy=P4w@mail.gmail.com>
2012-03-23 14:45       ` Mauro Carvalho Chehab
2012-03-15 17:33 ` [PATCH 3/3] cxd2820r: delete unused function cxd2820r_init_t2 Gianluca Gennari
2012-03-23 12:50   ` Antti Palosaari
2012-03-15 17:41 ` [PATCH 0/3] cxd2820r: tweak search algorithm, enable LNA in DVB-T mode Mauro Carvalho Chehab
2012-03-15 17:49   ` Antti Palosaari
2012-03-15 18:06     ` Mauro Carvalho Chehab
2012-03-15 18:07   ` Gianluca Gennari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1331832829-4580-2-git-send-email-gennarone@gmail.com \
    --to=gennarone@gmail.com \
    --cc=crope@iki.fi \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.