From patchwork Fri Dec 31 11:37:00 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Igor M. Liplianin" X-Patchwork-Id: 442941 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p019Ybjk011827 for ; Sat, 1 Jan 2011 09:34:37 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752365Ab1AAJeM (ORCPT ); Sat, 1 Jan 2011 04:34:12 -0500 Received: from mail-ew0-f46.google.com ([209.85.215.46]:58205 "EHLO mail-ew0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752193Ab1AAJeM (ORCPT ); Sat, 1 Jan 2011 04:34:12 -0500 Received: by ewy5 with SMTP id 5so5608619ewy.19 for ; Sat, 01 Jan 2011 01:34:11 -0800 (PST) Received: by 10.213.21.203 with SMTP id k11mr6598479ebb.85.1293874450860; Sat, 01 Jan 2011 01:34:10 -0800 (PST) Received: from useri.localnet ([93.125.74.3]) by mx.google.com with ESMTPS id t5sm12965507eeh.8.2011.01.01.01.34.09 (version=SSLv3 cipher=RC4-MD5); Sat, 01 Jan 2011 01:34:10 -0800 (PST) Message-ID: <4d1ef512.857a0e0a.45e5.0be6@mx.google.com> From: Abylay Ospan Date: Fri, 31 Dec 2010 13:37:00 +0200 Subject: [PATCH 12/18] stv0367: implement uncorrected blocks counter. To: , , 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 (demeter1.kernel.org [140.211.167.41]); Sat, 01 Jan 2011 09:34:37 +0000 (UTC) diff --git a/drivers/media/dvb/frontends/stv0367.c b/drivers/media/dvb/frontends/stv0367.c index 9439388..aaa2b44 100644 --- a/drivers/media/dvb/frontends/stv0367.c +++ b/drivers/media/dvb/frontends/stv0367.c @@ -3327,6 +3327,24 @@ static int stv0367cab_read_snr(struct dvb_frontend *fe, u16 *snr) return 0; } +static int stv0367cab_read_ucblcks(struct dvb_frontend *fe, u32 *ucblocks) +{ + struct stv0367_state *state = fe->demodulator_priv; + int corrected, tscount; + + *ucblocks = (stv0367_readreg(state, R367CAB_RS_COUNTER_5) << 8) + | stv0367_readreg(state, R367CAB_RS_COUNTER_4); + corrected = (stv0367_readreg(state, R367CAB_RS_COUNTER_3) << 8) + | stv0367_readreg(state, R367CAB_RS_COUNTER_2); + tscount = (stv0367_readreg(state, R367CAB_RS_COUNTER_2) << 8) + | stv0367_readreg(state, R367CAB_RS_COUNTER_1); + + dprintk("%s: uncorrected blocks=%d corrected blocks=%d tscount=%d\n", + __func__, *ucblocks, corrected, tscount); + + return 0; +}; + static struct dvb_frontend_ops stv0367cab_ops = { .info = { .name = "ST STV0367 DVB-C", @@ -3351,7 +3369,7 @@ static struct dvb_frontend_ops stv0367cab_ops = { /* .read_ber = stv0367cab_read_ber,*/ .read_signal_strength = stv0367cab_read_strength, .read_snr = stv0367cab_read_snr, -/* .read_ucblocks = stv0367cab_read_ucblcks,*/ + .read_ucblocks = stv0367cab_read_ucblcks, .get_tune_settings = stv0367_get_tune_settings, };