Skip to content

Commit

Permalink
V4L/DVB (9180): S2API: Added support for DTV_CODE_RATE_HP/LP
Browse files Browse the repository at this point in the history
Reports from users that using the new API for tuning DTV was failing,
and the cache was missing some essential items.

Signed-off-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Steven Toth authored and Mauro Carvalho Chehab committed Oct 13, 2008
1 parent cc7d705 commit a4de91b
Showing 2 changed files with 36 additions and 1 deletion.
32 changes: 32 additions & 0 deletions drivers/media/dvb/dvb-core/dvb_frontend.c
Original file line number Diff line number Diff line change
@@ -830,6 +830,16 @@ struct dtv_cmds_h dtv_cmds[] = {
.cmd = DTV_DELIVERY_SYSTEM,
.set = 1,
},
[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",
@@ -842,6 +852,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)
@@ -1121,6 +1141,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;
}
@@ -1202,6 +1228,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;
}
5 changes: 4 additions & 1 deletion include/linux/dvb/frontend.h
Original file line number Diff line number Diff line change
@@ -268,8 +268,11 @@ struct dvb_frontend_event {
#define DTV_DELIVERY_SYSTEM 17

#define DTV_API_VERSION 35
#define DTV_API_VERSION 35
#define DTV_CODE_RATE_HP 36
#define DTV_CODE_RATE_LP 37

#define DTV_MAX_COMMAND DTV_API_VERSION
#define DTV_MAX_COMMAND DTV_CODE_RATE_LP

typedef enum fe_pilot {
PILOT_ON,

0 comments on commit a4de91b

Please sign in to comment.