From patchwork Wed Apr 19 23:13:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Devin Heitmueller X-Patchwork-Id: 40912 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0yo6-0002sb-Oj; Wed, 19 Apr 2017 23:14:42 +0000 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-7) with esmtp id 1d0yo4-0006BG-1z; Thu, 20 Apr 2017 01:14:42 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S940337AbdDSXOh (ORCPT + 1 other); Wed, 19 Apr 2017 19:14:37 -0400 Received: from mail-qk0-f174.google.com ([209.85.220.174]:34773 "EHLO mail-qk0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S940333AbdDSXOd (ORCPT ); Wed, 19 Apr 2017 19:14:33 -0400 Received: by mail-qk0-f174.google.com with SMTP id y63so2964384qkd.1 for ; Wed, 19 Apr 2017 16:14:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernellabs-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=MB7Cgx2ZveItnP75DiqK+P/Fr3+JbunUc5dYh3HLjf0=; b=yR1X37vqQ8t9L/pk+1tZ76n4KoBtlx4DVV7m2V15Y5gKtUle1rffhrbu1Yh6DjwFXV 1TBwM/XkQINx/JCMeflc/BqQLylggGjGI/m6su8EUl7mRMWYj6kgWDlKv+1d/2SFQg9f rZtS8pCO9ZZZrbFrMp8nD72/AdPMfdTq4+A9gxDMTETTQWMcK/ZHp5I7lUWDBTjA185i Uw6xDh/hoVYD8Oix6IBm5BCtsbH9T8q4LCIZfwXuSz3J+TH+Jme+R8v6Q6hqnMOcejAY jrrWEDH5aarkLz/oQ5zxiV/v+iXFJVo8yt63Og8nb7Y8BLs9M670hfRCKdMWKYoifJZf eqEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=MB7Cgx2ZveItnP75DiqK+P/Fr3+JbunUc5dYh3HLjf0=; b=D1opAXt3ZEAd1/29maU8DhvHjzVLaGviJ2Ar7P7OFaG0rcwnneTneTHAysaFn9tTRJ jbnYCs/D6cld22rLNltCxcQez5JbB+HVZttNRpakBbdBH5WBvM4W6o8k6Xd8sMMecTmB UX5UZd/cyfM8Wuh9Eo2PcPaBbqv7dW1oyTNjFFy4a7scnnd6MrFuuq9L6TENCld8zhHu Gn9yV+Jog96jYyPnGkzZ+toAQWg3u85i1/Z0K6BKA+yU30zy3Locdfk0bWbUm+hNdUHQ vo1+YYTUTT74C7pqMiFcIlXzT0OL7UIQMij3ElguR4uiF3/PiAKEWAK1dbsvcJ+MxGbs +5hQ== X-Gm-Message-State: AN3rC/46mdSbpU3la6QJuktpkopGunUJTJDT+ykTJMD6e+E0C8XE1iKA sM8vyjXgKGk+Up4s X-Received: by 10.55.10.131 with SMTP id 125mr446238qkk.74.1492643672433; Wed, 19 Apr 2017 16:14:32 -0700 (PDT) Received: from localhost.localdomain (cpe-74-71-114-159.nyc.res.rr.com. [74.71.114.159]) by smtp.gmail.com with ESMTPSA id 123sm2951916qkm.22.2017.04.19.16.14.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 19 Apr 2017 16:14:32 -0700 (PDT) From: Devin Heitmueller To: linux-media@vger.kernel.org Cc: Devin Heitmueller Subject: [PATCH 07/12] au8522: fix lock detection to be more reliable. Date: Wed, 19 Apr 2017 19:13:50 -0400 Message-Id: <1492643635-30823-8-git-send-email-dheitmueller@kernellabs.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1492643635-30823-1-git-send-email-dheitmueller@kernellabs.com> References: <1492643635-30823-1-git-send-email-dheitmueller@kernellabs.com> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2017.4.19.230617 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1100_1199 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, DATE_TZ_NA 0, DKIM_SIGNATURE 0, IN_REP_TO 0, LEGITIMATE_SIGNS 0, MSG_THREAD 0, MULTIPLE_REAL_RCPTS 0, NO_URI_HTTPS 0, REFERENCES 0, __ANY_URI 0, __CC_NAME 0, __CC_NAME_DIFF_FROM_ACC 0, __CC_REAL_NAMES 0, __FROM_DOMAIN_IN_ANY_CC2 0, __FROM_DOMAIN_IN_RCPT 0, __HAS_CC_HDR 0, __HAS_FROM 0, __HAS_LIST_ID 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __MIME_TEXT_P 0, __MIME_TEXT_P1 0, __NO_HTML_TAG_RAW 0, __REFERENCES 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS , __YOUTUBE_RCVD 0' Only looking at the lock register causes the status to float between locked and not locked when there is no signal. So improve the logic to also examine the state of the FSC PLL, which results in the lock status being consistently reported. Signed-off-by: Devin Heitmueller --- drivers/media/dvb-frontends/au8522_decoder.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/dvb-frontends/au8522_decoder.c b/drivers/media/dvb-frontends/au8522_decoder.c index 5e21640..343dc92 100644 --- a/drivers/media/dvb-frontends/au8522_decoder.c +++ b/drivers/media/dvb-frontends/au8522_decoder.c @@ -623,10 +623,12 @@ static int au8522_g_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *vt) int val = 0; struct au8522_state *state = to_state(sd); u8 lock_status; + u8 pll_status; /* Interrogate the decoder to see if we are getting a real signal */ lock_status = au8522_readreg(state, 0x00); - if (lock_status == 0xa2) + pll_status = au8522_readreg(state, 0x7e); + if ((lock_status == 0xa2) && (pll_status & 0x10)) vt->signal = 0xffff; else vt->signal = 0x00;