From patchwork Mon Jan 10 09:36:22 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oliver Endriss X-Patchwork-Id: 5520 Return-path: Envelope-to: mchehab@pedra Delivery-date: Mon, 10 Jan 2011 08:15:01 -0200 Received: from mchehab by pedra with local (Exim 4.72) (envelope-from ) id 1PcEmC-0001Qo-Kp for mchehab@pedra; Mon, 10 Jan 2011 08:15:00 -0200 Received: from casper.infradead.org [85.118.1.10] by pedra with IMAP (fetchmail-6.3.17) for (single-drop); Mon, 10 Jan 2011 08:14:59 -0200 (BRST) Received: from vger.kernel.org ([209.132.180.67]) by casper.infradead.org with esmtp (Exim 4.72 #1 (Red Hat Linux)) id 1PcEE2-0002GV-Lv; Mon, 10 Jan 2011 09:39:43 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752855Ab1AJJj2 (ORCPT + 1 other); Mon, 10 Jan 2011 04:39:28 -0500 Received: from mailout-de.gmx.net ([213.165.64.22]:54549 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with SMTP id S1753145Ab1AJJjW (ORCPT ); Mon, 10 Jan 2011 04:39:22 -0500 Received: (qmail invoked by alias); 10 Jan 2011 09:39:20 -0000 Received: from p5B30AF64.dip.t-dialin.net (HELO charon.escape-edv.de) [91.48.175.100] by mail.gmx.net (mp068) with SMTP; 10 Jan 2011 10:39:20 +0100 X-Authenticated: #476490 X-Provags-ID: V01U2FsdGVkX196jjlHR8R6ElC80JwJ6qghNnb94bufr6ga5z5Fp5 L4r5O4b1SCfbH2 Received: from orion.escape-edv.de (192.168.1.10) by charon.escape-edv.de (192.168.1.9) with esmtp ; Mon, 10 Jan 2011 10:40:03 +0100 From: Oliver Endriss To: linux-media@vger.kernel.org Cc: mchehab@redhat.com Subject: [PATCH 14/16] stv090x: Fix losing lock in dual DVB-S2 mode Date: Mon, 10 Jan 2011 10:36:22 +0100 Message-Id: <1294652184-12843-15-git-send-email-o.endriss@gmx.de> X-Mailer: git-send-email 1.6.5.3 In-Reply-To: <1294652184-12843-1-git-send-email-o.endriss@gmx.de> References: <1294652184-12843-1-git-send-email-o.endriss@gmx.de> X-Y-GMX-Trusted: 0 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Sender: Do not clear registers ACLC/BCLC in DVB-S2 mode for Cut <= 20. Otherwise, the demod could lose the lock periodically. Verified with cineS2 and Duoflex. Signed-off-by: Oliver Endriss Signed-off-by: Manu Abraham --- drivers/media/dvb/frontends/stv090x.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/media/dvb/frontends/stv090x.c b/drivers/media/dvb/frontends/stv090x.c index 57e229a..1675c2a 100644 --- a/drivers/media/dvb/frontends/stv090x.c +++ b/drivers/media/dvb/frontends/stv090x.c @@ -2894,10 +2894,12 @@ static int stv090x_optimize_track(struct stv090x_state *state) STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 1); if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0) goto err; - if (STV090x_WRITE_DEMOD(state, ACLC, 0) < 0) - goto err; - if (STV090x_WRITE_DEMOD(state, BCLC, 0) < 0) - goto err; + if (state->internal->dev_ver >= 0x30) { + if (STV090x_WRITE_DEMOD(state, ACLC, 0) < 0) + goto err; + if (STV090x_WRITE_DEMOD(state, BCLC, 0) < 0) + goto err; + } if (state->frame_len == STV090x_LONG_FRAME) { reg = STV090x_READ_DEMOD(state, DMDMODCOD); modcod = STV090x_GETFIELD_Px(reg, DEMOD_MODCOD_FIELD);