[PATCH 12/18] stv0367: implement uncorrected blocks counter.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Abylay Ospan
Date: Saturday, August 28, 2010 - 6:06 am

Signed-off-by: Abylay Ospan <aospan@netup.ru>
---
 drivers/media/dvb/frontends/stv0367.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

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,
 };
 
-- 
1.7.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 12/18] stv0367: implement uncorrected blocks counter., Abylay Ospan, (Sat Aug 28, 6:06 am)