FreeBSD kernel pms device code
dmproto.h
Go to the documentation of this file.
1/*******************************************************************************
2*
3*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved.
4*
5*Redistribution and use in source and binary forms, with or without modification, are permitted provided
6*that the following conditions are met:
7*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
8*following disclaimer.
9*2. Redistributions in binary form must reproduce the above copyright notice,
10*this list of conditions and the following disclaimer in the documentation and/or other materials provided
11*with the distribution.
12*
13*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
14*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
15*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
16*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
17*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
18*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
19*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
20*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
21*
22* $FreeBSD$
23*
24********************************************************************************/
25#ifndef __DMPROTO_H__
26#define __DMPROTO_H__
27
29
30/***************** util ****************************************/
31osGLOBAL void
32*dm_memset(void *s, int c, bit32 n);
33
34osGLOBAL void
35*dm_memcpy(void *dst, void *src, bit32 count);
36
37osGLOBAL void
38dmhexdump(const char *ptitle, bit8 *pbuf, int len);
39
40
41/* timer related */
42osGLOBAL void
44 dmRoot_t *dmRoot
45 );
46osGLOBAL void
48 dmRoot_t *dmRoot,
49 dmTimerRequest_t *timerRequest
50 );
51
52osGLOBAL void
54 dmRoot_t *dmRoot,
55 dmTimerRequest_t *timerRequest,
56 bit32 timeout,
57 dmTimerCBFunc_t CBFunc,
58 void *timerData1,
59 void *timerData2,
60 void *timerData3
61 );
62
63osGLOBAL void
65 dmRoot_t *dmRoot,
66 dmList_t *timerListHdr,
67 dmTimerRequest_t *timerRequest
68 );
69
70osGLOBAL void
72 dmRoot_t *dmRoot,
73 dmTimerRequest_t *timerRequest
74 );
75
76osGLOBAL void
78 dmRoot_t *dmRoot
79 );
80
81
82
83osGLOBAL void
85 dmRoot_t *dmRoot
86 );
87
88osGLOBAL void
90 dmRoot_t *dmRoot,
91 dmIntPortContext_t *onePortContext
92 );
93
94osGLOBAL void
96 dmRoot_t *dmRoot
97 );
98
99osGLOBAL void
101 dmRoot_t *dmRoot,
102 dmDeviceData_t *oneDeviceData
103 );
104
105osGLOBAL void
107 dmRoot_t *dmRoot,
108 bit32 max_exp
109 );
110
111osGLOBAL void
113 dmRoot_t *dmRoot,
114 dmExpander_t *oneExpander
115 );
116
117
118osGLOBAL void
120 dmRoot_t *dmRoot
121 );
122
123
126 dmRoot_t *dmRoot,
127 dmIntPortContext_t *onePortContext
128 );
129osGLOBAL void
131 dmRoot_t *dmRoot,
132 dmIntPortContext_t *onePortContext
133 );
134
135
138 dmRoot_t *dmRoot,
139 dmIntPortContext_t *onePortContext
140 );
141
144 dmRoot_t *dmRoot,
145 dmIntPortContext_t *onePortContext,
146 bit32 flag
147 );
148
151 dmRoot_t *dmRoot,
152 dmIntPortContext_t *onePortContext,
153 dmDeviceData_t *oneDeviceData
154 );
155osGLOBAL void
157 dmRoot_t *dmRoot,
158 dmIntPortContext_t *onePortContext,
159 dmExpander_t *oneExpander
160 );
161
162osGLOBAL void
164 dmRoot_t *dmRoot,
165 dmIntPortContext_t *onePortContext,
166 dmExpander_t *oneExpander
167 );
168
171 dmRoot_t *dmRoot,
172 dmIntPortContext_t *onePortContext,
173 bit32 sasAddrHi,
174 bit32 sasAddrLo
175 );
176
179 dmRoot_t *dmRoot,
180 dmIntPortContext_t *onePortContext,
181 bit32 sasAddrHi,
182 bit32 sasAddrLo
183 );
184
187 dmRoot_t *dmRoot,
188 dmIntPortContext_t *onePortContext,
189 bit32 sasAddrHi,
190 bit32 sasAddrLo
191 );
192
193osGLOBAL void
195 dmRoot_t *dmRoot,
196 dmIntPortContext_t *onePortContext
197 );
198
199osGLOBAL void
201 dmRoot_t *dmRoot,
202 dmIntPortContext_t *onePortContext,
203 dmDeviceData_t *oneDeviceData
204 );
205
206osGLOBAL void
208 dmRoot_t *dmRoot,
209 dmIntPortContext_t *onePortContext,
210 dmDeviceData_t *oneDeviceData
211 );
212
213osGLOBAL void
215 dmRoot_t *dmRoot,
216 dmIntPortContext_t *onePortContext,
217 dmDeviceData_t *oneDeviceData
218 );
219
220osGLOBAL void
222 dmRoot_t *dmRoot,
223 dmIntPortContext_t *onePortContext
224 );
225
226osGLOBAL void
228 dmRoot_t *dmRoot,
229 dmIntPortContext_t *onePortContext
230 );
231osGLOBAL void
233 dmRoot_t *dmRoot,
234 dmIntPortContext_t *onePortContext
235 );
236
237osGLOBAL void
239 dmRoot_t *dmRoot,
240 dmIntPortContext_t *onePortContext,
241 bit32 flag
242 );
243
244osGLOBAL void
246 dmRoot_t *dmRoot,
247 dmIntPortContext_t *onePortContext,
248 dmExpander_t *oneExpander,
249 smpRespDiscover_t *pDiscoverResp
250 );
251
252osGLOBAL void
254 dmRoot_t *dmRoot,
255 dmIntPortContext_t *onePortContext,
256 dmExpander_t *oneExpander,
257 smpRespDiscover2_t *pDiscoverResp
258 );
259
260osGLOBAL void
262 dmRoot_t *dmRoot,
263 dmIntPortContext_t *onePortContext,
264 dmExpander_t *oneExpander,
265 smpRespDiscover_t *pDiscoverResp
266 );
267osGLOBAL void
269 dmRoot_t *dmRoot,
270 dmIntPortContext_t *onePortContext,
271 dmExpander_t *oneExpander,
272 smpRespDiscover2_t *pDiscoverResp
273 );
274
275osGLOBAL void
277 dmRoot_t *dmRoot,
278 dmIntPortContext_t *onePortContext,
279 dmExpander_t *oneExpander
280 );
281
282osGLOBAL void
284 dmRoot_t *dmRoot,
285 dmIntPortContext_t *onePortContext,
286 dmExpander_t *oneExpander
287 );
288
289osGLOBAL void
291 dmRoot_t *dmRoot,
292 dmIntPortContext_t *onePortContext,
293 dmExpander_t *oneExpander
294 );
295osGLOBAL void
297 dmRoot_t *dmRoot,
298 dmIntPortContext_t *onePortContext,
299 dmExpander_t *oneExpander
300 );
301
302osGLOBAL void
304 dmRoot_t *dmRoot,
305 dmIntPortContext_t *onePortContext,
306 dmExpander_t *oneExpander
307 );
308
309
310osGLOBAL void
312 dmRoot_t *dmRoot,
313 dmExpander_t *oneExpander,
314 bit8 phyId
315 );
316
317osGLOBAL void
319 dmRoot_t *dmRoot,
320 dmExpander_t *oneExpander,
321 bit8 phyId
322 );
323
326 dmRoot_t *dmRoot,
327 dmIntPortContext_t *onePortContext,
328 bit32 sasAddrLo,
329 bit32 sasAddrHi,
330 dmDeviceData_t *CurrentDeviceData
331 );
332bit32
334 dmRoot_t *dmRoot,
335 dmIntPortContext_t *onePortContext,
336 dmSASSubID_t *dmSASSubID
337 );
338
339bit32
341 dmRoot_t *dmRoot,
342 dmIntPortContext_t *onePortContext,
343 dmSASSubID_t *dmSASSubID
344 );
345
348 dmRoot_t *dmRoot,
349 dmIntPortContext_t *onePortContext,
350 agsaSASIdentify_t sasIdentify,
351 bit32 sasInitiator,
352 bit8 connectionRate,
353 bit32 itNexusTimeout,
354 bit32 firstBurstSize,
355 bit32 deviceType,
356 dmDeviceData_t *oneDeviceData,
357 dmExpander_t *dmExpander,
358 bit8 phyID
359 );
360
361
364 dmRoot_t *dmRoot,
365 dmIntPortContext_t *onePortContext,
366 dmSASSubID_t *dmSASSubID
367 );
368
371 dmRoot_t *dmRoot,
372 dmIntPortContext_t *onePortContext,
373 dmExpander_t *oneExpander
374 );
375
378 dmRoot_t *dmRoot,
379 dmExpander_t *oneExpander,
380 bit32 configSASAddressHi,
381 bit32 configSASAddressLo
382 );
383
384
387 dmRoot_t *dmRoot,
388 dmExpander_t *oneExpander
389 );
390
391
394 dmRoot_t *dmRoot,
395 dmIntPortContext_t *onePortContext,
396 dmExpander_t *oneExpander
397 );
398
399osGLOBAL void
401 dmRoot_t *dmRoot,
402 dmIntPortContext_t *onePortContext,
403 dmExpander_t *oneExpander
404 );
405
406
407osGLOBAL void
409 dmRoot_t *dmRoot,
410 dmIntPortContext_t *onePortContext,
411 dmExpander_t *oneExpander
412 );
413
414osGLOBAL void
416 dmRoot_t *dmRoot
417 );
418
419osGLOBAL void
421 dmRoot_t *dmRoot,
422 dmIntPortContext_t *onePortContext
423 );
424
425osGLOBAL void
427 dmRoot_t *dmRoot,
428 dmIntPortContext_t *onePortContext
429 );
430
431osGLOBAL void
433 dmRoot_t *dmRoot,
434 dmIntPortContext_t *onePortContext,
435 dmDeviceData_t *oneDeviceData,
436 bit32 flag
437 );
438osGLOBAL void
440 dmRoot_t *dmRoot,
441 dmIntPortContext_t *onePortContext,
442 dmDeviceData_t *oneDeviceData,
443 bit32 flag
444 );
445
446osGLOBAL void
448 dmRoot_t *dmRoot,
449 dmIntPortContext_t *onePortContext
450 );
451
452osGLOBAL void
454 dmRoot_t *dmRoot,
455 dmIntPortContext_t *onePortContext,
456 bit32 flag
457 );
458
459osGLOBAL void
461 dmRoot_t *dmRoot,
462 dmIntPortContext_t *onePortContext
463 );
464osGLOBAL void
466 dmRoot_t *dmRoot,
467 dmIntPortContext_t *onePortContext
468 );
469
470osGLOBAL void
472 dmRoot_t *dmRoot,
473 dmIntPortContext_t *onePortContext
474 );
475
476osGLOBAL void
478 dmRoot_t *dmRoot,
479 dmIntPortContext_t *onePortContext
480 );
481osGLOBAL void
483 dmRoot_t *dmRoot,
484 dmIntPortContext_t *onePortContext
485 );
486
489 dmRoot_t *dmRoot,
490 dmIntPortContext_t *onePortContext,
491 dmSASSubID_t *dmSASSubID,
492 dmDeviceData_t *oneExpDeviceData,
493 bit8 phyID
494 );
497 dmRoot_t *dmRoot,
498 dmIntPortContext_t *onePortContext,
499 dmExpander_t *topExpander,
500 dmExpander_t *bottomExpander,
501 dmExpander_t *currentExpander
502 );
503
504osGLOBAL void
506 dmRoot_t *dmRoot,
507 dmIntPortContext_t *onePortContext,
508 dmDeviceData_t *AdjacentDeviceData, /* adjacent expander */
509 dmDeviceData_t *oneDeviceData /* current one */
510 );
511
512osGLOBAL void
514 dmRoot_t *dmRoot,
515 dmIntPortContext_t *onePortContext,
516 dmDeviceData_t *oneDeviceData /* current one */
517 );
518osGLOBAL void
520 dmRoot_t *dmRoot,
521 dmIntPortContext_t *onePortContext
522 );
523
524osGLOBAL void
526 dmRoot_t *dmRoot,
527 dmIntPortContext_t *onePortContext
528 );
529
530osGLOBAL void
532 dmRoot_t *dmRoot,
533 dmIntPortContext_t *onePortContext
534 );
535
537 agsaRoot_t *agRoot,
538 agsaContext_t *agContext,
539 agsaDevHandle_t *agDevHandle,
541 bit32 option,
542 bit32 param
543 );
544
545/*********************************** SMP-related *******************************************************/
546osGLOBAL void
548 agsaRoot_t *agRoot,
549 agsaIORequest_t *agIORequest,
550 bit32 agIOStatus,
551 bit32 agIOInfoLen,
552 agsaFrameHandle_t agFrameHandle
553 );
554
557 dmRoot_t *dmRoot,
558 agsaRoot_t *agRoot,
559 dmDeviceData_t *oneDeviceData,
560 bit32 functionCode,
561 bit8 *pSmpBody,
562 bit32 smpBodySize,
563 bit32 agRequestType
564 );
565
566osGLOBAL void
568 dmRoot_t *dmRoot,
569 dmDeviceData_t *oneDeviceData
570 );
571
572osGLOBAL void
574 dmRoot_t *dmRoot,
575 agsaRoot_t *agRoot,
576 agsaIORequest_t *agIORequest,
577 dmDeviceData_t *oneDeviceData,
578 dmSMPFrameHeader_t *frameHeader,
579 agsaFrameHandle_t frameHandle
580 );
581
582osGLOBAL void
584 dmRoot_t *dmRoot,
585 agsaRoot_t *agRoot,
586 agsaIORequest_t *agIORequest,
587 dmDeviceData_t *oneDeviceData,
588 dmSMPFrameHeader_t *frameHeader,
589 agsaFrameHandle_t frameHandle
590 );
591
592osGLOBAL void
594 dmRoot_t *dmRoot,
595 dmDeviceData_t *oneDeviceData
596 );
597
598osGLOBAL void
600 dmRoot_t *dmRoot,
601 agsaRoot_t *agRoot,
602 agsaIORequest_t *agIORequest,
603 dmDeviceData_t *oneDeviceData,
604 dmSMPFrameHeader_t *frameHeader,
605 agsaFrameHandle_t frameHandle
606 );
607
608osGLOBAL void
610 dmRoot_t *dmRoot,
611 agsaRoot_t *agRoot,
612 agsaIORequest_t *agIORequest,
613 dmDeviceData_t *oneDeviceData,
614 dmSMPFrameHeader_t *frameHeader,
615 agsaFrameHandle_t frameHandle
616 );
617
618#ifdef NOT_YET
619osGLOBAL void
620dmDiscoverList2Send(
621 dmRoot_t *dmRoot,
622 dmDeviceData_t *oneDeviceData
623 );
624
625osGLOBAL void
626dmDiscoverList2RespRcvd(
627 dmRoot_t *dmRoot,
628 agsaRoot_t *agRoot,
629 dmDeviceData_t *oneDeviceData,
630 dmSMPFrameHeader_t *frameHeader,
631 agsaFrameHandle_t frameHandle
632 );
633#endif
634
635osGLOBAL void
637 dmRoot_t *dmRoot,
638 dmDeviceData_t *oneDeviceData,
639 bit8 phyId
640 );
641
642osGLOBAL void
644 dmRoot_t *dmRoot,
645 agsaRoot_t *agRoot,
646 agsaIORequest_t *agIORequest,
647 dmDeviceData_t *oneDeviceData,
648 dmSMPFrameHeader_t *frameHeader,
649 agsaFrameHandle_t frameHandle
650 );
651
652osGLOBAL void
654 dmRoot_t *dmRoot,
655 agsaRoot_t *agRoot,
656 agsaIORequest_t *agIORequest,
657 dmDeviceData_t *oneDeviceData,
658 dmSMPFrameHeader_t *frameHeader,
659 agsaFrameHandle_t frameHandle
660 );
661
664 dmRoot_t *dmRoot,
665 dmExpander_t *oneExpander,
666 bit32 phyId,
667 bit32 configSASAddressHi,
668 bit32 configSASAddressLo
669 );
670
671osGLOBAL void
673 dmRoot_t *dmRoot,
674 agsaRoot_t *agRoot,
675 agsaIORequest_t *agIORequest,
676 dmDeviceData_t *oneDeviceData,
677 dmSMPFrameHeader_t *frameHeader,
678 agsaFrameHandle_t frameHandle
679 );
680
681osGLOBAL void
683 dmRoot_t *dmRoot,
684 agsaRoot_t *agRoot,
685 agsaIORequest_t *agIORequest,
686 dmDeviceData_t *oneDeviceData,
687 dmSMPFrameHeader_t *frameHeader,
688 agsaFrameHandle_t frameHandle
689 );
690
693 dmRoot_t *dmRoot,
694 dmDeviceData_t *oneDeviceData,
695 bit8 phyOp,
696 bit8 phyID
697 );
698
699osGLOBAL void
701 dmRoot_t *dmRoot,
702 agsaRoot_t *agRoot,
703 agsaIORequest_t *agIORequest,
704 dmDeviceData_t *oneDeviceData,
705 dmSMPFrameHeader_t *frameHeader,
706 agsaFrameHandle_t frameHandle
707 );
708
709osGLOBAL void
711 dmRoot_t *dmRoot,
712 agsaRoot_t *agRoot,
713 agsaIORequest_t *agIORequest,
714 dmDeviceData_t *oneDeviceData,
715 dmSMPFrameHeader_t *frameHeader,
716 agsaFrameHandle_t frameHandle
717 );
718
719osGLOBAL void
721 dmRoot_t *dmRoot,
722 agsaRoot_t *agRoot,
723 dmDeviceData_t *oneDeviceData,
724 dmSMPFrameHeader_t *frameHeader,
725 agsaFrameHandle_t frameHandle
726 );
727
728osGLOBAL void
730 dmRoot_t *dmRoot,
731 agsaRoot_t *agRoot,
732 agsaIORequest_t *agIORequest,
733 dmDeviceData_t *oneDeviceData,
734 dmSMPFrameHeader_t *frameHeader,
735 agsaFrameHandle_t frameHandle
736 );
737
738osGLOBAL void
740 agsaRoot_t *agRoot,
741 agsaIORequest_t *agIORequest,
742 bit32 agIOStatus,
743 bit32 agIOInfoLen,
744 agsaFrameHandle_t agFrameHandle
745 );
746
747osGLOBAL void
749 agsaRoot_t *agRoot,
750 agsaIORequest_t *agIORequest,
751 bit32 flag,
753 );
754
755osGLOBAL void
757 dmRoot_t *dmRoot,
758 dmIntPortContext_t *onePortContext
759 );
760
761osGLOBAL void
764 void * timerData1,
765 void * timerData2,
766 void * timerData3
767 );
768
769/*********************************** SMP-related *******************************************************/
770osGLOBAL void
772 dmIntPortContext_t *onePortContext,
773 bit32 functionCode,
774 dmSMPRequestBody_t *dmSMPRequestBody
775 );
776
777osGLOBAL void
779 dmRoot_t * dmRoot,
780 void * timerData1,
781 void * timerData2,
782 void * timerData3
783 );
784
785osGLOBAL void
787 dmIntPortContext_t *onePortContext,
788 dmDeviceData_t *oneDeviceData
789 );
790
791
792osGLOBAL void
794 dmRoot_t * dmRoot,
795 void * timerData1,
796 void * timerData2,
797 void * timerData3
798 );
799
800osGLOBAL void
802 dmIntPortContext_t *onePortContext,
803 dmDeviceData_t *oneDeviceData,
804 dmSMPRequestBody_t *dmSMPRequestBody
805 );
806
807osGLOBAL void
809 dmRoot_t * dmRoot,
810 void * timerData1,
811 void * timerData2,
812 void * timerData3
813 );
814
815osGLOBAL void
817 dmIntPortContext_t *onePortContext,
818 dmExpander_t *oneExpander,
819 smpRespDiscover_t *pdmSMPDiscoverResp,
820 smpRespDiscover2_t *pdmSMPDiscover2Resp
821 );
822
823osGLOBAL void
825 dmRoot_t * dmRoot,
826 void * timerData1,
827 void * timerData2,
828 void * timerData3
829 );
830
831#endif /* __DMPROTO_H__ */
832
833
osGLOBAL void dmDiscoverDone(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, bit32 flag)
osGLOBAL void dmReportGeneral2RespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void * dm_memcpy(void *dst, void *src, bit32 count)
osGLOBAL dmExpander_t * dmDiscoveringExpanderAlloc(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData)
osGLOBAL void dmKillTimer(dmRoot_t *dmRoot, dmTimerRequest_t *timerRequest)
bit32 dmNewEXPorNot(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmSASSubID_t *dmSASSubID)
osGLOBAL void dmReportPhySataRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void dmPhyControlFailureRespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void dmUpStreamDiscover2ExpanderPhySkip(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmReportPhySataSend(dmRoot_t *dmRoot, dmDeviceData_t *oneDeviceData, bit8 phyId)
osGLOBAL void dmDownStreamDiscovering(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData)
osGLOBAL void dmSMPAbortCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 flag, bit32 status)
osGLOBAL void dmSetTimerRequest(dmRoot_t *dmRoot, dmTimerRequest_t *timerRequest, bit32 timeout, dmTimerCBFunc_t CBFunc, void *timerData1, void *timerData2, void *timerData3)
osGLOBAL void dmHandleZoneViolation(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void dmDiscoveryResetMCN(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmExpanderDownStreamPhyAdd(dmRoot_t *dmRoot, dmExpander_t *oneExpander, bit8 phyId)
osGLOBAL dmExpander_t * dmExpMainListFind(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, bit32 sasAddrHi, bit32 sasAddrLo)
osGLOBAL void dmInitTimerRequest(dmRoot_t *dmRoot, dmTimerRequest_t *timerRequest)
osGLOBAL void dmDiscover2RespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void dmUpStreamDiscovering(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData)
osGLOBAL bit32 dmDiscoverCheck(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
bit32 dmNewSASorNot(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmSASSubID_t *dmSASSubID)
osGLOBAL void dmDumpAllExp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmSMPBusyTimerCB(dmRoot_t *dmRoot, void *timerData1, void *timerData2, void *timerData3)
osGLOBAL void dmSMPCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
osGLOBAL bit32 dmFindDiscoveringExpander(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmPhyControlRespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL bit32 dmSAS2SAS11ErrorCheck(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *topExpander, dmExpander_t *bottomExpander, dmExpander_t *currentExpander)
osGLOBAL void dmDiscoverySMPTimerCB(dmRoot_t *dmRoot, void *timerData1, void *timerData2, void *timerData3)
osGLOBAL void dmConfigureRouteTimer(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander, smpRespDiscover_t *pdmSMPDiscoverResp, smpRespDiscover2_t *pdmSMPDiscover2Resp)
osGLOBAL void dmDownStreamDiscoverStart(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData)
osGLOBAL void dmUpStreamDiscover2ExpanderPhy(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander, smpRespDiscover2_t *pDiscoverResp)
osGLOBAL void dmUpStreamDiscoverExpanderPhy(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander, smpRespDiscover_t *pDiscoverResp)
osGLOBAL void dmDownStreamDiscover2ExpanderPhySkip(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmConfigRoutingInfoRespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void dmPortContextReInit(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmhexdump(const char *ptitle, bit8 *pbuf, int len)
osGLOBAL void dmDeviceDataReInit(dmRoot_t *dmRoot, dmDeviceData_t *oneDeviceData)
osGLOBAL void dmDiscoveryDumpMCN(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmUpdateMCN(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *AdjacentDeviceData, dmDeviceData_t *oneDeviceData)
osGLOBAL void dmDumpAllMainExp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoveryErrorRemovals(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoveryDeviceCleanUp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL dmDeviceData_t * dmPortSASDeviceFind(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, bit32 sasAddrLo, bit32 sasAddrHi, dmDeviceData_t *CurrentDeviceData)
osGLOBAL void dmReportRemovals(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, bit32 flag)
osGLOBAL void dmBCTimer(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoveryExpanderCleanUp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmSubReportRemovals(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData, bit32 flag)
osGLOBAL void dmReportChanges(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoverSend(dmRoot_t *dmRoot, dmDeviceData_t *oneDeviceData)
osGLOBAL dmDeviceData_t * dmPortSASDeviceAdd(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, agsaSASIdentify_t sasIdentify, bit32 sasInitiator, bit8 connectionRate, bit32 itNexusTimeout, bit32 firstBurstSize, bit32 deviceType, dmDeviceData_t *oneDeviceData, dmExpander_t *dmExpander, bit8 phyID)
osGLOBAL void dmDownStreamDiscover2ExpanderPhy(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander, smpRespDiscover2_t *pDiscoverResp)
osGLOBAL void dmDiscoveryConfiguringTimer(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData)
osGLOBAL void dmSMPBusyTimer(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData, dmSMPRequestBody_t *dmSMPRequestBody)
osGLOBAL void dmUpStreamDiscoverStart(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoverySMPTimer(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, bit32 functionCode, dmSMPRequestBody_t *dmSMPRequestBody)
osGLOBAL void dmReportPhySata2Rcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL bit32 dmSMPStart(dmRoot_t *dmRoot, agsaRoot_t *agRoot, dmDeviceData_t *oneDeviceData, bit32 functionCode, bit8 *pSmpBody, bit32 smpBodySize, bit32 agRequestType)
osGLOBAL void dmReportGeneralRespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void * dm_memset(void *s, int c, bit32 n)
osGLOBAL void dmDumpAllMainDevice(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
GLOBAL void dmSetDeviceInfoCB(agsaRoot_t *agRoot, agsaContext_t *agContext, agsaDevHandle_t *agDevHandle, bit32 status, bit32 option, bit32 param)
osGLOBAL bit32 dmDuplicateConfigSASAddr(dmRoot_t *dmRoot, dmExpander_t *oneExpander, bit32 configSASAddressHi, bit32 configSASAddressLo)
osGLOBAL void dmBCTimerCB(dmRoot_t *dmRoot_t, void *timerData1, void *timerData2, void *timerData3)
osGLOBAL void dmSMPInit(dmRoot_t *dmRoot)
osGLOBAL void dmAddTimer(dmRoot_t *dmRoot, dmList_t *timerListHdr, dmTimerRequest_t *timerRequest)
osGLOBAL void dmDumpAllFreeExp(dmRoot_t *dmRoot)
osGLOBAL void dmInitTimers(dmRoot_t *dmRoot)
osGLOBAL dmDeviceData_t * dmAddSASToSharedcontext(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmSASSubID_t *dmSASSubID, dmDeviceData_t *oneExpDeviceData, bit8 phyID)
osGLOBAL void dmDiscoverRespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void dmCleanAllExp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmInternalRemovals(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDownStreamDiscoverExpanderPhySkip(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmDiscoveryInvalidateDevices(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmPortContextInit(dmRoot_t *dmRoot)
osGLOBAL bit32 dmRoutingEntryAdd(dmRoot_t *dmRoot, dmExpander_t *oneExpander, bit32 phyId, bit32 configSASAddressHi, bit32 configSASAddressLo)
osGLOBAL void dmPhyControl2RespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void dmReportGeneralSend(dmRoot_t *dmRoot, dmDeviceData_t *oneDeviceData)
osGLOBAL void dmExpanderUpStreamPhyAdd(dmRoot_t *dmRoot, dmExpander_t *oneExpander, bit8 phyId)
osGLOBAL bit32 dmFullDiscover(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmProcessTimers(dmRoot_t *dmRoot)
osGLOBAL void dmDiscoveringExpanderRemove(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmResetReported(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmSubReportChanges(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData, bit32 flag)
osGLOBAL void dmConfigRoutingInfo2RespRcvd(dmRoot_t *dmRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, dmDeviceData_t *oneDeviceData, dmSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle)
osGLOBAL void dmDiscoverAbort(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL bit16 dmFindCurrentDownStreamPhyIndex(dmRoot_t *dmRoot, dmExpander_t *oneExpander)
osGLOBAL void dmConfigureRouteTimerCB(dmRoot_t *dmRoot, void *timerData1, void *timerData2, void *timerData3)
osGLOBAL void dmUpStreamDiscoverExpanderPhySkip(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmDumpAllUpExp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmExpanderDeviceDataInit(dmRoot_t *dmRoot, bit32 max_exp)
osGLOBAL void dmsaSMPCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
osGLOBAL dmDeviceData_t * dmDeviceFind(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, bit32 sasAddrHi, bit32 sasAddrLo)
osGLOBAL void dmDownStreamDiscoverExpanderPhy(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander, smpRespDiscover_t *pDiscoverResp)
osGLOBAL void dmExpanderDeviceDataReInit(dmRoot_t *dmRoot, dmExpander_t *oneExpander)
osGLOBAL bit32 dmPhyControlSend(dmRoot_t *dmRoot, dmDeviceData_t *oneDeviceData, bit8 phyOp, bit8 phyID)
osGLOBAL dmExpander_t * dmExpFind(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, bit32 sasAddrHi, bit32 sasAddrLo)
osGLOBAL dmDeviceData_t * dmFindRegNValid(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmSASSubID_t *dmSASSubID)
osGLOBAL bit32 dmIncrementalDiscover(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, bit32 flag)
osGLOBAL void dmDiscoveryReportMCN(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoveryConfiguringTimerCB(dmRoot_t *dmRoot, void *timerData1, void *timerData2, void *timerData3)
osGLOBAL void dmDeviceDataInit(dmRoot_t *dmRoot)
osGLOBAL void dmDiscoveringUndoAdd(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmDiscoveryResetProcessed(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmUpdateAllAdjacent(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmDeviceData_t *oneDeviceData)
osGLOBAL dmExpander_t * dmFindConfigurableExp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
osGLOBAL void dmDiscoveringExpanderAdd(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext, dmExpander_t *oneExpander)
void(* dmTimerCBFunc_t)(dmRoot_t *dmRoot, void *timerData1, void *timerData2, void *timerData3)
Definition: dmtypes.h:56
bit32 status
Definition: encrypt_ioctl.h:12
unsigned short bit16
Definition: ostypes.h:98
#define osGLOBAL
Definition: ostypes.h:147
#define GLOBAL
Definition: ostypes.h:131
unsigned int bit32
Definition: ostypes.h:99
unsigned char bit8
Definition: ostypes.h:97
void * agsaFrameHandle_t
handle to access frame
Definition: sa.h:1719
data structure stores OS specific and LL specific context
Definition: sa.h:1658
describe SAS IDENTIFY address frame
Definition: sa_spec.h:448
Definition: dm.h:91
data structure for timer request Timer requests are enqueued and dequeued using dmList_t and have a c...
Definition: dmtypes.h:63