aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ppc64/iSeries/HvCallPci.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ppc64/iSeries/HvCallPci.h')
-rw-r--r--include/asm-ppc64/iSeries/HvCallPci.h340
1 files changed, 145 insertions, 195 deletions
diff --git a/include/asm-ppc64/iSeries/HvCallPci.h b/include/asm-ppc64/iSeries/HvCallPci.h
index 6887b619288e..346ab5d39dcd 100644
--- a/include/asm-ppc64/iSeries/HvCallPci.h
+++ b/include/asm-ppc64/iSeries/HvCallPci.h
@@ -1,26 +1,26 @@
1/************************************************************************/ 1/*
2/* Provides the Hypervisor PCI calls for iSeries Linux Parition. */ 2 * Provides the Hypervisor PCI calls for iSeries Linux Parition.
3/* Copyright (C) 2001 <Wayne G Holm> <IBM Corporation> */ 3 * Copyright (C) 2001 <Wayne G Holm> <IBM Corporation>
4/* */ 4 *
5/* This program is free software; you can redistribute it and/or modify */ 5 * This program is free software; you can redistribute it and/or modify
6/* it under the terms of the GNU General Public License as published by */ 6 * it under the terms of the GNU General Public License as published by
7/* the Free Software Foundation; either version 2 of the License, or */ 7 * the Free Software Foundation; either version 2 of the License, or
8/* (at your option) any later version. */ 8 * (at your option) any later version.
9/* */ 9 *
10/* This program is distributed in the hope that it will be useful, */ 10 * This program is distributed in the hope that it will be useful,
11/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13/* GNU General Public License for more details. */ 13 * GNU General Public License for more details.
14/* */ 14 *
15/* You should have received a copy of the GNU General Public License */ 15 * You should have received a copy of the GNU General Public License
16/* along with this program; if not, write to the: */ 16 * along with this program; if not, write to the:
17/* Free Software Foundation, Inc., */ 17 * Free Software Foundation, Inc.,
18/* 59 Temple Place, Suite 330, */ 18 * 59 Temple Place, Suite 330,
19/* Boston, MA 02111-1307 USA */ 19 * Boston, MA 02111-1307 USA
20/************************************************************************/ 20 *
21/* Change Activity: */ 21 * Change Activity:
22/* Created, Jan 9, 2001 */ 22 * Created, Jan 9, 2001
23/************************************************************************/ 23 */
24 24
25#ifndef _HVCALLPCI_H 25#ifndef _HVCALLPCI_H
26#define _HVCALLPCI_H 26#define _HVCALLPCI_H
@@ -34,8 +34,8 @@
34 */ 34 */
35struct HvCallPci_DsaAddr { 35struct HvCallPci_DsaAddr {
36 u16 busNumber; /* PHB index? */ 36 u16 busNumber; /* PHB index? */
37 u8 subBusNumber; /* PCI bus number? */ 37 u8 subBusNumber; /* PCI bus number? */
38 u8 deviceId; /* device and function? */ 38 u8 deviceId; /* device and function? */
39 u8 barNumber; 39 u8 barNumber;
40 u8 reserved[3]; 40 u8 reserved[3];
41}; 41};
@@ -52,34 +52,37 @@ struct HvCallPci_LoadReturn {
52 52
53enum HvCallPci_DeviceType { 53enum HvCallPci_DeviceType {
54 HvCallPci_NodeDevice = 1, 54 HvCallPci_NodeDevice = 1,
55 HvCallPci_SpDevice = 2, 55 HvCallPci_SpDevice = 2,
56 HvCallPci_IopDevice = 3, 56 HvCallPci_IopDevice = 3,
57 HvCallPci_BridgeDevice = 4, 57 HvCallPci_BridgeDevice = 4,
58 HvCallPci_MultiFunctionDevice = 5, 58 HvCallPci_MultiFunctionDevice = 5,
59 HvCallPci_IoaDevice = 6 59 HvCallPci_IoaDevice = 6
60}; 60};
61 61
62 62
63struct HvCallPci_DeviceInfo { 63struct HvCallPci_DeviceInfo {
64 u32 deviceType; // See DeviceType enum for values 64 u32 deviceType; /* See DeviceType enum for values */
65}; 65};
66 66
67struct HvCallPci_BusUnitInfo { 67struct HvCallPci_BusUnitInfo {
68 u32 sizeReturned; // length of data returned 68 u32 sizeReturned; /* length of data returned */
69 u32 deviceType; // see DeviceType enum for values 69 u32 deviceType; /* see DeviceType enum for values */
70}; 70};
71 71
72struct HvCallPci_BridgeInfo { 72struct HvCallPci_BridgeInfo {
73 struct HvCallPci_BusUnitInfo busUnitInfo; // Generic bus unit info 73 struct HvCallPci_BusUnitInfo busUnitInfo; /* Generic bus unit info */
74 u8 subBusNumber; // Bus number of secondary bus 74 u8 subBusNumber; /* Bus number of secondary bus */
75 u8 maxAgents; // Max idsels on secondary bus 75 u8 maxAgents; /* Max idsels on secondary bus */
76 u8 maxSubBusNumber; // Max Sub Bus 76 u8 maxSubBusNumber; /* Max Sub Bus */
77 u8 logicalSlotNumber; // Logical Slot Number for IOA 77 u8 logicalSlotNumber; /* Logical Slot Number for IOA */
78}; 78};
79
80 79
81// Maximum BusUnitInfo buffer size. Provided for clients so they can allocate 80
82// a buffer big enough for any type of bus unit. Increase as needed. 81/*
82 * Maximum BusUnitInfo buffer size. Provided for clients so
83 * they can allocate a buffer big enough for any type of bus
84 * unit. Increase as needed.
85 */
83enum {HvCallPci_MaxBusUnitInfoSize = 128}; 86enum {HvCallPci_MaxBusUnitInfoSize = 128};
84 87
85struct HvCallPci_BarParms { 88struct HvCallPci_BarParms {
@@ -89,12 +92,12 @@ struct HvCallPci_BarParms {
89 u64 protectStart; 92 u64 protectStart;
90 u64 protectEnd; 93 u64 protectEnd;
91 u64 relocationOffset; 94 u64 relocationOffset;
92 u64 pciAddress; 95 u64 pciAddress;
93 u64 reserved[3]; 96 u64 reserved[3];
94}; 97};
95 98
96enum HvCallPci_VpdType { 99enum HvCallPci_VpdType {
97 HvCallPci_BusVpd = 1, 100 HvCallPci_BusVpd = 1,
98 HvCallPci_BusAdapterVpd = 2 101 HvCallPci_BusAdapterVpd = 2
99}; 102};
100 103
@@ -123,15 +126,13 @@ enum HvCallPci_VpdType {
123#define HvCallPciUnmaskInterrupts HvCallPci + 49 126#define HvCallPciUnmaskInterrupts HvCallPci + 49
124#define HvCallPciGetBusUnitInfo HvCallPci + 50 127#define HvCallPciGetBusUnitInfo HvCallPci + 50
125 128
126//============================================================================
127static inline u64 HvCallPci_configLoad8(u16 busNumber, u8 subBusNumber, 129static inline u64 HvCallPci_configLoad8(u16 busNumber, u8 subBusNumber,
128 u8 deviceId, u32 offset, 130 u8 deviceId, u32 offset, u8 *value)
129 u8 *value)
130{ 131{
131 struct HvCallPci_DsaAddr dsa; 132 struct HvCallPci_DsaAddr dsa;
132 struct HvCallPci_LoadReturn retVal; 133 struct HvCallPci_LoadReturn retVal;
133 134
134 *((u64*)&dsa) = 0; 135 *((u64*)&dsa) = 0;
135 136
136 dsa.busNumber = busNumber; 137 dsa.busNumber = busNumber;
137 dsa.subBusNumber = subBusNumber; 138 dsa.subBusNumber = subBusNumber;
@@ -145,15 +146,14 @@ static inline u64 HvCallPci_configLoad8(u16 busNumber, u8 subBusNumber,
145 146
146 return retVal.rc; 147 return retVal.rc;
147} 148}
148//============================================================================ 149
149static inline u64 HvCallPci_configLoad16(u16 busNumber, u8 subBusNumber, 150static inline u64 HvCallPci_configLoad16(u16 busNumber, u8 subBusNumber,
150 u8 deviceId, u32 offset, 151 u8 deviceId, u32 offset, u16 *value)
151 u16 *value)
152{ 152{
153 struct HvCallPci_DsaAddr dsa; 153 struct HvCallPci_DsaAddr dsa;
154 struct HvCallPci_LoadReturn retVal; 154 struct HvCallPci_LoadReturn retVal;
155 155
156 *((u64*)&dsa) = 0; 156 *((u64*)&dsa) = 0;
157 157
158 dsa.busNumber = busNumber; 158 dsa.busNumber = busNumber;
159 dsa.subBusNumber = subBusNumber; 159 dsa.subBusNumber = subBusNumber;
@@ -167,15 +167,14 @@ static inline u64 HvCallPci_configLoad16(u16 busNumber, u8 subBusNumber,
167 167
168 return retVal.rc; 168 return retVal.rc;
169} 169}
170//============================================================================ 170
171static inline u64 HvCallPci_configLoad32(u16 busNumber, u8 subBusNumber, 171static inline u64 HvCallPci_configLoad32(u16 busNumber, u8 subBusNumber,
172 u8 deviceId, u32 offset, 172 u8 deviceId, u32 offset, u32 *value)
173 u32 *value)
174{ 173{
175 struct HvCallPci_DsaAddr dsa; 174 struct HvCallPci_DsaAddr dsa;
176 struct HvCallPci_LoadReturn retVal; 175 struct HvCallPci_LoadReturn retVal;
177 176
178 *((u64*)&dsa) = 0; 177 *((u64*)&dsa) = 0;
179 178
180 dsa.busNumber = busNumber; 179 dsa.busNumber = busNumber;
181 dsa.subBusNumber = subBusNumber; 180 dsa.subBusNumber = subBusNumber;
@@ -189,15 +188,14 @@ static inline u64 HvCallPci_configLoad32(u16 busNumber, u8 subBusNumber,
189 188
190 return retVal.rc; 189 return retVal.rc;
191} 190}
192//============================================================================ 191
193static inline u64 HvCallPci_configStore8(u16 busNumber, u8 subBusNumber, 192static inline u64 HvCallPci_configStore8(u16 busNumber, u8 subBusNumber,
194 u8 deviceId, u32 offset, 193 u8 deviceId, u32 offset, u8 value)
195 u8 value)
196{ 194{
197 struct HvCallPci_DsaAddr dsa; 195 struct HvCallPci_DsaAddr dsa;
198 u64 retVal; 196 u64 retVal;
199 197
200 *((u64*)&dsa) = 0; 198 *((u64*)&dsa) = 0;
201 199
202 dsa.busNumber = busNumber; 200 dsa.busNumber = busNumber;
203 dsa.subBusNumber = subBusNumber; 201 dsa.subBusNumber = subBusNumber;
@@ -209,15 +207,14 @@ static inline u64 HvCallPci_configStore8(u16 busNumber, u8 subBusNumber,
209 207
210 return retVal; 208 return retVal;
211} 209}
212//============================================================================ 210
213static inline u64 HvCallPci_configStore16(u16 busNumber, u8 subBusNumber, 211static inline u64 HvCallPci_configStore16(u16 busNumber, u8 subBusNumber,
214 u8 deviceId, u32 offset, 212 u8 deviceId, u32 offset, u16 value)
215 u16 value)
216{ 213{
217 struct HvCallPci_DsaAddr dsa; 214 struct HvCallPci_DsaAddr dsa;
218 u64 retVal; 215 u64 retVal;
219 216
220 *((u64*)&dsa) = 0; 217 *((u64*)&dsa) = 0;
221 218
222 dsa.busNumber = busNumber; 219 dsa.busNumber = busNumber;
223 dsa.subBusNumber = subBusNumber; 220 dsa.subBusNumber = subBusNumber;
@@ -229,15 +226,14 @@ static inline u64 HvCallPci_configStore16(u16 busNumber, u8 subBusNumber,
229 226
230 return retVal; 227 return retVal;
231} 228}
232//============================================================================ 229
233static inline u64 HvCallPci_configStore32(u16 busNumber, u8 subBusNumber, 230static inline u64 HvCallPci_configStore32(u16 busNumber, u8 subBusNumber,
234 u8 deviceId, u32 offset, 231 u8 deviceId, u32 offset, u32 value)
235 u32 value)
236{ 232{
237 struct HvCallPci_DsaAddr dsa; 233 struct HvCallPci_DsaAddr dsa;
238 u64 retVal; 234 u64 retVal;
239 235
240 *((u64*)&dsa) = 0; 236 *((u64*)&dsa) = 0;
241 237
242 dsa.busNumber = busNumber; 238 dsa.busNumber = busNumber;
243 dsa.subBusNumber = subBusNumber; 239 dsa.subBusNumber = subBusNumber;
@@ -249,18 +245,15 @@ static inline u64 HvCallPci_configStore32(u16 busNumber, u8 subBusNumber,
249 245
250 return retVal; 246 return retVal;
251} 247}
252//============================================================================ 248
253static inline u64 HvCallPci_barLoad8(u16 busNumberParm, 249static inline u64 HvCallPci_barLoad8(u16 busNumberParm, u8 subBusParm,
254 u8 subBusParm, 250 u8 deviceIdParm, u8 barNumberParm, u64 offsetParm,
255 u8 deviceIdParm, 251 u8 *valueParm)
256 u8 barNumberParm,
257 u64 offsetParm,
258 u8* valueParm)
259{ 252{
260 struct HvCallPci_DsaAddr dsa; 253 struct HvCallPci_DsaAddr dsa;
261 struct HvCallPci_LoadReturn retVal; 254 struct HvCallPci_LoadReturn retVal;
262 255
263 *((u64*)&dsa) = 0; 256 *((u64*)&dsa) = 0;
264 257
265 dsa.busNumber = busNumberParm; 258 dsa.busNumber = busNumberParm;
266 dsa.subBusNumber = subBusParm; 259 dsa.subBusNumber = subBusParm;
@@ -275,18 +268,15 @@ static inline u64 HvCallPci_barLoad8(u16 busNumberParm,
275 268
276 return retVal.rc; 269 return retVal.rc;
277} 270}
278//============================================================================ 271
279static inline u64 HvCallPci_barLoad16(u16 busNumberParm, 272static inline u64 HvCallPci_barLoad16(u16 busNumberParm, u8 subBusParm,
280 u8 subBusParm, 273 u8 deviceIdParm, u8 barNumberParm, u64 offsetParm,
281 u8 deviceIdParm, 274 u16 *valueParm)
282 u8 barNumberParm,
283 u64 offsetParm,
284 u16* valueParm)
285{ 275{
286 struct HvCallPci_DsaAddr dsa; 276 struct HvCallPci_DsaAddr dsa;
287 struct HvCallPci_LoadReturn retVal; 277 struct HvCallPci_LoadReturn retVal;
288 278
289 *((u64*)&dsa) = 0; 279 *((u64*)&dsa) = 0;
290 280
291 dsa.busNumber = busNumberParm; 281 dsa.busNumber = busNumberParm;
292 dsa.subBusNumber = subBusParm; 282 dsa.subBusNumber = subBusParm;
@@ -301,18 +291,15 @@ static inline u64 HvCallPci_barLoad16(u16 busNumberParm,
301 291
302 return retVal.rc; 292 return retVal.rc;
303} 293}
304//============================================================================ 294
305static inline u64 HvCallPci_barLoad32(u16 busNumberParm, 295static inline u64 HvCallPci_barLoad32(u16 busNumberParm, u8 subBusParm,
306 u8 subBusParm, 296 u8 deviceIdParm, u8 barNumberParm, u64 offsetParm,
307 u8 deviceIdParm, 297 u32 *valueParm)
308 u8 barNumberParm,
309 u64 offsetParm,
310 u32* valueParm)
311{ 298{
312 struct HvCallPci_DsaAddr dsa; 299 struct HvCallPci_DsaAddr dsa;
313 struct HvCallPci_LoadReturn retVal; 300 struct HvCallPci_LoadReturn retVal;
314 301
315 *((u64*)&dsa) = 0; 302 *((u64*)&dsa) = 0;
316 303
317 dsa.busNumber = busNumberParm; 304 dsa.busNumber = busNumberParm;
318 dsa.subBusNumber = subBusParm; 305 dsa.subBusNumber = subBusParm;
@@ -327,18 +314,15 @@ static inline u64 HvCallPci_barLoad32(u16 busNumberParm,
327 314
328 return retVal.rc; 315 return retVal.rc;
329} 316}
330//============================================================================ 317
331static inline u64 HvCallPci_barLoad64(u16 busNumberParm, 318static inline u64 HvCallPci_barLoad64(u16 busNumberParm, u8 subBusParm,
332 u8 subBusParm, 319 u8 deviceIdParm, u8 barNumberParm, u64 offsetParm,
333 u8 deviceIdParm, 320 u64 *valueParm)
334 u8 barNumberParm,
335 u64 offsetParm,
336 u64* valueParm)
337{ 321{
338 struct HvCallPci_DsaAddr dsa; 322 struct HvCallPci_DsaAddr dsa;
339 struct HvCallPci_LoadReturn retVal; 323 struct HvCallPci_LoadReturn retVal;
340 324
341 *((u64*)&dsa) = 0; 325 *((u64*)&dsa) = 0;
342 326
343 dsa.busNumber = busNumberParm; 327 dsa.busNumber = busNumberParm;
344 dsa.subBusNumber = subBusParm; 328 dsa.subBusNumber = subBusParm;
@@ -353,19 +337,16 @@ static inline u64 HvCallPci_barLoad64(u16 busNumberParm,
353 337
354 return retVal.rc; 338 return retVal.rc;
355} 339}
356//============================================================================ 340
357static inline u64 HvCallPci_barStore8(u16 busNumberParm, 341static inline u64 HvCallPci_barStore8(u16 busNumberParm, u8 subBusParm,
358 u8 subBusParm, 342 u8 deviceIdParm, u8 barNumberParm, u64 offsetParm,
359 u8 deviceIdParm, 343 u8 valueParm)
360 u8 barNumberParm,
361 u64 offsetParm,
362 u8 valueParm)
363{ 344{
364 struct HvCallPci_DsaAddr dsa; 345 struct HvCallPci_DsaAddr dsa;
365 u64 retVal; 346 u64 retVal;
366 347
367 *((u64*)&dsa) = 0; 348 *((u64*)&dsa) = 0;
368 349
369 dsa.busNumber = busNumberParm; 350 dsa.busNumber = busNumberParm;
370 dsa.subBusNumber = subBusParm; 351 dsa.subBusNumber = subBusParm;
371 dsa.deviceId = deviceIdParm; 352 dsa.deviceId = deviceIdParm;
@@ -377,19 +358,16 @@ static inline u64 HvCallPci_barStore8(u16 busNumberParm,
377 358
378 return retVal; 359 return retVal;
379} 360}
380//============================================================================ 361
381static inline u64 HvCallPci_barStore16(u16 busNumberParm, 362static inline u64 HvCallPci_barStore16(u16 busNumberParm, u8 subBusParm,
382 u8 subBusParm, 363 u8 deviceIdParm, u8 barNumberParm, u64 offsetParm,
383 u8 deviceIdParm, 364 u16 valueParm)
384 u8 barNumberParm,
385 u64 offsetParm,
386 u16 valueParm)
387{ 365{
388 struct HvCallPci_DsaAddr dsa; 366 struct HvCallPci_DsaAddr dsa;
389 u64 retVal; 367 u64 retVal;
390 368
391 *((u64*)&dsa) = 0; 369 *((u64*)&dsa) = 0;
392 370
393 dsa.busNumber = busNumberParm; 371 dsa.busNumber = busNumberParm;
394 dsa.subBusNumber = subBusParm; 372 dsa.subBusNumber = subBusParm;
395 dsa.deviceId = deviceIdParm; 373 dsa.deviceId = deviceIdParm;
@@ -401,19 +379,16 @@ static inline u64 HvCallPci_barStore16(u16 busNumberParm,
401 379
402 return retVal; 380 return retVal;
403} 381}
404//============================================================================ 382
405static inline u64 HvCallPci_barStore32(u16 busNumberParm, 383static inline u64 HvCallPci_barStore32(u16 busNumberParm, u8 subBusParm,
406 u8 subBusParm, 384 u8 deviceIdParm, u8 barNumberParm, u64 offsetParm,
407 u8 deviceIdParm, 385 u32 valueParm)
408 u8 barNumberParm,
409 u64 offsetParm,
410 u32 valueParm)
411{ 386{
412 struct HvCallPci_DsaAddr dsa; 387 struct HvCallPci_DsaAddr dsa;
413 u64 retVal; 388 u64 retVal;
414 389
415 *((u64*)&dsa) = 0; 390 *((u64*)&dsa) = 0;
416 391
417 dsa.busNumber = busNumberParm; 392 dsa.busNumber = busNumberParm;
418 dsa.subBusNumber = subBusParm; 393 dsa.subBusNumber = subBusParm;
419 dsa.deviceId = deviceIdParm; 394 dsa.deviceId = deviceIdParm;
@@ -425,19 +400,16 @@ static inline u64 HvCallPci_barStore32(u16 busNumberParm,
425 400
426 return retVal; 401 return retVal;
427} 402}
428//============================================================================ 403
429static inline u64 HvCallPci_barStore64(u16 busNumberParm, 404static inline u64 HvCallPci_barStore64(u16 busNumberParm, u8 subBusParm,
430 u8 subBusParm, 405 u8 deviceIdParm, u8 barNumberParm, u64 offsetParm,
431 u8 deviceIdParm, 406 u64 valueParm)
432 u8 barNumberParm,
433 u64 offsetParm,
434 u64 valueParm)
435{ 407{
436 struct HvCallPci_DsaAddr dsa; 408 struct HvCallPci_DsaAddr dsa;
437 u64 retVal; 409 u64 retVal;
438 410
439 *((u64*)&dsa) = 0; 411 *((u64*)&dsa) = 0;
440 412
441 dsa.busNumber = busNumberParm; 413 dsa.busNumber = busNumberParm;
442 dsa.subBusNumber = subBusParm; 414 dsa.subBusNumber = subBusParm;
443 dsa.deviceId = deviceIdParm; 415 dsa.deviceId = deviceIdParm;
@@ -449,10 +421,9 @@ static inline u64 HvCallPci_barStore64(u16 busNumberParm,
449 421
450 return retVal; 422 return retVal;
451} 423}
452//============================================================================ 424
453static inline u64 HvCallPci_eoi(u16 busNumberParm, 425static inline u64 HvCallPci_eoi(u16 busNumberParm, u8 subBusParm,
454 u8 subBusParm, 426 u8 deviceIdParm)
455 u8 deviceIdParm)
456{ 427{
457 struct HvCallPci_DsaAddr dsa; 428 struct HvCallPci_DsaAddr dsa;
458 struct HvCallPci_LoadReturn retVal; 429 struct HvCallPci_LoadReturn retVal;
@@ -469,13 +440,9 @@ static inline u64 HvCallPci_eoi(u16 busNumberParm,
469 440
470 return retVal.rc; 441 return retVal.rc;
471} 442}
472//============================================================================ 443
473static inline u64 HvCallPci_getBarParms(u16 busNumberParm, 444static inline u64 HvCallPci_getBarParms(u16 busNumberParm, u8 subBusParm,
474 u8 subBusParm, 445 u8 deviceIdParm, u8 barNumberParm, u64 parms, u32 sizeofParms)
475 u8 deviceIdParm,
476 u8 barNumberParm,
477 u64 parms,
478 u32 sizeofParms)
479{ 446{
480 struct HvCallPci_DsaAddr dsa; 447 struct HvCallPci_DsaAddr dsa;
481 u64 retVal; 448 u64 retVal;
@@ -493,16 +460,14 @@ static inline u64 HvCallPci_getBarParms(u16 busNumberParm,
493 460
494 return retVal; 461 return retVal;
495} 462}
496//============================================================================ 463
497static inline u64 HvCallPci_maskFisr(u16 busNumberParm, 464static inline u64 HvCallPci_maskFisr(u16 busNumberParm, u8 subBusParm,
498 u8 subBusParm, 465 u8 deviceIdParm, u64 fisrMask)
499 u8 deviceIdParm,
500 u64 fisrMask)
501{ 466{
502 struct HvCallPci_DsaAddr dsa; 467 struct HvCallPci_DsaAddr dsa;
503 u64 retVal; 468 u64 retVal;
504 469
505 *((u64*)&dsa) = 0; 470 *((u64*)&dsa) = 0;
506 471
507 dsa.busNumber = busNumberParm; 472 dsa.busNumber = busNumberParm;
508 dsa.subBusNumber = subBusParm; 473 dsa.subBusNumber = subBusParm;
@@ -514,16 +479,14 @@ static inline u64 HvCallPci_maskFisr(u16 busNumberParm,
514 479
515 return retVal; 480 return retVal;
516} 481}
517//============================================================================ 482
518static inline u64 HvCallPci_unmaskFisr(u16 busNumberParm, 483static inline u64 HvCallPci_unmaskFisr(u16 busNumberParm, u8 subBusParm,
519 u8 subBusParm, 484 u8 deviceIdParm, u64 fisrMask)
520 u8 deviceIdParm,
521 u64 fisrMask)
522{ 485{
523 struct HvCallPci_DsaAddr dsa; 486 struct HvCallPci_DsaAddr dsa;
524 u64 retVal; 487 u64 retVal;
525 488
526 *((u64*)&dsa) = 0; 489 *((u64*)&dsa) = 0;
527 490
528 dsa.busNumber = busNumberParm; 491 dsa.busNumber = busNumberParm;
529 dsa.subBusNumber = subBusParm; 492 dsa.subBusNumber = subBusParm;
@@ -535,11 +498,9 @@ static inline u64 HvCallPci_unmaskFisr(u16 busNumberParm,
535 498
536 return retVal; 499 return retVal;
537} 500}
538//============================================================================ 501
539static inline u64 HvCallPci_setSlotReset(u16 busNumberParm, 502static inline u64 HvCallPci_setSlotReset(u16 busNumberParm, u8 subBusParm,
540 u8 subBusParm, 503 u8 deviceIdParm, u64 onNotOff)
541 u8 deviceIdParm,
542 u64 onNotOff)
543{ 504{
544 struct HvCallPci_DsaAddr dsa; 505 struct HvCallPci_DsaAddr dsa;
545 u64 retVal; 506 u64 retVal;
@@ -556,12 +517,9 @@ static inline u64 HvCallPci_setSlotReset(u16 busNumberParm,
556 517
557 return retVal; 518 return retVal;
558} 519}
559//============================================================================ 520
560static inline u64 HvCallPci_getDeviceInfo(u16 busNumberParm, 521static inline u64 HvCallPci_getDeviceInfo(u16 busNumberParm, u8 subBusParm,
561 u8 subBusParm, 522 u8 deviceNumberParm, u64 parms, u32 sizeofParms)
562 u8 deviceNumberParm,
563 u64 parms,
564 u32 sizeofParms)
565{ 523{
566 struct HvCallPci_DsaAddr dsa; 524 struct HvCallPci_DsaAddr dsa;
567 u64 retVal; 525 u64 retVal;
@@ -578,16 +536,14 @@ static inline u64 HvCallPci_getDeviceInfo(u16 busNumberParm,
578 536
579 return retVal; 537 return retVal;
580} 538}
581//============================================================================ 539
582static inline u64 HvCallPci_maskInterrupts(u16 busNumberParm, 540static inline u64 HvCallPci_maskInterrupts(u16 busNumberParm, u8 subBusParm,
583 u8 subBusParm, 541 u8 deviceIdParm, u64 interruptMask)
584 u8 deviceIdParm,
585 u64 interruptMask)
586{ 542{
587 struct HvCallPci_DsaAddr dsa; 543 struct HvCallPci_DsaAddr dsa;
588 u64 retVal; 544 u64 retVal;
589 545
590 *((u64*)&dsa) = 0; 546 *((u64*)&dsa) = 0;
591 547
592 dsa.busNumber = busNumberParm; 548 dsa.busNumber = busNumberParm;
593 dsa.subBusNumber = subBusParm; 549 dsa.subBusNumber = subBusParm;
@@ -599,16 +555,14 @@ static inline u64 HvCallPci_maskInterrupts(u16 busNumberParm,
599 555
600 return retVal; 556 return retVal;
601} 557}
602//============================================================================ 558
603static inline u64 HvCallPci_unmaskInterrupts(u16 busNumberParm, 559static inline u64 HvCallPci_unmaskInterrupts(u16 busNumberParm, u8 subBusParm,
604 u8 subBusParm, 560 u8 deviceIdParm, u64 interruptMask)
605 u8 deviceIdParm,
606 u64 interruptMask)
607{ 561{
608 struct HvCallPci_DsaAddr dsa; 562 struct HvCallPci_DsaAddr dsa;
609 u64 retVal; 563 u64 retVal;
610 564
611 *((u64*)&dsa) = 0; 565 *((u64*)&dsa) = 0;
612 566
613 dsa.busNumber = busNumberParm; 567 dsa.busNumber = busNumberParm;
614 dsa.subBusNumber = subBusParm; 568 dsa.subBusNumber = subBusParm;
@@ -620,18 +574,14 @@ static inline u64 HvCallPci_unmaskInterrupts(u16 busNumberParm,
620 574
621 return retVal; 575 return retVal;
622} 576}
623//============================================================================
624 577
625static inline u64 HvCallPci_getBusUnitInfo(u16 busNumberParm, 578static inline u64 HvCallPci_getBusUnitInfo(u16 busNumberParm, u8 subBusParm,
626 u8 subBusParm, 579 u8 deviceIdParm, u64 parms, u32 sizeofParms)
627 u8 deviceIdParm,
628 u64 parms,
629 u32 sizeofParms)
630{ 580{
631 struct HvCallPci_DsaAddr dsa; 581 struct HvCallPci_DsaAddr dsa;
632 u64 retVal; 582 u64 retVal;
633 583
634 *((u64*)&dsa) = 0; 584 *((u64*)&dsa) = 0;
635 585
636 dsa.busNumber = busNumberParm; 586 dsa.busNumber = busNumberParm;
637 dsa.subBusNumber = subBusParm; 587 dsa.subBusNumber = subBusParm;
@@ -643,9 +593,9 @@ static inline u64 HvCallPci_getBusUnitInfo(u16 busNumberParm,
643 593
644 return retVal; 594 return retVal;
645} 595}
646//============================================================================
647 596
648static inline int HvCallPci_getBusVpd(u16 busNumParm, u64 destParm, u16 sizeParm) 597static inline int HvCallPci_getBusVpd(u16 busNumParm, u64 destParm,
598 u16 sizeParm)
649{ 599{
650 int xRetSize; 600 int xRetSize;
651 u64 xRc = HvCall4(HvCallPciGetCardVpd, busNumParm, destParm, sizeParm, HvCallPci_BusVpd); 601 u64 xRc = HvCall4(HvCallPciGetCardVpd, busNumParm, destParm, sizeParm, HvCallPci_BusVpd);
@@ -656,9 +606,9 @@ static inline int HvCallPci_getBusVpd(u16 busNumParm, u64 destParm, u16 sizeParm
656 xRetSize = xRc & 0xFFFF; 606 xRetSize = xRc & 0xFFFF;
657 return xRetSize; 607 return xRetSize;
658} 608}
659//============================================================================
660 609
661static inline int HvCallPci_getBusAdapterVpd(u16 busNumParm, u64 destParm, u16 sizeParm) 610static inline int HvCallPci_getBusAdapterVpd(u16 busNumParm, u64 destParm,
611 u16 sizeParm)
662{ 612{
663 int xRetSize; 613 int xRetSize;
664 u64 xRc = HvCall4(HvCallPciGetCardVpd, busNumParm, destParm, sizeParm, HvCallPci_BusAdapterVpd); 614 u64 xRc = HvCall4(HvCallPciGetCardVpd, busNumParm, destParm, sizeParm, HvCallPci_BusAdapterVpd);
@@ -669,5 +619,5 @@ static inline int HvCallPci_getBusAdapterVpd(u16 busNumParm, u64 destParm, u16 s
669 xRetSize = xRc & 0xFFFF; 619 xRetSize = xRc & 0xFFFF;
670 return xRetSize; 620 return xRetSize;
671} 621}
672//============================================================================ 622
673#endif /* _HVCALLPCI_H */ 623#endif /* _HVCALLPCI_H */