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
28 #include <dev/pms/RefTisa/discovery/dm/dmtypes.h>
29
30 /***************** util ****************************************/
31 osGLOBAL void
32 *dm_memset(void *s, int c, bit32 n);
33
34 osGLOBAL void
35 *dm_memcpy(void *dst, void *src, bit32 count);
36
37 osGLOBAL void
38 dmhexdump(const char *ptitle, bit8 *pbuf, int len);
39
40
41 /* timer related */
42 osGLOBAL void
43 dmInitTimers(
44 dmRoot_t *dmRoot
45 );
46 osGLOBAL void
47 dmInitTimerRequest(
48 dmRoot_t *dmRoot,
49 dmTimerRequest_t *timerRequest
50 );
51
52 osGLOBAL void
53 dmSetTimerRequest(
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
63 osGLOBAL void
64 dmAddTimer(
65 dmRoot_t *dmRoot,
66 dmList_t *timerListHdr,
67 dmTimerRequest_t *timerRequest
68 );
69
70 osGLOBAL void
71 dmKillTimer(
72 dmRoot_t *dmRoot,
73 dmTimerRequest_t *timerRequest
74 );
75
76 osGLOBAL void
77 dmProcessTimers(
78 dmRoot_t *dmRoot
79 );
80
81
82
83 osGLOBAL void
84 dmPortContextInit(
85 dmRoot_t *dmRoot
86 );
87
88 osGLOBAL void
89 dmPortContextReInit(
90 dmRoot_t *dmRoot,
91 dmIntPortContext_t *onePortContext
92 );
93
94 osGLOBAL void
95 dmDeviceDataInit(
96 dmRoot_t *dmRoot
97 );
98
99 osGLOBAL void
100 dmDeviceDataReInit(
101 dmRoot_t *dmRoot,
102 dmDeviceData_t *oneDeviceData
103 );
104
105 osGLOBAL void
106 dmExpanderDeviceDataInit(
107 dmRoot_t *dmRoot,
108 bit32 max_exp
109 );
110
111 osGLOBAL void
112 dmExpanderDeviceDataReInit(
113 dmRoot_t *dmRoot,
114 dmExpander_t *oneExpander
115 );
116
117
118 osGLOBAL void
119 dmSMPInit(
120 dmRoot_t *dmRoot
121 );
122
123
124 osGLOBAL bit32
125 dmDiscoverCheck(
126 dmRoot_t *dmRoot,
127 dmIntPortContext_t *onePortContext
128 );
129 osGLOBAL void
130 dmDiscoverAbort(
131 dmRoot_t *dmRoot,
132 dmIntPortContext_t *onePortContext
133 );
134
135
136 osGLOBAL bit32
137 dmFullDiscover(
138 dmRoot_t *dmRoot,
139 dmIntPortContext_t *onePortContext
140 );
141
142 osGLOBAL bit32
143 dmIncrementalDiscover(
144 dmRoot_t *dmRoot,
145 dmIntPortContext_t *onePortContext,
146 bit32 flag
147 );
148
149 osGLOBAL dmExpander_t *
150 dmDiscoveringExpanderAlloc(
151 dmRoot_t *dmRoot,
152 dmIntPortContext_t *onePortContext,
153 dmDeviceData_t *oneDeviceData
154 );
155 osGLOBAL void
156 dmDiscoveringExpanderAdd(
157 dmRoot_t *dmRoot,
158 dmIntPortContext_t *onePortContext,
159 dmExpander_t *oneExpander
160 );
161
162 osGLOBAL void
163 dmDiscoveringExpanderRemove(
164 dmRoot_t *dmRoot,
165 dmIntPortContext_t *onePortContext,
166 dmExpander_t *oneExpander
167 );
168
169 osGLOBAL dmExpander_t *
170 dmExpFind(
171 dmRoot_t *dmRoot,
172 dmIntPortContext_t *onePortContext,
173 bit32 sasAddrHi,
174 bit32 sasAddrLo
175 );
176
177 osGLOBAL dmExpander_t *
178 dmExpMainListFind(
179 dmRoot_t *dmRoot,
180 dmIntPortContext_t *onePortContext,
181 bit32 sasAddrHi,
182 bit32 sasAddrLo
183 );
184
185 osGLOBAL dmDeviceData_t *
186 dmDeviceFind(
187 dmRoot_t *dmRoot,
188 dmIntPortContext_t *onePortContext,
189 bit32 sasAddrHi,
190 bit32 sasAddrLo
191 );
192
193 osGLOBAL void
194 dmUpStreamDiscoverStart(
195 dmRoot_t *dmRoot,
196 dmIntPortContext_t *onePortContext
197 );
198
199 osGLOBAL void
200 dmUpStreamDiscovering(
201 dmRoot_t *dmRoot,
202 dmIntPortContext_t *onePortContext,
203 dmDeviceData_t *oneDeviceData
204 );
205
206 osGLOBAL void
207 dmDownStreamDiscovering(
208 dmRoot_t *dmRoot,
209 dmIntPortContext_t *onePortContext,
210 dmDeviceData_t *oneDeviceData
211 );
212
213 osGLOBAL void
214 dmDownStreamDiscoverStart(
215 dmRoot_t *dmRoot,
216 dmIntPortContext_t *onePortContext,
217 dmDeviceData_t *oneDeviceData
218 );
219
220 osGLOBAL void
221 dmCleanAllExp(
222 dmRoot_t *dmRoot,
223 dmIntPortContext_t *onePortContext
224 );
225
226 osGLOBAL void
227 dmInternalRemovals(
228 dmRoot_t *dmRoot,
229 dmIntPortContext_t *onePortContext
230 );
231 osGLOBAL void
232 dmDiscoveryResetProcessed(
233 dmRoot_t *dmRoot,
234 dmIntPortContext_t *onePortContext
235 );
236
237 osGLOBAL void
238 dmDiscoverDone(
239 dmRoot_t *dmRoot,
240 dmIntPortContext_t *onePortContext,
241 bit32 flag
242 );
243
244 osGLOBAL void
245 dmUpStreamDiscoverExpanderPhy(
246 dmRoot_t *dmRoot,
247 dmIntPortContext_t *onePortContext,
248 dmExpander_t *oneExpander,
249 smpRespDiscover_t *pDiscoverResp
250 );
251
252 osGLOBAL void
253 dmUpStreamDiscover2ExpanderPhy(
254 dmRoot_t *dmRoot,
255 dmIntPortContext_t *onePortContext,
256 dmExpander_t *oneExpander,
257 smpRespDiscover2_t *pDiscoverResp
258 );
259
260 osGLOBAL void
261 dmDownStreamDiscoverExpanderPhy(
262 dmRoot_t *dmRoot,
263 dmIntPortContext_t *onePortContext,
264 dmExpander_t *oneExpander,
265 smpRespDiscover_t *pDiscoverResp
266 );
267 osGLOBAL void
268 dmDownStreamDiscover2ExpanderPhy(
269 dmRoot_t *dmRoot,
270 dmIntPortContext_t *onePortContext,
271 dmExpander_t *oneExpander,
272 smpRespDiscover2_t *pDiscoverResp
273 );
274
275 osGLOBAL void
276 dmUpStreamDiscoverExpanderPhySkip(
277 dmRoot_t *dmRoot,
278 dmIntPortContext_t *onePortContext,
279 dmExpander_t *oneExpander
280 );
281
282 osGLOBAL void
283 dmUpStreamDiscover2ExpanderPhySkip(
284 dmRoot_t *dmRoot,
285 dmIntPortContext_t *onePortContext,
286 dmExpander_t *oneExpander
287 );
288
289 osGLOBAL void
290 dmDownStreamDiscoverExpanderPhySkip(
291 dmRoot_t *dmRoot,
292 dmIntPortContext_t *onePortContext,
293 dmExpander_t *oneExpander
294 );
295 osGLOBAL void
296 dmDownStreamDiscover2ExpanderPhySkip(
297 dmRoot_t *dmRoot,
298 dmIntPortContext_t *onePortContext,
299 dmExpander_t *oneExpander
300 );
301
302 osGLOBAL void
303 dmDiscoveringUndoAdd(
304 dmRoot_t *dmRoot,
305 dmIntPortContext_t *onePortContext,
306 dmExpander_t *oneExpander
307 );
308
309
310 osGLOBAL void
311 dmExpanderUpStreamPhyAdd(
312 dmRoot_t *dmRoot,
313 dmExpander_t *oneExpander,
314 bit8 phyId
315 );
316
317 osGLOBAL void
318 dmExpanderDownStreamPhyAdd(
319 dmRoot_t *dmRoot,
320 dmExpander_t *oneExpander,
321 bit8 phyId
322 );
323
324 osGLOBAL dmDeviceData_t *
325 dmPortSASDeviceFind(
326 dmRoot_t *dmRoot,
327 dmIntPortContext_t *onePortContext,
328 bit32 sasAddrLo,
329 bit32 sasAddrHi,
330 dmDeviceData_t *CurrentDeviceData
331 );
332 bit32
333 dmNewEXPorNot(
334 dmRoot_t *dmRoot,
335 dmIntPortContext_t *onePortContext,
336 dmSASSubID_t *dmSASSubID
337 );
338
339 bit32
340 dmNewSASorNot(
341 dmRoot_t *dmRoot,
342 dmIntPortContext_t *onePortContext,
343 dmSASSubID_t *dmSASSubID
344 );
345
346 osGLOBAL dmDeviceData_t *
347 dmPortSASDeviceAdd(
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
362 osGLOBAL dmDeviceData_t *
363 dmFindRegNValid(
364 dmRoot_t *dmRoot,
365 dmIntPortContext_t *onePortContext,
366 dmSASSubID_t *dmSASSubID
367 );
368
369 osGLOBAL dmExpander_t *
370 dmFindConfigurableExp(
371 dmRoot_t *dmRoot,
372 dmIntPortContext_t *onePortContext,
373 dmExpander_t *oneExpander
374 );
375
376 osGLOBAL bit32
377 dmDuplicateConfigSASAddr(
378 dmRoot_t *dmRoot,
379 dmExpander_t *oneExpander,
380 bit32 configSASAddressHi,
381 bit32 configSASAddressLo
382 );
383
384
385 osGLOBAL bit16
386 dmFindCurrentDownStreamPhyIndex(
387 dmRoot_t *dmRoot,
388 dmExpander_t *oneExpander
389 );
390
391
392 osGLOBAL bit32
393 dmFindDiscoveringExpander(
394 dmRoot_t *dmRoot,
395 dmIntPortContext_t *onePortContext,
396 dmExpander_t *oneExpander
397 );
398
399 osGLOBAL void
400 dmDumpAllExp(
401 dmRoot_t *dmRoot,
402 dmIntPortContext_t *onePortContext,
403 dmExpander_t *oneExpander
404 );
405
406
407 osGLOBAL void
408 dmDumpAllUpExp(
409 dmRoot_t *dmRoot,
410 dmIntPortContext_t *onePortContext,
411 dmExpander_t *oneExpander
412 );
413
414 osGLOBAL void
415 dmDumpAllFreeExp(
416 dmRoot_t *dmRoot
417 );
418
419 osGLOBAL void
420 dmDumpAllMainExp(
421 dmRoot_t *dmRoot,
422 dmIntPortContext_t *onePortContext
423 );
424
425 osGLOBAL void
426 dmDumpAllMainDevice(
427 dmRoot_t *dmRoot,
428 dmIntPortContext_t *onePortContext
429 );
430
431 osGLOBAL void
432 dmSubReportChanges(
433 dmRoot_t *dmRoot,
434 dmIntPortContext_t *onePortContext,
435 dmDeviceData_t *oneDeviceData,
436 bit32 flag
437 );
438 osGLOBAL void
439 dmSubReportRemovals(
440 dmRoot_t *dmRoot,
441 dmIntPortContext_t *onePortContext,
442 dmDeviceData_t *oneDeviceData,
443 bit32 flag
444 );
445
446 osGLOBAL void
447 dmReportChanges(
448 dmRoot_t *dmRoot,
449 dmIntPortContext_t *onePortContext
450 );
451
452 osGLOBAL void
453 dmReportRemovals(
454 dmRoot_t *dmRoot,
455 dmIntPortContext_t *onePortContext,
456 bit32 flag
457 );
458
459 osGLOBAL void
460 dmDiscoveryDeviceCleanUp(
461 dmRoot_t *dmRoot,
462 dmIntPortContext_t *onePortContext
463 );
464 osGLOBAL void
465 dmDiscoveryExpanderCleanUp(
466 dmRoot_t *dmRoot,
467 dmIntPortContext_t *onePortContext
468 );
469
470 osGLOBAL void
471 dmResetReported(
472 dmRoot_t *dmRoot,
473 dmIntPortContext_t *onePortContext
474 );
475
476 osGLOBAL void
477 dmDiscoveryErrorRemovals(
478 dmRoot_t *dmRoot,
479 dmIntPortContext_t *onePortContext
480 );
481 osGLOBAL void
482 dmDiscoveryInvalidateDevices(
483 dmRoot_t *dmRoot,
484 dmIntPortContext_t *onePortContext
485 );
486
487 osGLOBAL dmDeviceData_t *
488 dmAddSASToSharedcontext(
489 dmRoot_t *dmRoot,
490 dmIntPortContext_t *onePortContext,
491 dmSASSubID_t *dmSASSubID,
492 dmDeviceData_t *oneExpDeviceData,
493 bit8 phyID
494 );
495 osGLOBAL bit32
496 dmSAS2SAS11ErrorCheck(
497 dmRoot_t *dmRoot,
498 dmIntPortContext_t *onePortContext,
499 dmExpander_t *topExpander,
500 dmExpander_t *bottomExpander,
501 dmExpander_t *currentExpander
502 );
503
504 osGLOBAL void
505 dmUpdateMCN(
506 dmRoot_t *dmRoot,
507 dmIntPortContext_t *onePortContext,
508 dmDeviceData_t *AdjacentDeviceData, /* adjacent expander */
509 dmDeviceData_t *oneDeviceData /* current one */
510 );
511
512 osGLOBAL void
513 dmUpdateAllAdjacent(
514 dmRoot_t *dmRoot,
515 dmIntPortContext_t *onePortContext,
516 dmDeviceData_t *oneDeviceData /* current one */
517 );
518 osGLOBAL void
519 dmDiscoveryResetMCN(
520 dmRoot_t *dmRoot,
521 dmIntPortContext_t *onePortContext
522 );
523
524 osGLOBAL void
525 dmDiscoveryDumpMCN(
526 dmRoot_t *dmRoot,
527 dmIntPortContext_t *onePortContext
528 );
529
530 osGLOBAL void
531 dmDiscoveryReportMCN(
532 dmRoot_t *dmRoot,
533 dmIntPortContext_t *onePortContext
534 );
535
536 GLOBAL void dmSetDeviceInfoCB(
537 agsaRoot_t *agRoot,
538 agsaContext_t *agContext,
539 agsaDevHandle_t *agDevHandle,
540 bit32 status,
541 bit32 option,
542 bit32 param
543 );
544
545 /*********************************** SMP-related *******************************************************/
546 osGLOBAL void
547 dmsaSMPCompleted(
548 agsaRoot_t *agRoot,
549 agsaIORequest_t *agIORequest,
550 bit32 agIOStatus,
551 bit32 agIOInfoLen,
552 agsaFrameHandle_t agFrameHandle
553 );
554
555 osGLOBAL bit32
556 dmSMPStart(
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
566 osGLOBAL void
567 dmReportGeneralSend(
568 dmRoot_t *dmRoot,
569 dmDeviceData_t *oneDeviceData
570 );
571
572 osGLOBAL void
573 dmReportGeneralRespRcvd(
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
582 osGLOBAL void
583 dmReportGeneral2RespRcvd(
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
592 osGLOBAL void
593 dmDiscoverSend(
594 dmRoot_t *dmRoot,
595 dmDeviceData_t *oneDeviceData
596 );
597
598 osGLOBAL void
599 dmDiscoverRespRcvd(
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
608 osGLOBAL void
609 dmDiscover2RespRcvd(
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
619 osGLOBAL void
620 dmDiscoverList2Send(
621 dmRoot_t *dmRoot,
622 dmDeviceData_t *oneDeviceData
623 );
624
625 osGLOBAL void
626 dmDiscoverList2RespRcvd(
627 dmRoot_t *dmRoot,
628 agsaRoot_t *agRoot,
629 dmDeviceData_t *oneDeviceData,
630 dmSMPFrameHeader_t *frameHeader,
631 agsaFrameHandle_t frameHandle
632 );
633 #endif
634
635 osGLOBAL void
636 dmReportPhySataSend(
637 dmRoot_t *dmRoot,
638 dmDeviceData_t *oneDeviceData,
639 bit8 phyId
640 );
641
642 osGLOBAL void
643 dmReportPhySataRcvd(
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
652 osGLOBAL void
653 dmReportPhySata2Rcvd(
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
662 osGLOBAL bit32
663 dmRoutingEntryAdd(
664 dmRoot_t *dmRoot,
665 dmExpander_t *oneExpander,
666 bit32 phyId,
667 bit32 configSASAddressHi,
668 bit32 configSASAddressLo
669 );
670
671 osGLOBAL void
672 dmConfigRoutingInfoRespRcvd(
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
681 osGLOBAL void
682 dmConfigRoutingInfo2RespRcvd(
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
691 osGLOBAL bit32
692 dmPhyControlSend(
693 dmRoot_t *dmRoot,
694 dmDeviceData_t *oneDeviceData,
695 bit8 phyOp,
696 bit8 phyID
697 );
698
699 osGLOBAL void
700 dmPhyControlRespRcvd(
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
709 osGLOBAL void
710 dmPhyControl2RespRcvd(
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
719 osGLOBAL void
720 dmPhyControlFailureRespRcvd(
721 dmRoot_t *dmRoot,
722 agsaRoot_t *agRoot,
723 dmDeviceData_t *oneDeviceData,
724 dmSMPFrameHeader_t *frameHeader,
725 agsaFrameHandle_t frameHandle
726 );
727
728 osGLOBAL void
729 dmHandleZoneViolation(
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
738 osGLOBAL void
739 dmSMPCompleted(
740 agsaRoot_t *agRoot,
741 agsaIORequest_t *agIORequest,
742 bit32 agIOStatus,
743 bit32 agIOInfoLen,
744 agsaFrameHandle_t agFrameHandle
745 );
746
747 osGLOBAL void
748 dmSMPAbortCB(
749 agsaRoot_t *agRoot,
750 agsaIORequest_t *agIORequest,
751 bit32 flag,
752 bit32 status
753 );
754
755 osGLOBAL void
756 dmBCTimer(
757 dmRoot_t *dmRoot,
758 dmIntPortContext_t *onePortContext
759 );
760
761 osGLOBAL void
762 dmBCTimerCB(
763 dmRoot_t * dmRoot_t,
764 void * timerData1,
765 void * timerData2,
766 void * timerData3
767 );
768
769 /*********************************** SMP-related *******************************************************/
770 osGLOBAL void
771 dmDiscoverySMPTimer(dmRoot_t *dmRoot,
772 dmIntPortContext_t *onePortContext,
773 bit32 functionCode,
774 dmSMPRequestBody_t *dmSMPRequestBody
775 );
776
777 osGLOBAL void
778 dmDiscoverySMPTimerCB(
779 dmRoot_t * dmRoot,
780 void * timerData1,
781 void * timerData2,
782 void * timerData3
783 );
784
785 osGLOBAL void
786 dmDiscoveryConfiguringTimer(dmRoot_t *dmRoot,
787 dmIntPortContext_t *onePortContext,
788 dmDeviceData_t *oneDeviceData
789 );
790
791
792 osGLOBAL void
793 dmDiscoveryConfiguringTimerCB(
794 dmRoot_t * dmRoot,
795 void * timerData1,
796 void * timerData2,
797 void * timerData3
798 );
799
800 osGLOBAL void
801 dmSMPBusyTimer(dmRoot_t *dmRoot,
802 dmIntPortContext_t *onePortContext,
803 dmDeviceData_t *oneDeviceData,
804 dmSMPRequestBody_t *dmSMPRequestBody
805 );
806
807 osGLOBAL void
808 dmSMPBusyTimerCB(
809 dmRoot_t * dmRoot,
810 void * timerData1,
811 void * timerData2,
812 void * timerData3
813 );
814
815 osGLOBAL void
816 dmConfigureRouteTimer(dmRoot_t *dmRoot,
817 dmIntPortContext_t *onePortContext,
818 dmExpander_t *oneExpander,
819 smpRespDiscover_t *pdmSMPDiscoverResp,
820 smpRespDiscover2_t *pdmSMPDiscover2Resp
821 );
822
823 osGLOBAL void
824 dmConfigureRouteTimerCB(
825 dmRoot_t * dmRoot,
826 void * timerData1,
827 void * timerData2,
828 void * timerData3
829 );
830
831 #endif /* __DMPROTO_H__ */
832
833
Cache object: 10194b249c3c874667d470e838cc9f7a
|