Merge branch 'vuplus-1.6' of 192.168.102.66:/var/ikseong/repo/openembedded into test_0921
[vuplus_openembedded] / recipes / v4l-dvb / files / basic-dvb-t2-support.patch
1 # HG changeset patch
2 # User Andreas Oberritter <obi@linuxtv.org>
3 # Date 1284052513 0
4 # Node ID 558dc662028e9ae5debcfb708da07ab67be8b3d8
5 # Parent  03dc113ca9af927f8a406b02d1b356258ecdcdee
6 DVB: Add basic support for DVB-T2
7
8 diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
9 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
10 +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
11 @@ -1161,10 +1161,9 @@
12                 break;
13         }
14  
15 -       if(c->delivery_system == SYS_ISDBT) {
16 -               /* Fake out a generic DVB-T request so we pass validation in the ioctl */
17 -               p->frequency = c->frequency;
18 -               p->inversion = c->inversion;
19 +       /* Fake out a generic DVB-T request so we pass validation in the ioctl */
20 +       if ((c->delivery_system == SYS_ISDBT) ||
21 +           (c->delivery_system == SYS_DVBT2)) {
22                 p->u.ofdm.constellation = QAM_AUTO;
23                 p->u.ofdm.code_rate_HP = FEC_AUTO;
24                 p->u.ofdm.code_rate_LP = FEC_AUTO;
25 diff --git a/linux/include/linux/dvb/frontend.h b/linux/include/linux/dvb/frontend.h
26 --- a/linux/include/linux/dvb/frontend.h
27 +++ b/linux/include/linux/dvb/frontend.h
28 @@ -175,14 +175,20 @@
29         TRANSMISSION_MODE_2K,
30         TRANSMISSION_MODE_8K,
31         TRANSMISSION_MODE_AUTO,
32 -       TRANSMISSION_MODE_4K
33 +       TRANSMISSION_MODE_4K,
34 +       TRANSMISSION_MODE_1K,
35 +       TRANSMISSION_MODE_16K,
36 +       TRANSMISSION_MODE_32K,
37  } fe_transmit_mode_t;
38  
39  typedef enum fe_bandwidth {
40         BANDWIDTH_8_MHZ,
41         BANDWIDTH_7_MHZ,
42         BANDWIDTH_6_MHZ,
43 -       BANDWIDTH_AUTO
44 +       BANDWIDTH_AUTO,
45 +       BANDWIDTH_5_MHZ,
46 +       BANDWIDTH_10_MHZ,
47 +       BANDWIDTH_1_712_MHZ,
48  } fe_bandwidth_t;
49  
50  
51 @@ -191,7 +197,10 @@
52         GUARD_INTERVAL_1_16,
53         GUARD_INTERVAL_1_8,
54         GUARD_INTERVAL_1_4,
55 -       GUARD_INTERVAL_AUTO
56 +       GUARD_INTERVAL_AUTO,
57 +       GUARD_INTERVAL_1_128,
58 +       GUARD_INTERVAL_19_128,
59 +       GUARD_INTERVAL_19_256,
60  } fe_guard_interval_t;
61  
62  
63 @@ -305,7 +314,9 @@
64  
65  #define DTV_ISDBS_TS_ID                42
66  
67 -#define DTV_MAX_COMMAND                                DTV_ISDBS_TS_ID
68 +#define DTV_DVBT2_PLP_ID       43
69 +
70 +#define DTV_MAX_COMMAND                                DTV_DVBT2_PLP_ID
71  
72  typedef enum fe_pilot {
73         PILOT_ON,
74 @@ -337,6 +348,7 @@
75         SYS_DMBTH,
76         SYS_CMMB,
77         SYS_DAB,
78 +       SYS_DVBT2,
79  } fe_delivery_system_t;
80  
81  struct dtv_cmds_h {
82 diff --git a/linux/include/linux/dvb/version.h b/linux/include/linux/dvb/version.h
83 --- a/linux/include/linux/dvb/version.h
84 +++ b/linux/include/linux/dvb/version.h
85 @@ -24,6 +24,6 @@
86  #define _DVBVERSION_H_
87  
88  #define DVB_API_VERSION 5
89 -#define DVB_API_VERSION_MINOR 2
90 +#define DVB_API_VERSION_MINOR 3
91  
92  #endif /*_DVBVERSION_H_*/
93 --- v4l-dvb-org/linux/drivers/media/dvb/dvb-core/dvb_frontend.c 2011-08-13 18:16:51.000000000 +0200
94 +++ v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_frontend.c     2011-08-13 18:21:12.953703247 +0200
95 @@ -917,7 +917,7 @@
96         .buffer = b \
97  }
98  
99 -static struct dtv_cmds_h dtv_cmds[] = {
100 +static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
101         _DTV_CMD(DTV_TUNE, 1, 0),
102         _DTV_CMD(DTV_CLEAR, 1, 0),
103  
104 @@ -979,6 +979,7 @@
105         _DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 0, 0),
106  
107         _DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
108 +       _DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
109  
110         /* Get */
111         _DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
112 @@ -1334,6 +1335,9 @@
113         case DTV_ISDBS_TS_ID:
114                 tvp->u.data = c->isdbs_ts_id;
115                 break;
116 +       case DTV_DVBT2_PLP_ID:
117 +               tvp->u.data = fe->dtv_property_cache.dvbt2_plp_id;
118 +               break;
119         default:
120                 return -EINVAL;
121         }
122 @@ -1498,6 +1502,9 @@
123         case DTV_ISDBS_TS_ID:
124                 c->isdbs_ts_id = tvp->u.data;
125                 break;
126 +       case DTV_DVBT2_PLP_ID:
127 +               fe->dtv_property_cache.dvbt2_plp_id = tvp->u.data;
128 +               break;
129         default:
130                 return -EINVAL;
131         }
132 --- v4l-dvb-org/linux/drivers/media/dvb/dvb-core/dvb_frontend.h 2011-04-13 01:43:27.000000000 +0200
133 +++ v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_frontend.h     2011-08-13 18:21:12.973703248 +0200
134 @@ -359,6 +359,9 @@
135  
136         /* ISDB-T specifics */
137         u32                     isdbs_ts_id;
138 +
139 +       /* DVB-T2 specifics */
140 +       u32                     dvbt2_plp_id;
141  };
142  
143  struct dvb_frontend {