Skip to content

Commit

Permalink
V4L/DVB (12997): Add the DTV_ISDB_TS_ID property for ISDB_S
Browse files Browse the repository at this point in the history
In ISDB-S, time-devision duplex is used to multiplexing several waves
in the same frequency. Each wave is identified by its own transport
stream ID, or TS ID. We need to provide some way to specify this ID
from user applications to handle ISDB-S frontends.

This code has been tested with the Earthsoft PT1 driver.

[mchehab@infradead.org: Fix merge conflicts with isdbt and rename the new parameter to DTV_ISDBS_TS_ID]
Signed-off-by: HIRANO Takahito <hiranotaka@zng.info>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
HIRANO Takahito authored and Mauro Carvalho Chehab committed Sep 19, 2009
1 parent 0030ec3 commit 98293ef
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
8 changes: 8 additions & 0 deletions drivers/media/dvb/dvb-core/dvb_frontend.c
Original file line number Diff line number Diff line change
Expand Up @@ -1031,6 +1031,8 @@ static struct dtv_cmds_h dtv_cmds[] = {
_DTV_CMD(DTV_ISDBT_LAYERC_SEGMENT_COUNT, 0, 0),
_DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 0, 0),

_DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),

/* Get */
[DTV_DISEQC_SLAVE_REPLY] = {
.name = "DTV_DISEQC_SLAVE_REPLY",
Expand Down Expand Up @@ -1420,6 +1422,9 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
tvp->u.data = fe->dtv_property_cache.layer[2].interleaving;
break;
case DTV_ISDBS_TS_ID:
tvp->u.data = fe->dtv_property_cache.isdbs_ts_id;
break;
default:
r = -1;
}
Expand Down Expand Up @@ -1571,6 +1576,9 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
fe->dtv_property_cache.layer[2].interleaving = tvp->u.data;
break;
case DTV_ISDBS_TS_ID:
fe->dtv_property_cache.isdbs_ts_id = tvp->u.data;
break;
default:
r = -1;
}
Expand Down
3 changes: 3 additions & 0 deletions drivers/media/dvb/dvb-core/dvb_frontend.h
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,9 @@ struct dtv_frontend_properties {
fe_modulation_t modulation;
u8 interleaving;
} layer[3];

/* ISDB-T specifics */
u32 isdbs_ts_id;
};

struct dvb_frontend {
Expand Down
4 changes: 3 additions & 1 deletion include/linux/dvb/frontend.h
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,9 @@ struct dvb_frontend_event {

#define DTV_ISDBT_LAYER_ENABLED 41

#define DTV_MAX_COMMAND DTV_ISDBT_LAYER_ENABLED
#define DTV_ISDBS_TS_ID 42

#define DTV_MAX_COMMAND DTV_ISDBS_TS_ID

typedef enum fe_pilot {
PILOT_ON,
Expand Down

0 comments on commit 98293ef

Please sign in to comment.