diff options
author | Antti Palosaari <crope@iki.fi> | 2012-08-12 21:33:21 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-08-13 15:01:17 -0400 |
commit | 224b6642f5e82a1b21f6b552c799fa02e527d542 (patch) | |
tree | e73e68bcaf805c4cacb44c32865dd73395504f30 /drivers | |
parent | 991452a21b76e5e1bba2fcf9c024ab69067f5656 (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.c | 14 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_frontend.h | 2 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/atbm8830.c | 2 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/lgs8gl5.c | 2 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/lgs8gxx.c | 2 |
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 | ||
430 | static struct dvb_frontend_ops atbm8830_ops = { | 430 | static 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 | ||
414 | static struct dvb_frontend_ops lgs8gl5_ops = { | 414 | static 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 | ||
997 | static struct dvb_frontend_ops lgs8gxx_ops = { | 997 | static 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, |