aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2012-08-12 21:33:21 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-13 15:01:17 -0400
commit224b6642f5e82a1b21f6b552c799fa02e527d542 (patch)
treee73e68bcaf805c4cacb44c32865dd73395504f30 /drivers
parent991452a21b76e5e1bba2fcf9c024ab69067f5656 (diff)
[media] add DTMB support for DVB API
Cc: Patrick Boettcher <pboettcher@kernellabs.com> Cc: Andreas Oberritter <obi@linuxtv.org> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Acked-by: Patrick Boettcher <pboettcher@kernellabs.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c14
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.h2
-rw-r--r--drivers/media/dvb/frontends/atbm8830.c2
-rw-r--r--drivers/media/dvb/frontends/lgs8gl5.c2
-rw-r--r--drivers/media/dvb/frontends/lgs8gxx.c2
5 files changed, 16 insertions, 6 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 746dfd86aeab..3a0f24547196 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -179,7 +179,7 @@ static enum dvbv3_emulation_type dvbv3_type(u32 delivery_system)
179 case SYS_DVBT: 179 case SYS_DVBT:
180 case SYS_DVBT2: 180 case SYS_DVBT2:
181 case SYS_ISDBT: 181 case SYS_ISDBT:
182 case SYS_DMBTH: 182 case SYS_DTMB:
183 return DVBV3_OFDM; 183 return DVBV3_OFDM;
184 case SYS_ATSC: 184 case SYS_ATSC:
185 case SYS_ATSCMH: 185 case SYS_ATSCMH:
@@ -997,6 +997,7 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
997 _DTV_CMD(DTV_CODE_RATE_LP, 1, 0), 997 _DTV_CMD(DTV_CODE_RATE_LP, 1, 0),
998 _DTV_CMD(DTV_GUARD_INTERVAL, 1, 0), 998 _DTV_CMD(DTV_GUARD_INTERVAL, 1, 0),
999 _DTV_CMD(DTV_TRANSMISSION_MODE, 1, 0), 999 _DTV_CMD(DTV_TRANSMISSION_MODE, 1, 0),
1000 _DTV_CMD(DTV_INTERLEAVING, 1, 0),
1000 1001
1001 _DTV_CMD(DTV_ISDBT_PARTIAL_RECEPTION, 1, 0), 1002 _DTV_CMD(DTV_ISDBT_PARTIAL_RECEPTION, 1, 0),
1002 _DTV_CMD(DTV_ISDBT_SOUND_BROADCASTING, 1, 0), 1003 _DTV_CMD(DTV_ISDBT_SOUND_BROADCASTING, 1, 0),
@@ -1028,6 +1029,7 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
1028 _DTV_CMD(DTV_GUARD_INTERVAL, 0, 0), 1029 _DTV_CMD(DTV_GUARD_INTERVAL, 0, 0),
1029 _DTV_CMD(DTV_TRANSMISSION_MODE, 0, 0), 1030 _DTV_CMD(DTV_TRANSMISSION_MODE, 0, 0),
1030 _DTV_CMD(DTV_HIERARCHY, 0, 0), 1031 _DTV_CMD(DTV_HIERARCHY, 0, 0),
1032 _DTV_CMD(DTV_INTERLEAVING, 0, 0),
1031 1033
1032 _DTV_CMD(DTV_ENUM_DELSYS, 0, 0), 1034 _DTV_CMD(DTV_ENUM_DELSYS, 0, 0),
1033 1035
@@ -1326,6 +1328,9 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
1326 case DTV_HIERARCHY: 1328 case DTV_HIERARCHY:
1327 tvp->u.data = c->hierarchy; 1329 tvp->u.data = c->hierarchy;
1328 break; 1330 break;
1331 case DTV_INTERLEAVING:
1332 tvp->u.data = c->interleaving;
1333 break;
1329 1334
1330 /* ISDB-T Support here */ 1335 /* ISDB-T Support here */
1331 case DTV_ISDBT_PARTIAL_RECEPTION: 1336 case DTV_ISDBT_PARTIAL_RECEPTION:
@@ -1593,7 +1598,7 @@ static int set_delivery_system(struct dvb_frontend *fe, u32 desired_system)
1593 * The DVBv3 or DVBv5 call is requesting a different system. So, 1598 * The DVBv3 or DVBv5 call is requesting a different system. So,
1594 * emulation is needed. 1599 * emulation is needed.
1595 * 1600 *
1596 * Emulate newer delivery systems like ISDBT, DVBT and DMBTH 1601 * Emulate newer delivery systems like ISDBT, DVBT and DTMB
1597 * for older DVBv5 applications. The emulation will try to use 1602 * for older DVBv5 applications. The emulation will try to use
1598 * the auto mode for most things, and will assume that the desired 1603 * the auto mode for most things, and will assume that the desired
1599 * delivery system is the last one at the ops.delsys[] array 1604 * delivery system is the last one at the ops.delsys[] array
@@ -1715,6 +1720,9 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
1715 case DTV_HIERARCHY: 1720 case DTV_HIERARCHY:
1716 c->hierarchy = tvp->u.data; 1721 c->hierarchy = tvp->u.data;
1717 break; 1722 break;
1723 case DTV_INTERLEAVING:
1724 c->interleaving = tvp->u.data;
1725 break;
1718 1726
1719 /* ISDB-T Support here */ 1727 /* ISDB-T Support here */
1720 case DTV_ISDBT_PARTIAL_RECEPTION: 1728 case DTV_ISDBT_PARTIAL_RECEPTION:
@@ -2012,7 +2020,7 @@ static int dtv_set_frontend(struct dvb_frontend *fe)
2012 case SYS_DVBT: 2020 case SYS_DVBT:
2013 case SYS_DVBT2: 2021 case SYS_DVBT2:
2014 case SYS_ISDBT: 2022 case SYS_ISDBT:
2015 case SYS_DMBTH: 2023 case SYS_DTMB:
2016 fepriv->min_delay = HZ / 20; 2024 fepriv->min_delay = HZ / 20;
2017 fepriv->step_size = fe->ops.info.frequency_stepsize * 2; 2025 fepriv->step_size = fe->ops.info.frequency_stepsize * 2;
2018 fepriv->max_drift = (fe->ops.info.frequency_stepsize * 2) + 1; 2026 fepriv->max_drift = (fe->ops.info.frequency_stepsize * 2) + 1;
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index 7c64c09103a9..de410cc94fbb 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -354,6 +354,8 @@ struct dtv_frontend_properties {
354 354
355 fe_delivery_system_t delivery_system; 355 fe_delivery_system_t delivery_system;
356 356
357 enum fe_interleaving interleaving;
358
357 /* ISDB-T specifics */ 359 /* ISDB-T specifics */
358 u8 isdbt_partial_reception; 360 u8 isdbt_partial_reception;
359 u8 isdbt_sb_mode; 361 u8 isdbt_sb_mode;
diff --git a/drivers/media/dvb/frontends/atbm8830.c b/drivers/media/dvb/frontends/atbm8830.c
index a2261ea2cf82..4e11dc4b1335 100644
--- a/drivers/media/dvb/frontends/atbm8830.c
+++ b/drivers/media/dvb/frontends/atbm8830.c
@@ -428,7 +428,7 @@ static int atbm8830_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
428} 428}
429 429
430static struct dvb_frontend_ops atbm8830_ops = { 430static struct dvb_frontend_ops atbm8830_ops = {
431 .delsys = { SYS_DMBTH }, 431 .delsys = { SYS_DTMB },
432 .info = { 432 .info = {
433 .name = "AltoBeam ATBM8830/8831 DMB-TH", 433 .name = "AltoBeam ATBM8830/8831 DMB-TH",
434 .frequency_min = 474000000, 434 .frequency_min = 474000000,
diff --git a/drivers/media/dvb/frontends/lgs8gl5.c b/drivers/media/dvb/frontends/lgs8gl5.c
index 2cec8041a106..416cce3fefc7 100644
--- a/drivers/media/dvb/frontends/lgs8gl5.c
+++ b/drivers/media/dvb/frontends/lgs8gl5.c
@@ -412,7 +412,7 @@ EXPORT_SYMBOL(lgs8gl5_attach);
412 412
413 413
414static struct dvb_frontend_ops lgs8gl5_ops = { 414static struct dvb_frontend_ops lgs8gl5_ops = {
415 .delsys = { SYS_DMBTH }, 415 .delsys = { SYS_DTMB },
416 .info = { 416 .info = {
417 .name = "Legend Silicon LGS-8GL5 DMB-TH", 417 .name = "Legend Silicon LGS-8GL5 DMB-TH",
418 .frequency_min = 474000000, 418 .frequency_min = 474000000,
diff --git a/drivers/media/dvb/frontends/lgs8gxx.c b/drivers/media/dvb/frontends/lgs8gxx.c
index c2ea2749ebed..3c92f36ea5c7 100644
--- a/drivers/media/dvb/frontends/lgs8gxx.c
+++ b/drivers/media/dvb/frontends/lgs8gxx.c
@@ -995,7 +995,7 @@ static int lgs8gxx_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
995} 995}
996 996
997static struct dvb_frontend_ops lgs8gxx_ops = { 997static struct dvb_frontend_ops lgs8gxx_ops = {
998 .delsys = { SYS_DMBTH }, 998 .delsys = { SYS_DTMB },
999 .info = { 999 .info = {
1000 .name = "Legend Silicon LGS8913/LGS8GXX DMB-TH", 1000 .name = "Legend Silicon LGS8913/LGS8GXX DMB-TH",
1001 .frequency_min = 474000000, 1001 .frequency_min = 474000000,