diff options
author | Olivier Grenie <olivier.grenie@dibcom.fr> | 2009-09-18 03:08:43 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:40:03 -0500 |
commit | f8731f4ddedb78693ae05e40aac5c4817f740518 (patch) | |
tree | 56100674dd3a1c2935ca234fd8086f24322ab163 /drivers/media/dvb/frontends/dib7000p.c | |
parent | 8171c2059cc4b0507faf3a0e0fdf28cc83d8ac62 (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.c | 18 |
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 | } |
1303 | EXPORT_SYMBOL(dib7000p_get_i2c_master); | 1303 | EXPORT_SYMBOL(dib7000p_get_i2c_master); |
1304 | 1304 | ||
1305 | int 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 | } | ||
1313 | EXPORT_SYMBOL(dib7000p_pid_filter_ctrl); | ||
1314 | |||
1315 | int 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 | } | ||
1321 | EXPORT_SYMBOL(dib7000p_pid_filter); | ||
1322 | |||
1305 | int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, struct dib7000p_config cfg[]) | 1323 | int 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 }; |