From patchwork Thu May 6 12:07:04 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guillaume Audirac X-Patchwork-Id: 97341 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o46C6fVF015898 for ; Thu, 6 May 2010 12:07:09 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757861Ab0EFMHH (ORCPT ); Thu, 6 May 2010 08:07:07 -0400 Received: from 25.mail-out.ovh.net ([91.121.27.228]:40413 "HELO 25.mail-out.ovh.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1757821Ab0EFMHF (ORCPT ); Thu, 6 May 2010 08:07:05 -0400 Received: (qmail 30691 invoked by uid 503); 6 May 2010 12:18:57 -0000 Received: from b9.ovh.net (HELO mail383.ha.ovh.net) (213.186.33.59) by 25.mail-out.ovh.net with SMTP; 6 May 2010 12:18:57 -0000 Received: from b0.ovh.net (HELO queueout) (213.186.33.50) by b0.ovh.net with SMTP; 6 May 2010 12:07:04 -0000 Received: from ns0.ovh.net (HELO webmail.ovh.net) (213.186.33.20) by ns0.ovh.net with SMTP; 6 May 2010 12:07:04 -0000 Received: from 57.73.25.165 (SquirrelMail authenticated user guillaume.audirac@webag.fr) by webmail.ovh.net with HTTP; Thu, 6 May 2010 07:07:04 -0500 (GMT+5) Message-ID: <274b73596d167cb0762196603a4e481d.squirrel@webmail.ovh.net> Date: Thu, 6 May 2010 07:07:04 -0500 (GMT+5) Subject: [PATCH] tda10048: clear the uncorrected packet registers when saturated From: "Guillaume Audirac" To: linux-media@vger.kernel.org Reply-To: guillaume.audirac@webag.fr User-Agent: SquirrelMail/1.4.16 MIME-Version: 1.0 X-Priority: 3 (Normal) Importance: Normal X-Webmail-UserID: guillaume.audirac@webag.fr X-Originating-IP: 57.73.25.165 X-Ovh-Tracer-Id: 12747438745310795831 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Thu, 06 May 2010 12:07:12 +0000 (UTC) diff --git a/drivers/media/dvb/frontends/tda10048.c b/drivers/media/dvb/frontends/tda10048.c index 9a0ba30..93f6a75 100644 --- a/drivers/media/dvb/frontends/tda10048.c +++ b/drivers/media/dvb/frontends/tda10048.c @@ -50,8 +50,8 @@ #define TDA10048_CONF_C4_1 0x1E #define TDA10048_CONF_C4_2 0x1F #define TDA10048_CODE_IN_RAM 0x20 -#define TDA10048_CHANNEL_INFO_1_R 0x22 -#define TDA10048_CHANNEL_INFO_2_R 0x23 +#define TDA10048_CHANNEL_INFO1_R 0x22 +#define TDA10048_CHANNEL_INFO2_R 0x23 #define TDA10048_CHANNEL_INFO1 0x24 #define TDA10048_CHANNEL_INFO2 0x25 #define TDA10048_TIME_ERROR_R 0x26 @@ -64,8 +64,8 @@ #define TDA10048_IT_STAT 0x32 #define TDA10048_DSP_AD_LSB 0x3C #define TDA10048_DSP_AD_MSB 0x3D -#define TDA10048_DSP_REF_LSB 0x3E -#define TDA10048_DSP_REF_MSB 0x3F +#define TDA10048_DSP_REG_LSB 0x3E +#define TDA10048_DSP_REG_MSB 0x3F #define TDA10048_CONF_TRISTATE1 0x44 #define TDA10048_CONF_TRISTATE2 0x45 #define TDA10048_CONF_POLARITY 0x46 @@ -1033,6 +1033,9 @@ static int tda10048_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks) *ucblocks = tda10048_readreg(state, TDA10048_UNCOR_CPT_MSB) << 8 | tda10048_readreg(state, TDA10048_UNCOR_CPT_LSB); + /* clear the uncorrected TS packets counter when saturated */ + if (*ucblocks == 0xFFFF) + tda10048_writereg(state, TDA10048_UNCOR_CTRL, 0x80); return 0;