1
2
3
4
5
6
7
8 #include <acpi/acpi.h>
9 #include "accommon.h"
10 #include "acresrc.h"
11
12 #define _COMPONENT ACPI_RESOURCES
13 ACPI_MODULE_NAME("rsio")
14
15
16
17
18
19
20 struct acpi_rsconvert_info acpi_rs_convert_io[5] = {
21 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_IO,
22 ACPI_RS_SIZE(struct acpi_resource_io),
23 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_io)},
24
25 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_IO,
26 sizeof(struct aml_resource_io),
27 0},
28
29
30
31 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.io.io_decode),
32 AML_OFFSET(io.flags),
33 0},
34
35
36
37
38
39
40
41 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.io.alignment),
42 AML_OFFSET(io.alignment),
43 2},
44
45 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.io.minimum),
46 AML_OFFSET(io.minimum),
47 2}
48 };
49
50
51
52
53
54
55
56 struct acpi_rsconvert_info acpi_rs_convert_fixed_io[4] = {
57 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_FIXED_IO,
58 ACPI_RS_SIZE(struct acpi_resource_fixed_io),
59 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_fixed_io)},
60
61 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_FIXED_IO,
62 sizeof(struct aml_resource_fixed_io),
63 0},
64
65
66
67
68
69 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.fixed_io.address_length),
70 AML_OFFSET(fixed_io.address_length),
71 1},
72
73 {ACPI_RSC_MOVE16, ACPI_RS_OFFSET(data.fixed_io.address),
74 AML_OFFSET(fixed_io.address),
75 1}
76 };
77
78
79
80
81
82
83
84 struct acpi_rsconvert_info acpi_rs_convert_generic_reg[4] = {
85 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_GENERIC_REGISTER,
86 ACPI_RS_SIZE(struct acpi_resource_generic_register),
87 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_generic_reg)},
88
89 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_GENERIC_REGISTER,
90 sizeof(struct aml_resource_generic_register),
91 0},
92
93
94
95
96
97
98
99 {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.generic_reg.space_id),
100 AML_OFFSET(generic_reg.address_space_id),
101 4},
102
103
104
105 {ACPI_RSC_MOVE64, ACPI_RS_OFFSET(data.generic_reg.address),
106 AML_OFFSET(generic_reg.address),
107 1}
108 };
109
110
111
112
113
114
115
116 struct acpi_rsconvert_info acpi_rs_convert_end_dpf[2] = {
117 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_END_DEPENDENT,
118 ACPI_RS_SIZE_MIN,
119 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_end_dpf)},
120
121 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_END_DEPENDENT,
122 sizeof(struct aml_resource_end_dependent),
123 0}
124 };
125
126
127
128
129
130
131
132 struct acpi_rsconvert_info acpi_rs_convert_end_tag[2] = {
133 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_END_TAG,
134 ACPI_RS_SIZE_MIN,
135 ACPI_RSC_TABLE_SIZE(acpi_rs_convert_end_tag)},
136
137
138
139
140
141
142 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_END_TAG,
143 sizeof(struct aml_resource_end_tag),
144 0}
145 };
146
147
148
149
150
151
152
153 struct acpi_rsconvert_info acpi_rs_get_start_dpf[6] = {
154 {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_START_DEPENDENT,
155 ACPI_RS_SIZE(struct acpi_resource_start_dependent),
156 ACPI_RSC_TABLE_SIZE(acpi_rs_get_start_dpf)},
157
158
159
160 {ACPI_RSC_SET8, ACPI_RS_OFFSET(data.start_dpf.compatibility_priority),
161 ACPI_ACCEPTABLE_CONFIGURATION,
162 2},
163
164
165
166 {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.start_dpf.descriptor_length),
167 AML_OFFSET(start_dpf.descriptor_type),
168 0},
169
170
171
172 {ACPI_RSC_EXIT_NE, ACPI_RSC_COMPARE_AML_LENGTH, 0, 1},
173
174
175
176 {ACPI_RSC_2BITFLAG,
177 ACPI_RS_OFFSET(data.start_dpf.compatibility_priority),
178 AML_OFFSET(start_dpf.flags),
179 0},
180
181 {ACPI_RSC_2BITFLAG,
182 ACPI_RS_OFFSET(data.start_dpf.performance_robustness),
183 AML_OFFSET(start_dpf.flags),
184 2}
185 };
186
187
188
189
190
191
192
193 struct acpi_rsconvert_info acpi_rs_set_start_dpf[10] = {
194
195
196 {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_START_DEPENDENT,
197 sizeof(struct aml_resource_start_dependent),
198 ACPI_RSC_TABLE_SIZE(acpi_rs_set_start_dpf)},
199
200
201
202 {ACPI_RSC_2BITFLAG,
203 ACPI_RS_OFFSET(data.start_dpf.compatibility_priority),
204 AML_OFFSET(start_dpf.flags),
205 0},
206
207 {ACPI_RSC_2BITFLAG,
208 ACPI_RS_OFFSET(data.start_dpf.performance_robustness),
209 AML_OFFSET(start_dpf.flags),
210 2},
211
212
213
214
215 {ACPI_RSC_EXIT_EQ, ACPI_RSC_COMPARE_VALUE,
216 ACPI_RS_OFFSET(data.start_dpf.descriptor_length),
217 1},
218
219
220
221 {ACPI_RSC_LENGTH, 0, 0,
222 sizeof(struct aml_resource_start_dependent_noprio)},
223
224
225
226
227
228
229
230 {ACPI_RSC_EXIT_EQ, ACPI_RSC_COMPARE_VALUE,
231 ACPI_RS_OFFSET(data.start_dpf.descriptor_length),
232 0},
233
234
235
236 {ACPI_RSC_LENGTH, 0, 0, sizeof(struct aml_resource_start_dependent)},
237
238
239
240
241
242 {ACPI_RSC_EXIT_NE, ACPI_RSC_COMPARE_VALUE,
243 ACPI_RS_OFFSET(data.start_dpf.compatibility_priority),
244 ACPI_ACCEPTABLE_CONFIGURATION},
245
246 {ACPI_RSC_EXIT_NE, ACPI_RSC_COMPARE_VALUE,
247 ACPI_RS_OFFSET(data.start_dpf.performance_robustness),
248 ACPI_ACCEPTABLE_CONFIGURATION},
249
250
251
252 {ACPI_RSC_LENGTH, 0, 0,
253 sizeof(struct aml_resource_start_dependent_noprio)}
254 };