aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/dib7000p.c
diff options
context:
space:
mode:
authorOlivier Grenie <olivier.grenie@dibcom.fr>2009-09-18 03:08:43 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 15:40:03 -0500
commitf8731f4ddedb78693ae05e40aac5c4817f740518 (patch)
tree56100674dd3a1c2935ca234fd8086f24322ab163 /drivers/media/dvb/frontends/dib7000p.c
parent8171c2059cc4b0507faf3a0e0fdf28cc83d8ac62 (diff)
V4L/DVB (13049): dib8000: SNR in 10th of dB
dib7000p/dib8000: added pid filtering dib8000: the SNR is in 10th of dB (not in dB) dib7000p and dib8000: added the pid filtering. This feature is enabled by module option (dvb-usb module). Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr> Signed-off-by: Patrick Boettcher <pboettcher@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/dib7000p.c')
-rw-r--r--drivers/media/dvb/frontends/dib7000p.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/dib7000p.c b/drivers/media/dvb/frontends/dib7000p.c
index 0781f94e05d2..60e1aaaec5b3 100644
--- a/drivers/media/dvb/frontends/dib7000p.c
+++ b/drivers/media/dvb/frontends/dib7000p.c
@@ -1302,6 +1302,24 @@ struct i2c_adapter * dib7000p_get_i2c_master(struct dvb_frontend *demod, enum di
1302} 1302}
1303EXPORT_SYMBOL(dib7000p_get_i2c_master); 1303EXPORT_SYMBOL(dib7000p_get_i2c_master);
1304 1304
1305int dib7000p_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff)
1306{
1307 struct dib7000p_state *state = fe->demodulator_priv;
1308 u16 val = dib7000p_read_word(state, 235) & 0xffef;
1309 val |= (onoff & 0x1) << 4;
1310 dprintk("PID filter enabled %d", onoff);
1311 return dib7000p_write_word(state, 235, val);
1312}
1313EXPORT_SYMBOL(dib7000p_pid_filter_ctrl);
1314
1315int dib7000p_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff)
1316{
1317 struct dib7000p_state *state = fe->demodulator_priv;
1318 dprintk("PID filter: index %x, PID %d, OnOff %d", id, pid, onoff);
1319 return dib7000p_write_word(state, 241 + id, onoff ? (1 << 13) | pid : 0);
1320}
1321EXPORT_SYMBOL(dib7000p_pid_filter);
1322
1305int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, struct dib7000p_config cfg[]) 1323int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, struct dib7000p_config cfg[])
1306{ 1324{
1307 struct dib7000p_state st = { .i2c_adap = i2c }; 1325 struct dib7000p_state st = { .i2c_adap = i2c };