diff options
author | Steven Toth <stoth@linuxtv.org> | 2008-10-06 20:56:59 -0400 |
---|---|---|
committer | Steven Toth <stoth@linuxtv.org> | 2008-10-06 20:56:59 -0400 |
commit | 77e4006bebedd63a6602c7672794fe8f4ad5752b (patch) | |
tree | 62cd8b4b1da5ff195b7acff34bf86b21e3982eac | |
parent | 3a13c060ab3b0907e4749fa6914a3ddbeba1c0a6 (diff) | |
download | mediapointer-dvb-s2-77e4006bebedd63a6602c7672794fe8f4ad5752b.tar.gz mediapointer-dvb-s2-77e4006bebedd63a6602c7672794fe8f4ad5752b.tar.bz2 |
S2API: Add support fot DTV_GUARD_INTERVAL and DTV_TRANSMISSION_MODE
From: Steven Toth <stoth@linuxtv.org>
Tuning DVB-T via the S2API was failing, missing some essential items.
Priority: normal
Signed-off-by: Steven Toth <stoth@linuxtv.org>
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 32 | ||||
-rw-r--r-- | linux/include/linux/dvb/frontend.h | 4 |
2 files changed, 35 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c index d453108e1..361c1c541 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -863,6 +863,16 @@ struct dtv_cmds_h dtv_cmds[] = { .cmd = DTV_CODE_RATE_LP, .set = 1, }, + [DTV_GUARD_INTERVAL] = { + .name = "DTV_GUARD_INTERVAL", + .cmd = DTV_GUARD_INTERVAL, + .set = 1, + }, + [DTV_TRANSMISSION_MODE] = { + .name = "DTV_TRANSMISSION_MODE", + .cmd = DTV_TRANSMISSION_MODE, + .set = 1, + }, /* Get */ [DTV_DISEQC_SLAVE_REPLY] = { .name = "DTV_DISEQC_SLAVE_REPLY", @@ -932,6 +942,16 @@ struct dtv_cmds_h dtv_cmds[] = { .cmd = DTV_CODE_RATE_LP, .set = 0, }, + [DTV_GUARD_INTERVAL] = { + .name = "DTV_GUARD_INTERVAL", + .cmd = DTV_GUARD_INTERVAL, + .set = 0, + }, + [DTV_TRANSMISSION_MODE] = { + .name = "DTV_TRANSMISSION_MODE", + .cmd = DTV_TRANSMISSION_MODE, + .set = 0, + }, }; void dtv_property_dump(struct dtv_property *tvp) @@ -1253,6 +1273,12 @@ int dtv_property_process_get(struct dvb_frontend *fe, struct dtv_property *tvp, case DTV_CODE_RATE_LP: tvp->u.data = fe->dtv_property_cache.code_rate_LP; break; + case DTV_GUARD_INTERVAL: + tvp->u.data = fe->dtv_property_cache.guard_interval; + break; + case DTV_TRANSMISSION_MODE: + tvp->u.data = fe->dtv_property_cache.transmission_mode; + break; default: r = -1; } @@ -1349,6 +1375,12 @@ int dtv_property_process_set(struct dvb_frontend *fe, struct dtv_property *tvp, case DTV_CODE_RATE_LP: fe->dtv_property_cache.code_rate_LP = tvp->u.data; break; + case DTV_GUARD_INTERVAL: + fe->dtv_property_cache.guard_interval = tvp->u.data; + break; + case DTV_TRANSMISSION_MODE: + fe->dtv_property_cache.transmission_mode = tvp->u.data; + break; default: r = -1; } diff --git a/linux/include/linux/dvb/frontend.h b/linux/include/linux/dvb/frontend.h index 2dba65a58..313ba84e6 100644 --- a/linux/include/linux/dvb/frontend.h +++ b/linux/include/linux/dvb/frontend.h @@ -302,8 +302,10 @@ struct dvb_frontend_event { #define DTV_API_VERSION 35 #define DTV_CODE_RATE_HP 36 #define DTV_CODE_RATE_LP 37 +#define DTV_GUARD_INTERVAL 38 +#define DTV_TRANSMISSION_MODE 39 -#define DTV_MAX_COMMAND DTV_CODE_RATE_LP +#define DTV_MAX_COMMAND DTV_TRANSMISSION_MODE typedef enum fe_pilot { PILOT_ON, |