summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/dvb-core
diff options
context:
space:
mode:
authorSteven Toth <stoth@linuxtv.org>2008-10-06 20:55:46 -0400
committerSteven Toth <stoth@linuxtv.org>2008-10-06 20:55:46 -0400
commit3a13c060ab3b0907e4749fa6914a3ddbeba1c0a6 (patch)
tree03221442481f25c74b98212158ef558b8514a6b1 /linux/drivers/media/dvb/dvb-core
parent35dfa5543c3557464747e67b89107fc28f902b47 (diff)
downloadmediapointer-dvb-s2-3a13c060ab3b0907e4749fa6914a3ddbeba1c0a6.tar.gz
mediapointer-dvb-s2-3a13c060ab3b0907e4749fa6914a3ddbeba1c0a6.tar.bz2
S2API: Added support for DTV_CODE_RATE_HP/LP
From: Steven Toth <stoth@linuxtv.org> Reports from users that using the new API for tuning DTV was failing, and the cache was missing some essential items. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/dvb/dvb-core')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
index b2b5515e2..d453108e1 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -853,6 +853,16 @@ struct dtv_cmds_h dtv_cmds[] = {
.set = 1,
},
#endif
+ [DTV_CODE_RATE_HP] = {
+ .name = "DTV_CODE_RATE_HP",
+ .cmd = DTV_CODE_RATE_HP,
+ .set = 1,
+ },
+ [DTV_CODE_RATE_LP] = {
+ .name = "DTV_CODE_RATE_LP",
+ .cmd = DTV_CODE_RATE_LP,
+ .set = 1,
+ },
/* Get */
[DTV_DISEQC_SLAVE_REPLY] = {
.name = "DTV_DISEQC_SLAVE_REPLY",
@@ -912,6 +922,16 @@ struct dtv_cmds_h dtv_cmds[] = {
.cmd = DTV_API_VERSION,
.set = 0,
},
+ [DTV_CODE_RATE_HP] = {
+ .name = "DTV_CODE_RATE_HP",
+ .cmd = DTV_CODE_RATE_HP,
+ .set = 0,
+ },
+ [DTV_CODE_RATE_LP] = {
+ .name = "DTV_CODE_RATE_LP",
+ .cmd = DTV_CODE_RATE_LP,
+ .set = 0,
+ },
};
void dtv_property_dump(struct dtv_property *tvp)
@@ -1227,6 +1247,12 @@ int dtv_property_process_get(struct dvb_frontend *fe, struct dtv_property *tvp,
case DTV_API_VERSION:
tvp->u.data = (DVB_API_VERSION << 8) | DVB_API_VERSION_MINOR;
break;
+ case DTV_CODE_RATE_HP:
+ tvp->u.data = fe->dtv_property_cache.code_rate_HP;
+ break;
+ case DTV_CODE_RATE_LP:
+ tvp->u.data = fe->dtv_property_cache.code_rate_LP;
+ break;
default:
r = -1;
}
@@ -1317,6 +1343,12 @@ int dtv_property_process_set(struct dvb_frontend *fe, struct dtv_property *tvp,
r = dvb_frontend_ioctl_legacy(inode, file, FE_SET_TONE,
(void *)fe->dtv_property_cache.sectone);
break;
+ case DTV_CODE_RATE_HP:
+ fe->dtv_property_cache.code_rate_HP = tvp->u.data;
+ break;
+ case DTV_CODE_RATE_LP:
+ fe->dtv_property_cache.code_rate_LP = tvp->u.data;
+ break;
default:
r = -1;
}