diff options
-rw-r--r-- | drivers/staging/media/as102/as102_drv.c | 38 | ||||
-rw-r--r-- | drivers/staging/media/as102/as102_drv.h | 6 | ||||
-rw-r--r-- | drivers/staging/media/as102/as102_usb_drv.c | 14 | ||||
-rw-r--r-- | drivers/staging/media/as102/as10x_cmd.c | 2 | ||||
-rw-r--r-- | drivers/staging/media/as102/as10x_cmd.h | 687 | ||||
-rw-r--r-- | drivers/staging/media/as102/as10x_handle.h | 6 | ||||
-rw-r--r-- | drivers/staging/media/as102/as10x_types.h | 235 |
7 files changed, 493 insertions, 495 deletions
diff --git a/drivers/staging/media/as102/as102_drv.c b/drivers/staging/media/as102/as102_drv.c index e77590022bcc..32340391c7f8 100644 --- a/drivers/staging/media/as102/as102_drv.c +++ b/drivers/staging/media/as102/as102_drv.c | |||
@@ -121,22 +121,22 @@ static int as10x_pid_filter(struct as102_dev_t *dev, | |||
121 | 121 | ||
122 | switch (onoff) { | 122 | switch (onoff) { |
123 | case 0: | 123 | case 0: |
124 | ret = as10x_cmd_del_PID_filter(bus_adap, (uint16_t) pid); | 124 | ret = as10x_cmd_del_PID_filter(bus_adap, (uint16_t) pid); |
125 | dprintk(debug, "DEL_PID_FILTER([%02d] 0x%04x) ret = %d\n", | 125 | dprintk(debug, "DEL_PID_FILTER([%02d] 0x%04x) ret = %d\n", |
126 | index, pid, ret); | 126 | index, pid, ret); |
127 | break; | 127 | break; |
128 | case 1: | 128 | case 1: |
129 | { | 129 | { |
130 | struct as10x_ts_filter filter; | 130 | struct as10x_ts_filter filter; |
131 | 131 | ||
132 | filter.type = TS_PID_TYPE_TS; | 132 | filter.type = TS_PID_TYPE_TS; |
133 | filter.idx = 0xFF; | 133 | filter.idx = 0xFF; |
134 | filter.pid = pid; | 134 | filter.pid = pid; |
135 | 135 | ||
136 | ret = as10x_cmd_add_PID_filter(bus_adap, &filter); | 136 | ret = as10x_cmd_add_PID_filter(bus_adap, &filter); |
137 | dprintk(debug, "ADD_PID_FILTER([%02d -> %02d], 0x%04x) ret = %d\n", | 137 | dprintk(debug, "ADD_PID_FILTER([%02d -> %02d], 0x%04x) ret = %d\n", |
138 | index, filter.idx, filter.pid, ret); | 138 | index, filter.idx, filter.pid, ret); |
139 | break; | 139 | break; |
140 | } | 140 | } |
141 | } | 141 | } |
142 | 142 | ||
@@ -157,10 +157,9 @@ static int as102_dvb_dmx_start_feed(struct dvb_demux_feed *dvbdmxfeed) | |||
157 | if (mutex_lock_interruptible(&as102_dev->sem)) | 157 | if (mutex_lock_interruptible(&as102_dev->sem)) |
158 | return -ERESTARTSYS; | 158 | return -ERESTARTSYS; |
159 | 159 | ||
160 | if (pid_filtering) { | 160 | if (pid_filtering) |
161 | as10x_pid_filter(as102_dev, | 161 | as10x_pid_filter(as102_dev, dvbdmxfeed->index, |
162 | dvbdmxfeed->index, dvbdmxfeed->pid, 1); | 162 | dvbdmxfeed->pid, 1); |
163 | } | ||
164 | 163 | ||
165 | if (as102_dev->streaming++ == 0) | 164 | if (as102_dev->streaming++ == 0) |
166 | ret = as102_start_stream(as102_dev); | 165 | ret = as102_start_stream(as102_dev); |
@@ -183,10 +182,9 @@ static int as102_dvb_dmx_stop_feed(struct dvb_demux_feed *dvbdmxfeed) | |||
183 | if (--as102_dev->streaming == 0) | 182 | if (--as102_dev->streaming == 0) |
184 | as102_stop_stream(as102_dev); | 183 | as102_stop_stream(as102_dev); |
185 | 184 | ||
186 | if (pid_filtering) { | 185 | if (pid_filtering) |
187 | as10x_pid_filter(as102_dev, | 186 | as10x_pid_filter(as102_dev, dvbdmxfeed->index, |
188 | dvbdmxfeed->index, dvbdmxfeed->pid, 0); | 187 | dvbdmxfeed->pid, 0); |
189 | } | ||
190 | 188 | ||
191 | mutex_unlock(&as102_dev->sem); | 189 | mutex_unlock(&as102_dev->sem); |
192 | LEAVE(); | 190 | LEAVE(); |
diff --git a/drivers/staging/media/as102/as102_drv.h b/drivers/staging/media/as102/as102_drv.h index af2bf1e082ee..d32019caf754 100644 --- a/drivers/staging/media/as102/as102_drv.h +++ b/drivers/staging/media/as102/as102_drv.h | |||
@@ -32,13 +32,13 @@ extern struct usb_driver as102_usb_driver; | |||
32 | 32 | ||
33 | #define dprintk(debug, args...) \ | 33 | #define dprintk(debug, args...) \ |
34 | do { if (debug) { \ | 34 | do { if (debug) { \ |
35 | printk(KERN_DEBUG "%s: ",__FUNCTION__); \ | 35 | pr_debug("%s: ", __func__); \ |
36 | printk(args); \ | 36 | printk(args); \ |
37 | } } while (0) | 37 | } } while (0) |
38 | 38 | ||
39 | #ifdef TRACE | 39 | #ifdef TRACE |
40 | #define ENTER() printk(">> enter %s\n", __FUNCTION__) | 40 | #define ENTER() pr_debug(">> enter %s\n", __func__) |
41 | #define LEAVE() printk("<< leave %s\n", __FUNCTION__) | 41 | #define LEAVE() pr_debug("<< leave %s\n", __func__) |
42 | #else | 42 | #else |
43 | #define ENTER() | 43 | #define ENTER() |
44 | #define LEAVE() | 44 | #define LEAVE() |
diff --git a/drivers/staging/media/as102/as102_usb_drv.c b/drivers/staging/media/as102/as102_usb_drv.c index 0a8f12b80050..e0c38548ce2d 100644 --- a/drivers/staging/media/as102/as102_usb_drv.c +++ b/drivers/staging/media/as102/as102_usb_drv.c | |||
@@ -56,16 +56,16 @@ static const char *as102_device_names[] = { | |||
56 | }; | 56 | }; |
57 | 57 | ||
58 | struct usb_driver as102_usb_driver = { | 58 | struct usb_driver as102_usb_driver = { |
59 | .name = DRIVER_FULL_NAME, | 59 | .name = DRIVER_FULL_NAME, |
60 | .probe = as102_usb_probe, | 60 | .probe = as102_usb_probe, |
61 | .disconnect = as102_usb_disconnect, | 61 | .disconnect = as102_usb_disconnect, |
62 | .id_table = as102_usb_id_table | 62 | .id_table = as102_usb_id_table |
63 | }; | 63 | }; |
64 | 64 | ||
65 | static const struct file_operations as102_dev_fops = { | 65 | static const struct file_operations as102_dev_fops = { |
66 | .owner = THIS_MODULE, | 66 | .owner = THIS_MODULE, |
67 | .open = as102_open, | 67 | .open = as102_open, |
68 | .release = as102_release, | 68 | .release = as102_release, |
69 | }; | 69 | }; |
70 | 70 | ||
71 | static struct usb_class_driver as102_usb_class_driver = { | 71 | static struct usb_class_driver as102_usb_class_driver = { |
diff --git a/drivers/staging/media/as102/as10x_cmd.c b/drivers/staging/media/as102/as10x_cmd.c index 0dcba8065780..1663a453f84b 100644 --- a/drivers/staging/media/as102/as10x_cmd.c +++ b/drivers/staging/media/as102/as10x_cmd.c | |||
@@ -232,7 +232,7 @@ out: | |||
232 | } | 232 | } |
233 | 233 | ||
234 | /** | 234 | /** |
235 | * send get TPS command to AS10x | 235 | * as10x_cmd_get_tps - send get TPS command to AS10x |
236 | * @phandle: pointer to AS10x handle | 236 | * @phandle: pointer to AS10x handle |
237 | * @ptps: pointer to TPS parameters structure | 237 | * @ptps: pointer to TPS parameters structure |
238 | * | 238 | * |
diff --git a/drivers/staging/media/as102/as10x_cmd.h b/drivers/staging/media/as102/as10x_cmd.h index 05f71507f129..9af8862e4d0f 100644 --- a/drivers/staging/media/as102/as10x_cmd.h +++ b/drivers/staging/media/as102/as10x_cmd.h | |||
@@ -28,422 +28,423 @@ | |||
28 | /*********************************/ | 28 | /*********************************/ |
29 | /* MACRO DEFINITIONS */ | 29 | /* MACRO DEFINITIONS */ |
30 | /*********************************/ | 30 | /*********************************/ |
31 | #define AS10X_CMD_ERROR -1 | 31 | #define AS10X_CMD_ERROR -1 |
32 | 32 | ||
33 | #define SERVICE_PROG_ID 0x0002 | 33 | #define SERVICE_PROG_ID 0x0002 |
34 | #define SERVICE_PROG_VERSION 0x0001 | 34 | #define SERVICE_PROG_VERSION 0x0001 |
35 | 35 | ||
36 | #define HIER_NONE 0x00 | 36 | #define HIER_NONE 0x00 |
37 | #define HIER_LOW_PRIORITY 0x01 | 37 | #define HIER_LOW_PRIORITY 0x01 |
38 | 38 | ||
39 | #define HEADER_SIZE (sizeof(struct as10x_cmd_header_t)) | 39 | #define HEADER_SIZE (sizeof(struct as10x_cmd_header_t)) |
40 | 40 | ||
41 | /* context request types */ | 41 | /* context request types */ |
42 | #define GET_CONTEXT_DATA 1 | 42 | #define GET_CONTEXT_DATA 1 |
43 | #define SET_CONTEXT_DATA 2 | 43 | #define SET_CONTEXT_DATA 2 |
44 | 44 | ||
45 | /* ODSP suspend modes */ | 45 | /* ODSP suspend modes */ |
46 | #define CFG_MODE_ODSP_RESUME 0 | 46 | #define CFG_MODE_ODSP_RESUME 0 |
47 | #define CFG_MODE_ODSP_SUSPEND 1 | 47 | #define CFG_MODE_ODSP_SUSPEND 1 |
48 | 48 | ||
49 | /* Dump memory size */ | 49 | /* Dump memory size */ |
50 | #define DUMP_BLOCK_SIZE_MAX 0x20 | 50 | #define DUMP_BLOCK_SIZE_MAX 0x20 |
51 | 51 | ||
52 | /*********************************/ | 52 | /*********************************/ |
53 | /* TYPE DEFINITION */ | 53 | /* TYPE DEFINITION */ |
54 | /*********************************/ | 54 | /*********************************/ |
55 | enum control_proc { | 55 | enum control_proc { |
56 | CONTROL_PROC_TURNON = 0x0001, | 56 | CONTROL_PROC_TURNON = 0x0001, |
57 | CONTROL_PROC_TURNON_RSP = 0x0100, | 57 | CONTROL_PROC_TURNON_RSP = 0x0100, |
58 | CONTROL_PROC_SET_REGISTER = 0x0002, | 58 | CONTROL_PROC_SET_REGISTER = 0x0002, |
59 | CONTROL_PROC_SET_REGISTER_RSP = 0x0200, | 59 | CONTROL_PROC_SET_REGISTER_RSP = 0x0200, |
60 | CONTROL_PROC_GET_REGISTER = 0x0003, | 60 | CONTROL_PROC_GET_REGISTER = 0x0003, |
61 | CONTROL_PROC_GET_REGISTER_RSP = 0x0300, | 61 | CONTROL_PROC_GET_REGISTER_RSP = 0x0300, |
62 | CONTROL_PROC_SETTUNE = 0x000A, | 62 | CONTROL_PROC_SETTUNE = 0x000A, |
63 | CONTROL_PROC_SETTUNE_RSP = 0x0A00, | 63 | CONTROL_PROC_SETTUNE_RSP = 0x0A00, |
64 | CONTROL_PROC_GETTUNESTAT = 0x000B, | 64 | CONTROL_PROC_GETTUNESTAT = 0x000B, |
65 | CONTROL_PROC_GETTUNESTAT_RSP = 0x0B00, | 65 | CONTROL_PROC_GETTUNESTAT_RSP = 0x0B00, |
66 | CONTROL_PROC_GETTPS = 0x000D, | 66 | CONTROL_PROC_GETTPS = 0x000D, |
67 | CONTROL_PROC_GETTPS_RSP = 0x0D00, | 67 | CONTROL_PROC_GETTPS_RSP = 0x0D00, |
68 | CONTROL_PROC_SETFILTER = 0x000E, | 68 | CONTROL_PROC_SETFILTER = 0x000E, |
69 | CONTROL_PROC_SETFILTER_RSP = 0x0E00, | 69 | CONTROL_PROC_SETFILTER_RSP = 0x0E00, |
70 | CONTROL_PROC_REMOVEFILTER = 0x000F, | 70 | CONTROL_PROC_REMOVEFILTER = 0x000F, |
71 | CONTROL_PROC_REMOVEFILTER_RSP = 0x0F00, | 71 | CONTROL_PROC_REMOVEFILTER_RSP = 0x0F00, |
72 | CONTROL_PROC_GET_IMPULSE_RESP = 0x0012, | 72 | CONTROL_PROC_GET_IMPULSE_RESP = 0x0012, |
73 | CONTROL_PROC_GET_IMPULSE_RESP_RSP = 0x1200, | 73 | CONTROL_PROC_GET_IMPULSE_RESP_RSP = 0x1200, |
74 | CONTROL_PROC_START_STREAMING = 0x0013, | 74 | CONTROL_PROC_START_STREAMING = 0x0013, |
75 | CONTROL_PROC_START_STREAMING_RSP = 0x1300, | 75 | CONTROL_PROC_START_STREAMING_RSP = 0x1300, |
76 | CONTROL_PROC_STOP_STREAMING = 0x0014, | 76 | CONTROL_PROC_STOP_STREAMING = 0x0014, |
77 | CONTROL_PROC_STOP_STREAMING_RSP = 0x1400, | 77 | CONTROL_PROC_STOP_STREAMING_RSP = 0x1400, |
78 | CONTROL_PROC_GET_DEMOD_STATS = 0x0015, | 78 | CONTROL_PROC_GET_DEMOD_STATS = 0x0015, |
79 | CONTROL_PROC_GET_DEMOD_STATS_RSP = 0x1500, | 79 | CONTROL_PROC_GET_DEMOD_STATS_RSP = 0x1500, |
80 | CONTROL_PROC_ELNA_CHANGE_MODE = 0x0016, | 80 | CONTROL_PROC_ELNA_CHANGE_MODE = 0x0016, |
81 | CONTROL_PROC_ELNA_CHANGE_MODE_RSP = 0x1600, | 81 | CONTROL_PROC_ELNA_CHANGE_MODE_RSP = 0x1600, |
82 | CONTROL_PROC_ODSP_CHANGE_MODE = 0x0017, | 82 | CONTROL_PROC_ODSP_CHANGE_MODE = 0x0017, |
83 | CONTROL_PROC_ODSP_CHANGE_MODE_RSP = 0x1700, | 83 | CONTROL_PROC_ODSP_CHANGE_MODE_RSP = 0x1700, |
84 | CONTROL_PROC_AGC_CHANGE_MODE = 0x0018, | 84 | CONTROL_PROC_AGC_CHANGE_MODE = 0x0018, |
85 | CONTROL_PROC_AGC_CHANGE_MODE_RSP = 0x1800, | 85 | CONTROL_PROC_AGC_CHANGE_MODE_RSP = 0x1800, |
86 | 86 | ||
87 | CONTROL_PROC_CONTEXT = 0x00FC, | 87 | CONTROL_PROC_CONTEXT = 0x00FC, |
88 | CONTROL_PROC_CONTEXT_RSP = 0xFC00, | 88 | CONTROL_PROC_CONTEXT_RSP = 0xFC00, |
89 | CONTROL_PROC_DUMP_MEMORY = 0x00FD, | 89 | CONTROL_PROC_DUMP_MEMORY = 0x00FD, |
90 | CONTROL_PROC_DUMP_MEMORY_RSP = 0xFD00, | 90 | CONTROL_PROC_DUMP_MEMORY_RSP = 0xFD00, |
91 | CONTROL_PROC_DUMPLOG_MEMORY = 0x00FE, | 91 | CONTROL_PROC_DUMPLOG_MEMORY = 0x00FE, |
92 | CONTROL_PROC_DUMPLOG_MEMORY_RSP = 0xFE00, | 92 | CONTROL_PROC_DUMPLOG_MEMORY_RSP = 0xFE00, |
93 | CONTROL_PROC_TURNOFF = 0x00FF, | 93 | CONTROL_PROC_TURNOFF = 0x00FF, |
94 | CONTROL_PROC_TURNOFF_RSP = 0xFF00 | 94 | CONTROL_PROC_TURNOFF_RSP = 0xFF00 |
95 | }; | 95 | }; |
96 | 96 | ||
97 | union as10x_turn_on { | 97 | union as10x_turn_on { |
98 | /* request */ | 98 | /* request */ |
99 | struct { | 99 | struct { |
100 | /* request identifier */ | 100 | /* request identifier */ |
101 | uint16_t proc_id; | 101 | uint16_t proc_id; |
102 | } req; | 102 | } req; |
103 | /* response */ | 103 | /* response */ |
104 | struct { | 104 | struct { |
105 | /* response identifier */ | 105 | /* response identifier */ |
106 | uint16_t proc_id; | 106 | uint16_t proc_id; |
107 | /* error */ | 107 | /* error */ |
108 | uint8_t error; | 108 | uint8_t error; |
109 | } rsp; | 109 | } rsp; |
110 | } __packed; | 110 | } __packed; |
111 | 111 | ||
112 | union as10x_turn_off { | 112 | union as10x_turn_off { |
113 | /* request */ | 113 | /* request */ |
114 | struct { | 114 | struct { |
115 | /* request identifier */ | 115 | /* request identifier */ |
116 | uint16_t proc_id; | 116 | uint16_t proc_id; |
117 | } req; | 117 | } req; |
118 | /* response */ | 118 | /* response */ |
119 | struct { | 119 | struct { |
120 | /* response identifier */ | 120 | /* response identifier */ |
121 | uint16_t proc_id; | 121 | uint16_t proc_id; |
122 | /* error */ | 122 | /* error */ |
123 | uint8_t err; | 123 | uint8_t err; |
124 | } rsp; | 124 | } rsp; |
125 | } __packed; | 125 | } __packed; |
126 | 126 | ||
127 | union as10x_set_tune { | 127 | union as10x_set_tune { |
128 | /* request */ | 128 | /* request */ |
129 | struct { | 129 | struct { |
130 | /* request identifier */ | 130 | /* request identifier */ |
131 | uint16_t proc_id; | 131 | uint16_t proc_id; |
132 | /* tune params */ | 132 | /* tune params */ |
133 | struct as10x_tune_args args; | 133 | struct as10x_tune_args args; |
134 | } req; | 134 | } req; |
135 | /* response */ | 135 | /* response */ |
136 | struct { | 136 | struct { |
137 | /* response identifier */ | 137 | /* response identifier */ |
138 | uint16_t proc_id; | 138 | uint16_t proc_id; |
139 | /* response error */ | 139 | /* response error */ |
140 | uint8_t error; | 140 | uint8_t error; |
141 | } rsp; | 141 | } rsp; |
142 | } __packed; | 142 | } __packed; |
143 | 143 | ||
144 | union as10x_get_tune_status { | 144 | union as10x_get_tune_status { |
145 | /* request */ | 145 | /* request */ |
146 | struct { | 146 | struct { |
147 | /* request identifier */ | 147 | /* request identifier */ |
148 | uint16_t proc_id; | 148 | uint16_t proc_id; |
149 | } req; | 149 | } req; |
150 | /* response */ | 150 | /* response */ |
151 | struct { | 151 | struct { |
152 | /* response identifier */ | 152 | /* response identifier */ |
153 | uint16_t proc_id; | 153 | uint16_t proc_id; |
154 | /* response error */ | 154 | /* response error */ |
155 | uint8_t error; | 155 | uint8_t error; |
156 | /* tune status */ | 156 | /* tune status */ |
157 | struct as10x_tune_status sts; | 157 | struct as10x_tune_status sts; |
158 | } rsp; | 158 | } rsp; |
159 | } __packed; | 159 | } __packed; |
160 | 160 | ||
161 | union as10x_get_tps { | 161 | union as10x_get_tps { |
162 | /* request */ | 162 | /* request */ |
163 | struct { | 163 | struct { |
164 | /* request identifier */ | 164 | /* request identifier */ |
165 | uint16_t proc_id; | 165 | uint16_t proc_id; |
166 | } req; | 166 | } req; |
167 | /* response */ | 167 | /* response */ |
168 | struct { | 168 | struct { |
169 | /* response identifier */ | 169 | /* response identifier */ |
170 | uint16_t proc_id; | 170 | uint16_t proc_id; |
171 | /* response error */ | 171 | /* response error */ |
172 | uint8_t error; | 172 | uint8_t error; |
173 | /* tps details */ | 173 | /* tps details */ |
174 | struct as10x_tps tps; | 174 | struct as10x_tps tps; |
175 | } rsp; | 175 | } rsp; |
176 | } __packed; | 176 | } __packed; |
177 | 177 | ||
178 | union as10x_common { | 178 | union as10x_common { |
179 | /* request */ | 179 | /* request */ |
180 | struct { | 180 | struct { |
181 | /* request identifier */ | 181 | /* request identifier */ |
182 | uint16_t proc_id; | 182 | uint16_t proc_id; |
183 | } req; | 183 | } req; |
184 | /* response */ | 184 | /* response */ |
185 | struct { | 185 | struct { |
186 | /* response identifier */ | 186 | /* response identifier */ |
187 | uint16_t proc_id; | 187 | uint16_t proc_id; |
188 | /* response error */ | 188 | /* response error */ |
189 | uint8_t error; | 189 | uint8_t error; |
190 | } rsp; | 190 | } rsp; |
191 | } __packed; | 191 | } __packed; |
192 | 192 | ||
193 | union as10x_add_pid_filter { | 193 | union as10x_add_pid_filter { |
194 | /* request */ | 194 | /* request */ |
195 | struct { | 195 | struct { |
196 | /* request identifier */ | 196 | /* request identifier */ |
197 | uint16_t proc_id; | 197 | uint16_t proc_id; |
198 | /* PID to filter */ | 198 | /* PID to filter */ |
199 | uint16_t pid; | 199 | uint16_t pid; |
200 | /* stream type (MPE, PSI/SI or PES )*/ | 200 | /* stream type (MPE, PSI/SI or PES )*/ |
201 | uint8_t stream_type; | 201 | uint8_t stream_type; |
202 | /* PID index in filter table */ | 202 | /* PID index in filter table */ |
203 | uint8_t idx; | 203 | uint8_t idx; |
204 | } req; | 204 | } req; |
205 | /* response */ | 205 | /* response */ |
206 | struct { | 206 | struct { |
207 | /* response identifier */ | 207 | /* response identifier */ |
208 | uint16_t proc_id; | 208 | uint16_t proc_id; |
209 | /* response error */ | 209 | /* response error */ |
210 | uint8_t error; | 210 | uint8_t error; |
211 | /* Filter id */ | 211 | /* Filter id */ |
212 | uint8_t filter_id; | 212 | uint8_t filter_id; |
213 | } rsp; | 213 | } rsp; |
214 | } __packed; | 214 | } __packed; |
215 | 215 | ||
216 | union as10x_del_pid_filter { | 216 | union as10x_del_pid_filter { |
217 | /* request */ | 217 | /* request */ |
218 | struct { | 218 | struct { |
219 | /* request identifier */ | 219 | /* request identifier */ |
220 | uint16_t proc_id; | 220 | uint16_t proc_id; |
221 | /* PID to remove */ | 221 | /* PID to remove */ |
222 | uint16_t pid; | 222 | uint16_t pid; |
223 | } req; | 223 | } req; |
224 | /* response */ | 224 | /* response */ |
225 | struct { | 225 | struct { |
226 | /* response identifier */ | 226 | /* response identifier */ |
227 | uint16_t proc_id; | 227 | uint16_t proc_id; |
228 | /* response error */ | 228 | /* response error */ |
229 | uint8_t error; | 229 | uint8_t error; |
230 | } rsp; | 230 | } rsp; |
231 | } __packed; | 231 | } __packed; |
232 | 232 | ||
233 | union as10x_start_streaming { | 233 | union as10x_start_streaming { |
234 | /* request */ | 234 | /* request */ |
235 | struct { | 235 | struct { |
236 | /* request identifier */ | 236 | /* request identifier */ |
237 | uint16_t proc_id; | 237 | uint16_t proc_id; |
238 | } req; | 238 | } req; |
239 | /* response */ | 239 | /* response */ |
240 | struct { | 240 | struct { |
241 | /* response identifier */ | 241 | /* response identifier */ |
242 | uint16_t proc_id; | 242 | uint16_t proc_id; |
243 | /* error */ | 243 | /* error */ |
244 | uint8_t error; | 244 | uint8_t error; |
245 | } rsp; | 245 | } rsp; |
246 | } __packed; | 246 | } __packed; |
247 | 247 | ||
248 | union as10x_stop_streaming { | 248 | union as10x_stop_streaming { |
249 | /* request */ | 249 | /* request */ |
250 | struct { | 250 | struct { |
251 | /* request identifier */ | 251 | /* request identifier */ |
252 | uint16_t proc_id; | 252 | uint16_t proc_id; |
253 | } req; | 253 | } req; |
254 | /* response */ | 254 | /* response */ |
255 | struct { | 255 | struct { |
256 | /* response identifier */ | 256 | /* response identifier */ |
257 | uint16_t proc_id; | 257 | uint16_t proc_id; |
258 | /* error */ | 258 | /* error */ |
259 | uint8_t error; | 259 | uint8_t error; |
260 | } rsp; | 260 | } rsp; |
261 | } __packed; | 261 | } __packed; |
262 | 262 | ||
263 | union as10x_get_demod_stats { | 263 | union as10x_get_demod_stats { |
264 | /* request */ | 264 | /* request */ |
265 | struct { | 265 | struct { |
266 | /* request identifier */ | 266 | /* request identifier */ |
267 | uint16_t proc_id; | 267 | uint16_t proc_id; |
268 | } req; | 268 | } req; |
269 | /* response */ | 269 | /* response */ |
270 | struct { | 270 | struct { |
271 | /* response identifier */ | 271 | /* response identifier */ |
272 | uint16_t proc_id; | 272 | uint16_t proc_id; |
273 | /* error */ | 273 | /* error */ |
274 | uint8_t error; | 274 | uint8_t error; |
275 | /* demod stats */ | 275 | /* demod stats */ |
276 | struct as10x_demod_stats stats; | 276 | struct as10x_demod_stats stats; |
277 | } rsp; | 277 | } rsp; |
278 | } __packed; | 278 | } __packed; |
279 | 279 | ||
280 | union as10x_get_impulse_resp { | 280 | union as10x_get_impulse_resp { |
281 | /* request */ | 281 | /* request */ |
282 | struct { | 282 | struct { |
283 | /* request identifier */ | 283 | /* request identifier */ |
284 | uint16_t proc_id; | 284 | uint16_t proc_id; |
285 | } req; | 285 | } req; |
286 | /* response */ | 286 | /* response */ |
287 | struct { | 287 | struct { |
288 | /* response identifier */ | 288 | /* response identifier */ |
289 | uint16_t proc_id; | 289 | uint16_t proc_id; |
290 | /* error */ | 290 | /* error */ |
291 | uint8_t error; | 291 | uint8_t error; |
292 | /* impulse response ready */ | 292 | /* impulse response ready */ |
293 | uint8_t is_ready; | 293 | uint8_t is_ready; |
294 | } rsp; | 294 | } rsp; |
295 | } __packed; | 295 | } __packed; |
296 | 296 | ||
297 | union as10x_fw_context { | 297 | union as10x_fw_context { |
298 | /* request */ | 298 | /* request */ |
299 | struct { | 299 | struct { |
300 | /* request identifier */ | 300 | /* request identifier */ |
301 | uint16_t proc_id; | 301 | uint16_t proc_id; |
302 | /* value to write (for set context)*/ | 302 | /* value to write (for set context)*/ |
303 | struct as10x_register_value reg_val; | 303 | struct as10x_register_value reg_val; |
304 | /* context tag */ | 304 | /* context tag */ |
305 | uint16_t tag; | 305 | uint16_t tag; |
306 | /* context request type */ | 306 | /* context request type */ |
307 | uint16_t type; | 307 | uint16_t type; |
308 | } req; | 308 | } req; |
309 | /* response */ | 309 | /* response */ |
310 | struct { | 310 | struct { |
311 | /* response identifier */ | 311 | /* response identifier */ |
312 | uint16_t proc_id; | 312 | uint16_t proc_id; |
313 | /* value read (for get context) */ | 313 | /* value read (for get context) */ |
314 | struct as10x_register_value reg_val; | 314 | struct as10x_register_value reg_val; |
315 | /* context request type */ | 315 | /* context request type */ |
316 | uint16_t type; | 316 | uint16_t type; |
317 | /* error */ | 317 | /* error */ |
318 | uint8_t error; | 318 | uint8_t error; |
319 | } rsp; | 319 | } rsp; |
320 | } __packed; | 320 | } __packed; |
321 | 321 | ||
322 | union as10x_set_register { | 322 | union as10x_set_register { |
323 | /* request */ | 323 | /* request */ |
324 | struct { | 324 | struct { |
325 | /* response identifier */ | 325 | /* response identifier */ |
326 | uint16_t proc_id; | 326 | uint16_t proc_id; |
327 | /* register description */ | 327 | /* register description */ |
328 | struct as10x_register_addr reg_addr; | 328 | struct as10x_register_addr reg_addr; |
329 | /* register content */ | 329 | /* register content */ |
330 | struct as10x_register_value reg_val; | 330 | struct as10x_register_value reg_val; |
331 | } req; | 331 | } req; |
332 | /* response */ | 332 | /* response */ |
333 | struct { | 333 | struct { |
334 | /* response identifier */ | 334 | /* response identifier */ |
335 | uint16_t proc_id; | 335 | uint16_t proc_id; |
336 | /* error */ | 336 | /* error */ |
337 | uint8_t error; | 337 | uint8_t error; |
338 | } rsp; | 338 | } rsp; |
339 | } __packed; | 339 | } __packed; |
340 | 340 | ||
341 | union as10x_get_register { | 341 | union as10x_get_register { |
342 | /* request */ | 342 | /* request */ |
343 | struct { | 343 | struct { |
344 | /* response identifier */ | 344 | /* response identifier */ |
345 | uint16_t proc_id; | 345 | uint16_t proc_id; |
346 | /* register description */ | 346 | /* register description */ |
347 | struct as10x_register_addr reg_addr; | 347 | struct as10x_register_addr reg_addr; |
348 | } req; | 348 | } req; |
349 | /* response */ | 349 | /* response */ |
350 | struct { | 350 | struct { |
351 | /* response identifier */ | 351 | /* response identifier */ |
352 | uint16_t proc_id; | 352 | uint16_t proc_id; |
353 | /* error */ | 353 | /* error */ |
354 | uint8_t error; | 354 | uint8_t error; |
355 | /* register content */ | 355 | /* register content */ |
356 | struct as10x_register_value reg_val; | 356 | struct as10x_register_value reg_val; |
357 | } rsp; | 357 | } rsp; |
358 | } __packed; | 358 | } __packed; |
359 | 359 | ||
360 | union as10x_cfg_change_mode { | 360 | union as10x_cfg_change_mode { |
361 | /* request */ | 361 | /* request */ |
362 | struct { | 362 | struct { |
363 | /* request identifier */ | 363 | /* request identifier */ |
364 | uint16_t proc_id; | 364 | uint16_t proc_id; |
365 | /* mode */ | 365 | /* mode */ |
366 | uint8_t mode; | 366 | uint8_t mode; |
367 | } req; | 367 | } req; |
368 | /* response */ | 368 | /* response */ |
369 | struct { | 369 | struct { |
370 | /* response identifier */ | 370 | /* response identifier */ |
371 | uint16_t proc_id; | 371 | uint16_t proc_id; |
372 | /* error */ | 372 | /* error */ |
373 | uint8_t error; | 373 | uint8_t error; |
374 | } rsp; | 374 | } rsp; |
375 | } __packed; | 375 | } __packed; |
376 | 376 | ||
377 | struct as10x_cmd_header_t { | 377 | struct as10x_cmd_header_t { |
378 | uint16_t req_id; | 378 | uint16_t req_id; |
379 | uint16_t prog; | 379 | uint16_t prog; |
380 | uint16_t version; | 380 | uint16_t version; |
381 | uint16_t data_len; | 381 | uint16_t data_len; |
382 | } __packed; | 382 | } __packed; |
383 | 383 | ||
384 | #define DUMP_BLOCK_SIZE 16 | 384 | #define DUMP_BLOCK_SIZE 16 |
385 | 385 | ||
386 | union as10x_dump_memory { | 386 | union as10x_dump_memory { |
387 | /* request */ | 387 | /* request */ |
388 | struct { | 388 | struct { |
389 | /* request identifier */ | 389 | /* request identifier */ |
390 | uint16_t proc_id; | 390 | uint16_t proc_id; |
391 | /* dump memory type request */ | 391 | /* dump memory type request */ |
392 | uint8_t dump_req; | 392 | uint8_t dump_req; |
393 | /* register description */ | 393 | /* register description */ |
394 | struct as10x_register_addr reg_addr; | 394 | struct as10x_register_addr reg_addr; |
395 | /* nb blocks to read */ | 395 | /* nb blocks to read */ |
396 | uint16_t num_blocks; | 396 | uint16_t num_blocks; |
397 | } req; | 397 | } req; |
398 | /* response */ | 398 | /* response */ |
399 | struct { | 399 | struct { |
400 | /* response identifier */ | 400 | /* response identifier */ |
401 | uint16_t proc_id; | 401 | uint16_t proc_id; |
402 | /* error */ | 402 | /* error */ |
403 | uint8_t error; | 403 | uint8_t error; |
404 | /* dump response */ | 404 | /* dump response */ |
405 | uint8_t dump_rsp; | 405 | uint8_t dump_rsp; |
406 | /* data */ | 406 | /* data */ |
407 | union { | 407 | union { |
408 | uint8_t data8[DUMP_BLOCK_SIZE]; | 408 | uint8_t data8[DUMP_BLOCK_SIZE]; |
409 | uint16_t data16[DUMP_BLOCK_SIZE / sizeof(uint16_t)]; | 409 | uint16_t data16[DUMP_BLOCK_SIZE / sizeof(uint16_t)]; |
410 | uint32_t data32[DUMP_BLOCK_SIZE / sizeof(uint32_t)]; | 410 | uint32_t data32[DUMP_BLOCK_SIZE / sizeof(uint32_t)]; |
411 | } u; | 411 | } u; |
412 | } rsp; | 412 | } rsp; |
413 | } __packed; | 413 | } __packed; |
414 | 414 | ||
415 | union as10x_dumplog_memory { | 415 | union as10x_dumplog_memory { |
416 | struct { | 416 | struct { |
417 | /* request identifier */ | 417 | /* request identifier */ |
418 | uint16_t proc_id; | 418 | uint16_t proc_id; |
419 | /* dump memory type request */ | 419 | /* dump memory type request */ |
420 | uint8_t dump_req; | 420 | uint8_t dump_req; |
421 | } req; | 421 | } req; |
422 | struct { | 422 | struct { |
423 | /* request identifier */ | 423 | /* request identifier */ |
424 | uint16_t proc_id; | 424 | uint16_t proc_id; |
425 | /* error */ | 425 | /* error */ |
426 | uint8_t error; | 426 | uint8_t error; |
427 | /* dump response */ | 427 | /* dump response */ |
428 | uint8_t dump_rsp; | 428 | uint8_t dump_rsp; |
429 | /* dump data */ | 429 | /* dump data */ |
430 | uint8_t data[DUMP_BLOCK_SIZE]; | 430 | uint8_t data[DUMP_BLOCK_SIZE]; |
431 | } rsp; | 431 | } rsp; |
432 | } __packed; | 432 | } __packed; |
433 | 433 | ||
434 | union as10x_raw_data { | 434 | union as10x_raw_data { |
435 | /* request */ | 435 | /* request */ |
436 | struct { | 436 | struct { |
437 | uint16_t proc_id; | 437 | uint16_t proc_id; |
438 | uint8_t data[64 - sizeof(struct as10x_cmd_header_t) -2 /* proc_id */]; | 438 | uint8_t data[64 - sizeof(struct as10x_cmd_header_t) |
439 | } req; | 439 | - 2 /* proc_id */]; |
440 | /* response */ | 440 | } req; |
441 | struct { | 441 | /* response */ |
442 | uint16_t proc_id; | 442 | struct { |
443 | uint8_t error; | 443 | uint16_t proc_id; |
444 | uint8_t data[64 - sizeof(struct as10x_cmd_header_t) /* header */ | 444 | uint8_t error; |
445 | - 2 /* proc_id */ - 1 /* rc */]; | 445 | uint8_t data[64 - sizeof(struct as10x_cmd_header_t) |
446 | } rsp; | 446 | - 2 /* proc_id */ - 1 /* rc */]; |
447 | } rsp; | ||
447 | } __packed; | 448 | } __packed; |
448 | 449 | ||
449 | struct as10x_cmd_t { | 450 | struct as10x_cmd_t { |
@@ -472,10 +473,10 @@ struct as10x_cmd_t { | |||
472 | } __packed; | 473 | } __packed; |
473 | 474 | ||
474 | struct as10x_token_cmd_t { | 475 | struct as10x_token_cmd_t { |
475 | /* token cmd */ | 476 | /* token cmd */ |
476 | struct as10x_cmd_t c; | 477 | struct as10x_cmd_t c; |
477 | /* token response */ | 478 | /* token response */ |
478 | struct as10x_cmd_t r; | 479 | struct as10x_cmd_t r; |
479 | } __packed; | 480 | } __packed; |
480 | 481 | ||
481 | 482 | ||
diff --git a/drivers/staging/media/as102/as10x_handle.h b/drivers/staging/media/as102/as10x_handle.h index 4f01a76e9829..d67203aaa05c 100644 --- a/drivers/staging/media/as102/as10x_handle.h +++ b/drivers/staging/media/as102/as10x_handle.h | |||
@@ -24,9 +24,9 @@ struct as102_dev_t; | |||
24 | #include "as10x_cmd.h" | 24 | #include "as10x_cmd.h" |
25 | 25 | ||
26 | /* values for "mode" field */ | 26 | /* values for "mode" field */ |
27 | #define REGMODE8 8 | 27 | #define REGMODE8 8 |
28 | #define REGMODE16 16 | 28 | #define REGMODE16 16 |
29 | #define REGMODE32 32 | 29 | #define REGMODE32 32 |
30 | 30 | ||
31 | struct as102_priv_ops_t { | 31 | struct as102_priv_ops_t { |
32 | int (*upload_fw_pkt) (struct as102_bus_adapter_t *bus_adap, | 32 | int (*upload_fw_pkt) (struct as102_bus_adapter_t *bus_adap, |
diff --git a/drivers/staging/media/as102/as10x_types.h b/drivers/staging/media/as102/as10x_types.h index 0b27f3aad4c9..c40c8128cb76 100644 --- a/drivers/staging/media/as102/as10x_types.h +++ b/drivers/staging/media/as102/as10x_types.h | |||
@@ -26,170 +26,169 @@ | |||
26 | /*********************************/ | 26 | /*********************************/ |
27 | 27 | ||
28 | /* bandwidth constant values */ | 28 | /* bandwidth constant values */ |
29 | #define BW_5_MHZ 0x00 | 29 | #define BW_5_MHZ 0x00 |
30 | #define BW_6_MHZ 0x01 | 30 | #define BW_6_MHZ 0x01 |
31 | #define BW_7_MHZ 0x02 | 31 | #define BW_7_MHZ 0x02 |
32 | #define BW_8_MHZ 0x03 | 32 | #define BW_8_MHZ 0x03 |
33 | 33 | ||
34 | /* hierarchy priority selection values */ | 34 | /* hierarchy priority selection values */ |
35 | #define HIER_NO_PRIORITY 0x00 | 35 | #define HIER_NO_PRIORITY 0x00 |
36 | #define HIER_LOW_PRIORITY 0x01 | 36 | #define HIER_LOW_PRIORITY 0x01 |
37 | #define HIER_HIGH_PRIORITY 0x02 | 37 | #define HIER_HIGH_PRIORITY 0x02 |
38 | 38 | ||
39 | /* constellation available values */ | 39 | /* constellation available values */ |
40 | #define CONST_QPSK 0x00 | 40 | #define CONST_QPSK 0x00 |
41 | #define CONST_QAM16 0x01 | 41 | #define CONST_QAM16 0x01 |
42 | #define CONST_QAM64 0x02 | 42 | #define CONST_QAM64 0x02 |
43 | #define CONST_UNKNOWN 0xFF | 43 | #define CONST_UNKNOWN 0xFF |
44 | 44 | ||
45 | /* hierarchy available values */ | 45 | /* hierarchy available values */ |
46 | #define HIER_NONE 0x00 | 46 | #define HIER_NONE 0x00 |
47 | #define HIER_ALPHA_1 0x01 | 47 | #define HIER_ALPHA_1 0x01 |
48 | #define HIER_ALPHA_2 0x02 | 48 | #define HIER_ALPHA_2 0x02 |
49 | #define HIER_ALPHA_4 0x03 | 49 | #define HIER_ALPHA_4 0x03 |
50 | #define HIER_UNKNOWN 0xFF | 50 | #define HIER_UNKNOWN 0xFF |
51 | 51 | ||
52 | /* interleaving available values */ | 52 | /* interleaving available values */ |
53 | #define INTLV_NATIVE 0x00 | 53 | #define INTLV_NATIVE 0x00 |
54 | #define INTLV_IN_DEPTH 0x01 | 54 | #define INTLV_IN_DEPTH 0x01 |
55 | #define INTLV_UNKNOWN 0xFF | 55 | #define INTLV_UNKNOWN 0xFF |
56 | 56 | ||
57 | /* code rate available values */ | 57 | /* code rate available values */ |
58 | #define CODE_RATE_1_2 0x00 | 58 | #define CODE_RATE_1_2 0x00 |
59 | #define CODE_RATE_2_3 0x01 | 59 | #define CODE_RATE_2_3 0x01 |
60 | #define CODE_RATE_3_4 0x02 | 60 | #define CODE_RATE_3_4 0x02 |
61 | #define CODE_RATE_5_6 0x03 | 61 | #define CODE_RATE_5_6 0x03 |
62 | #define CODE_RATE_7_8 0x04 | 62 | #define CODE_RATE_7_8 0x04 |
63 | #define CODE_RATE_UNKNOWN 0xFF | 63 | #define CODE_RATE_UNKNOWN 0xFF |
64 | 64 | ||
65 | /* guard interval available values */ | 65 | /* guard interval available values */ |
66 | #define GUARD_INT_1_32 0x00 | 66 | #define GUARD_INT_1_32 0x00 |
67 | #define GUARD_INT_1_16 0x01 | 67 | #define GUARD_INT_1_16 0x01 |
68 | #define GUARD_INT_1_8 0x02 | 68 | #define GUARD_INT_1_8 0x02 |
69 | #define GUARD_INT_1_4 0x03 | 69 | #define GUARD_INT_1_4 0x03 |
70 | #define GUARD_UNKNOWN 0xFF | 70 | #define GUARD_UNKNOWN 0xFF |
71 | 71 | ||
72 | /* transmission mode available values */ | 72 | /* transmission mode available values */ |
73 | #define TRANS_MODE_2K 0x00 | 73 | #define TRANS_MODE_2K 0x00 |
74 | #define TRANS_MODE_8K 0x01 | 74 | #define TRANS_MODE_8K 0x01 |
75 | #define TRANS_MODE_4K 0x02 | 75 | #define TRANS_MODE_4K 0x02 |
76 | #define TRANS_MODE_UNKNOWN 0xFF | 76 | #define TRANS_MODE_UNKNOWN 0xFF |
77 | 77 | ||
78 | /* DVBH signalling available values */ | 78 | /* DVBH signalling available values */ |
79 | #define TIMESLICING_PRESENT 0x01 | 79 | #define TIMESLICING_PRESENT 0x01 |
80 | #define MPE_FEC_PRESENT 0x02 | 80 | #define MPE_FEC_PRESENT 0x02 |
81 | 81 | ||
82 | /* tune state available */ | 82 | /* tune state available */ |
83 | #define TUNE_STATUS_NOT_TUNED 0x00 | 83 | #define TUNE_STATUS_NOT_TUNED 0x00 |
84 | #define TUNE_STATUS_IDLE 0x01 | 84 | #define TUNE_STATUS_IDLE 0x01 |
85 | #define TUNE_STATUS_LOCKING 0x02 | 85 | #define TUNE_STATUS_LOCKING 0x02 |
86 | #define TUNE_STATUS_SIGNAL_DVB_OK 0x03 | 86 | #define TUNE_STATUS_SIGNAL_DVB_OK 0x03 |
87 | #define TUNE_STATUS_STREAM_DETECTED 0x04 | 87 | #define TUNE_STATUS_STREAM_DETECTED 0x04 |
88 | #define TUNE_STATUS_STREAM_TUNED 0x05 | 88 | #define TUNE_STATUS_STREAM_TUNED 0x05 |
89 | #define TUNE_STATUS_ERROR 0xFF | 89 | #define TUNE_STATUS_ERROR 0xFF |
90 | 90 | ||
91 | /* available TS FID filter types */ | 91 | /* available TS FID filter types */ |
92 | #define TS_PID_TYPE_TS 0 | 92 | #define TS_PID_TYPE_TS 0 |
93 | #define TS_PID_TYPE_PSI_SI 1 | 93 | #define TS_PID_TYPE_PSI_SI 1 |
94 | #define TS_PID_TYPE_MPE 2 | 94 | #define TS_PID_TYPE_MPE 2 |
95 | 95 | ||
96 | /* number of echos available */ | 96 | /* number of echos available */ |
97 | #define MAX_ECHOS 15 | 97 | #define MAX_ECHOS 15 |
98 | 98 | ||
99 | /* Context types */ | 99 | /* Context types */ |
100 | #define CONTEXT_LNA 1010 | 100 | #define CONTEXT_LNA 1010 |
101 | #define CONTEXT_ELNA_HYSTERESIS 4003 | 101 | #define CONTEXT_ELNA_HYSTERESIS 4003 |
102 | #define CONTEXT_ELNA_GAIN 4004 | 102 | #define CONTEXT_ELNA_GAIN 4004 |
103 | #define CONTEXT_MER_THRESHOLD 5005 | 103 | #define CONTEXT_MER_THRESHOLD 5005 |
104 | #define CONTEXT_MER_OFFSET 5006 | 104 | #define CONTEXT_MER_OFFSET 5006 |
105 | #define CONTEXT_IR_STATE 7000 | 105 | #define CONTEXT_IR_STATE 7000 |
106 | #define CONTEXT_TSOUT_MSB_FIRST 7004 | 106 | #define CONTEXT_TSOUT_MSB_FIRST 7004 |
107 | #define CONTEXT_TSOUT_FALLING_EDGE 7005 | 107 | #define CONTEXT_TSOUT_FALLING_EDGE 7005 |
108 | 108 | ||
109 | /* Configuration modes */ | 109 | /* Configuration modes */ |
110 | #define CFG_MODE_ON 0 | 110 | #define CFG_MODE_ON 0 |
111 | #define CFG_MODE_OFF 1 | 111 | #define CFG_MODE_OFF 1 |
112 | #define CFG_MODE_AUTO 2 | 112 | #define CFG_MODE_AUTO 2 |
113 | 113 | ||
114 | struct as10x_tps { | 114 | struct as10x_tps { |
115 | uint8_t constellation; | 115 | uint8_t constellation; |
116 | uint8_t hierarchy; | 116 | uint8_t hierarchy; |
117 | uint8_t interleaving_mode; | 117 | uint8_t interleaving_mode; |
118 | uint8_t code_rate_HP; | 118 | uint8_t code_rate_HP; |
119 | uint8_t code_rate_LP; | 119 | uint8_t code_rate_LP; |
120 | uint8_t guard_interval; | 120 | uint8_t guard_interval; |
121 | uint8_t transmission_mode; | 121 | uint8_t transmission_mode; |
122 | uint8_t DVBH_mask_HP; | 122 | uint8_t DVBH_mask_HP; |
123 | uint8_t DVBH_mask_LP; | 123 | uint8_t DVBH_mask_LP; |
124 | uint16_t cell_ID; | 124 | uint16_t cell_ID; |
125 | } __packed; | 125 | } __packed; |
126 | 126 | ||
127 | struct as10x_tune_args { | 127 | struct as10x_tune_args { |
128 | /* frequency */ | 128 | /* frequency */ |
129 | uint32_t freq; | 129 | uint32_t freq; |
130 | /* bandwidth */ | 130 | /* bandwidth */ |
131 | uint8_t bandwidth; | 131 | uint8_t bandwidth; |
132 | /* hierarchy selection */ | 132 | /* hierarchy selection */ |
133 | uint8_t hier_select; | 133 | uint8_t hier_select; |
134 | /* constellation */ | 134 | /* constellation */ |
135 | uint8_t constellation; | 135 | uint8_t constellation; |
136 | /* hierarchy */ | 136 | /* hierarchy */ |
137 | uint8_t hierarchy; | 137 | uint8_t hierarchy; |
138 | /* interleaving mode */ | 138 | /* interleaving mode */ |
139 | uint8_t interleaving_mode; | 139 | uint8_t interleaving_mode; |
140 | /* code rate */ | 140 | /* code rate */ |
141 | uint8_t code_rate; | 141 | uint8_t code_rate; |
142 | /* guard interval */ | 142 | /* guard interval */ |
143 | uint8_t guard_interval; | 143 | uint8_t guard_interval; |
144 | /* transmission mode */ | 144 | /* transmission mode */ |
145 | uint8_t transmission_mode; | 145 | uint8_t transmission_mode; |
146 | } __packed; | 146 | } __packed; |
147 | 147 | ||
148 | struct as10x_tune_status { | 148 | struct as10x_tune_status { |
149 | /* tune status */ | 149 | /* tune status */ |
150 | uint8_t tune_state; | 150 | uint8_t tune_state; |
151 | /* signal strength */ | 151 | /* signal strength */ |
152 | int16_t signal_strength; | 152 | int16_t signal_strength; |
153 | /* packet error rate 10^-4 */ | 153 | /* packet error rate 10^-4 */ |
154 | uint16_t PER; | 154 | uint16_t PER; |
155 | /* bit error rate 10^-4 */ | 155 | /* bit error rate 10^-4 */ |
156 | uint16_t BER; | 156 | uint16_t BER; |
157 | } __packed; | 157 | } __packed; |
158 | 158 | ||
159 | struct as10x_demod_stats { | 159 | struct as10x_demod_stats { |
160 | /* frame counter */ | 160 | /* frame counter */ |
161 | uint32_t frame_count; | 161 | uint32_t frame_count; |
162 | /* Bad frame counter */ | 162 | /* Bad frame counter */ |
163 | uint32_t bad_frame_count; | 163 | uint32_t bad_frame_count; |
164 | /* Number of wrong bytes fixed by Reed-Solomon */ | 164 | /* Number of wrong bytes fixed by Reed-Solomon */ |
165 | uint32_t bytes_fixed_by_rs; | 165 | uint32_t bytes_fixed_by_rs; |
166 | /* Averaged MER */ | 166 | /* Averaged MER */ |
167 | uint16_t mer; | 167 | uint16_t mer; |
168 | /* statistics calculation state indicator (started or not) */ | 168 | /* statistics calculation state indicator (started or not) */ |
169 | uint8_t has_started; | 169 | uint8_t has_started; |
170 | } __packed; | 170 | } __packed; |
171 | 171 | ||
172 | struct as10x_ts_filter { | 172 | struct as10x_ts_filter { |
173 | uint16_t pid; /** valid PID value 0x00 : 0x2000 */ | 173 | uint16_t pid; /* valid PID value 0x00 : 0x2000 */ |
174 | uint8_t type; /** Red TS_PID_TYPE_<N> values */ | 174 | uint8_t type; /* Red TS_PID_TYPE_<N> values */ |
175 | uint8_t idx; /** index in filtering table */ | 175 | uint8_t idx; /* index in filtering table */ |
176 | } __packed; | 176 | } __packed; |
177 | 177 | ||
178 | struct as10x_register_value { | 178 | struct as10x_register_value { |
179 | uint8_t mode; | 179 | uint8_t mode; |
180 | union { | 180 | union { |
181 | uint8_t value8; /* 8 bit value */ | 181 | uint8_t value8; /* 8 bit value */ |
182 | uint16_t value16; /* 16 bit value */ | 182 | uint16_t value16; /* 16 bit value */ |
183 | uint32_t value32; /* 32 bit value */ | 183 | uint32_t value32; /* 32 bit value */ |
184 | }u; | 184 | } u; |
185 | } __packed; | 185 | } __packed; |
186 | 186 | ||
187 | struct as10x_register_addr { | 187 | struct as10x_register_addr { |
188 | /* register addr */ | 188 | /* register addr */ |
189 | uint32_t addr; | 189 | uint32_t addr; |
190 | /* register mode access */ | 190 | /* register mode access */ |
191 | uint8_t mode; | 191 | uint8_t mode; |
192 | }; | 192 | }; |
193 | 193 | ||
194 | |||
195 | #endif | 194 | #endif |