.cmd = DTV_FREQUENCY,
.set = 1,
},
- [DTV_BANDWIDTH] = {
- .name = "DTV_BANDWIDTH",
- .cmd = DTV_BANDWIDTH,
+ [DTV_BANDWIDTH_HZ] = {
+ .name = "DTV_BANDWIDTH_HZ",
+ .cmd = DTV_BANDWIDTH_HZ,
.set = 1,
},
[DTV_MODULATION] = {
c->delivery_system = SYS_DVBC_ANNEX_AC;
break;
case FE_OFDM:
- c->bandwidth = p->u.ofdm.bandwidth;
+ if (p->u.ofdm.bandwidth == BANDWIDTH_6_MHZ)
+ c->bandwidth_hz = 6000000;
+ else if (p->u.ofdm.bandwidth == BANDWIDTH_7_MHZ)
+ c->bandwidth_hz = 7000000;
+ else if (p->u.ofdm.bandwidth == BANDWIDTH_8_MHZ)
+ c->bandwidth_hz = 8000000;
+ else
+ /* Including BANDWIDTH_AUTO */
+ c->bandwidth_hz = 0;
c->code_rate_HP = p->u.ofdm.code_rate_HP;
c->code_rate_LP = p->u.ofdm.code_rate_LP;
c->modulation = p->u.ofdm.constellation;
break;
case FE_OFDM:
printk("%s() Preparing OFDM req\n", __FUNCTION__);
- p->u.ofdm.bandwidth = c->bandwidth;
+ if (c->bandwidth_hz == 6000000)
+ p->u.ofdm.bandwidth = BANDWIDTH_6_MHZ;
+ else if (c->bandwidth_hz == 7000000)
+ p->u.ofdm.bandwidth = BANDWIDTH_7_MHZ;
+ else if (c->bandwidth_hz == 8000000)
+ p->u.ofdm.bandwidth = BANDWIDTH_8_MHZ;
+ else
+ p->u.ofdm.bandwidth = BANDWIDTH_AUTO;
p->u.ofdm.code_rate_HP = c->code_rate_HP;
p->u.ofdm.code_rate_LP = c->code_rate_LP;
p->u.ofdm.constellation = c->modulation;
case DTV_MODULATION:
tvp->u.data = fe->dtv_property_cache.modulation;
break;
- case DTV_BANDWIDTH:
- tvp->u.data = fe->dtv_property_cache.bandwidth;
+ case DTV_BANDWIDTH_HZ:
+ tvp->u.data = fe->dtv_property_cache.bandwidth_hz;
break;
case DTV_INVERSION:
tvp->u.data = fe->dtv_property_cache.inversion;
case DTV_MODULATION:
fe->dtv_property_cache.modulation = tvp->u.data;
break;
- case DTV_BANDWIDTH:
- fe->dtv_property_cache.bandwidth = tvp->u.data;
+ case DTV_BANDWIDTH_HZ:
+ fe->dtv_property_cache.bandwidth_hz = tvp->u.data;
break;
case DTV_INVERSION:
fe->dtv_property_cache.inversion = tvp->u.data;
DTV_FREQUENCY,
DTV_MODULATION,
- DTV_BANDWIDTH,
+
+ /* XXX PB: I would like to have field which describes the
+ * bandwidth of a channel in Hz or kHz - maybe we can remove the
+ * DTV_BANDWIDTH now and put a compat layer */
+ DTV_BANDWIDTH_HZ,
+
DTV_INVERSION,
DTV_DISEQC_MASTER,
DTV_SYMBOL_RATE,
/* New commands are always appended */
DTV_DELIVERY_SYSTEM,
- /* ISDB-T */
+ /* ISDB */
+ /* maybe a dup of DTV_ISDB_SOUND_BROADCASTING_SUBCHANNEL_ID ??? */
DTV_ISDB_SEGMENT_IDX,
- DTV_ISDB_SEGMENT_WIDTH,
+ DTV_ISDB_SEGMENT_WIDTH, /* 1, 3 or 13 ??? */
+
+ /* the central segment can be received independently or 1/3 seg in SB-mode */
+ DTV_ISDB_PARTIAL_RECEPTION,
+ /* sound broadcasting is used 0 = 13segment, 1 = 1 or 3 see DTV_ISDB_PARTIAL_RECEPTION */
+ DTV_ISDB_SOUND_BROADCASTING,
+
+ /* only used in SB */
+ /* determines the initial PRBS of the segment (to match with 13seg channel) */
+ DTV_ISDB_SOUND_BROADCASTING_SUBCHANNEL_ID,
+
DTV_ISDB_LAYERA_FEC,
DTV_ISDB_LAYERA_MODULATION,
DTV_ISDB_LAYERA_SEGMENT_WIDTH,
+ DTV_ISDB_LAYERA_TIME_INTERLEAVER,
+
DTV_ISDB_LAYERB_FEC,
DTV_ISDB_LAYERB_MODULATION,
DTV_ISDB_LAYERB_SEGMENT_WIDTH,
+ DTV_ISDB_LAYERB_TIME_INTERLEAVING,
+
DTV_ISDB_LAYERC_FEC,
DTV_ISDB_LAYERC_MODULATION,
DTV_ISDB_LAYERC_SEGMENT_WIDTH,
+ DTV_ISDB_LAYERC_TIME_INTERLEAVING,
} dtv_cmd_types_t;