FreeBSD kernel pms device code
tdproto.h
Go to the documentation of this file.
1/*******************************************************************************
2*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved.
3*
4*Redistribution and use in source and binary forms, with or without modification, are permitted provided
5*that the following conditions are met:
6*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
7*following disclaimer.
8*2. Redistributions in binary form must reproduce the above copyright notice,
9*this list of conditions and the following disclaimer in the documentation and/or other materials provided
10*with the distribution.
11*
12*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
13*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
15*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
17*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20*
21* $FreeBSD$
22*
23********************************************************************************/
24/*******************************************************************************/
31#ifndef __TDPROTO_H__
32#define __TDPROTO_H__
33
34#ifdef FDS_DM
36#endif
37
38/*****************************************************************************
39*
40* SA SHARED PROTOTYPES
41*
42*****************************************************************************/
43
44osGLOBAL void
47 );
48
49osGLOBAL void
52 );
53
54osGLOBAL void
57 );
58
59
60osGLOBAL void
63 tdsaTimerRequest_t *timerRequest
64 );
65
66osGLOBAL void
69 tdsaTimerRequest_t *timerRequest,
70 bit32 timeout,
71 tdsaTimerCBFunc_t CBFunc,
72 void *timerData1,
73 void *timerData2,
74 void *timerData3
75 );
76
77osGLOBAL void
80 tdList_t *timerListHdr,
81 tdsaTimerRequest_t *timerRequest
82 );
83
84osGLOBAL void
87 tdsaTimerRequest_t *timerRequest
88 );
89
90
91
92
93
94osGLOBAL void
97 tiLoLevelResource_t * loResource
98 );
99
100osGLOBAL void
103 tiLoLevelResource_t * loResource,
104 tiTdSharedMem_t * tdSharedMem
105 );
106
107osGLOBAL void
110 bit32 *PageSize,
111 bit32 *NumPages
112 );
113
114osGLOBAL void
117 );
118
119
120
121osGLOBAL void
124 );
125
126osGLOBAL void
129 );
130
131osGLOBAL void
134 );
135
136
137osGLOBAL void
140 );
141
145 );
146
147osGLOBAL void
150 bit32 index,
151 bit32 LinkRateRead,
152 bit32 ModeRead,
153 bit32 OpticalModeRead,
154 bit32 LinkRate,
155 bit32 Mode,
156 bit32 OpticalMode
157 );
158
159osGLOBAL void
162 );
163
164osGLOBAL void
167 );
168
169osGLOBAL void
172 void *timerData
173 );
174
175osGLOBAL void
178 tdList_t *EsglListHdr,
179 tiSgl_t *ptiSgl,
180 tiSgl_t *virtSgl
181 );
182
183osGLOBAL void
186 tdList_t *EsglListHdr
187 );
188
189osGLOBAL void
192 bit32 *pMaxTargets
193 );
194
195osGLOBAL void
198 bit32 *pMaxTargets
199 );
200
204 tiIOCTLPayload_t *agIOCTLPayload,
205 void *agParam1,
206 void *agParam2,
207 void *agParam3
208 );
209
213 tiIOCTLPayload_t *agIOCTLPayload,
214 void *agParam1,
215 void *agParam2,
216 void *agParam3
217 );
218
222 tiIOCTLPayload_t *agIOCTLPayload,
223 void *agParam1,
224 void *agParam2,
225 void *agParam3
226 );
227
228osGLOBAL void
232 );
233
234osGLOBAL void
236 bit32 CardID
237 );
238
239
243 agsaRoot_t *agRoot,
244 tdsaDeviceData_t *oneDeviceData
245 );
246
250 tdsaPortContext_t *onePortContext
251 );
252
256 tiIOCTLPayload_t *agIOCTLPayload,
257 void *agParam1,
258 void *agParam2,
259 void *agParam3
260 );
261
265 tiIOCTLPayload_t *agIOCTLPayload,
266 void *agParam1,
267 void *agParam2,
268 void *agParam3
269 );
270
274 tiIOCTLPayload_t *agIOCTLPayload,
275 void *agParam1,
276 void *agParam2,
277 void *agParam3
278 );
279
283 bit32 gpioReadValue,
284 agsaGpioPinSetupInfo_t *gpioPinSetupInfo,
285 agsaGpioEventSetupInfo_t *gpioEventSetupInfo
286 );
287
291 agsaContext_t *agContext,
292 tiIOCTLPayload_t *agIOCTLPayload,
293 void *agParam1,
294 void *agParam2
295 );
296
297
301 agsaContext_t *agContext,
302 tiIOCTLPayload_t *agIOCTLPayload,
303 void *agParam1,
304 void *agParam2
305 );
306
309 agsaSGpioReqResponse_t *pSgpioResponse
310 );
314 tiIOCTLPayload_t *agIOCTLPayload,
315 void *agParam1,
316 void *agParam2,
317 void *agParam3
318 );
319
323 tiIOCTLPayload_t *agIOCTLPayload,
324 void *agParam1,
325 void *agParam2,
326 void *agParam3
327 );
328
332 tiIOCTLPayload_t *agIOCTLPayload,
333 void *agParam1,
334 void *agParam2,
335 void *agParam3
336 );
337
341 tiIOCTLPayload_t *agIOCTLPayload,
342 void *agParam1,
343 void *agParam2,
344 void *agParam3
345 );
346
350 tiIOCTLPayload_t *agIOCTLPayload,
351 void *agParam1,
352 void *agParam2,
353 void *agParam3
354 );
355
359 tiIOCTLPayload_t *agIOCTLPayload,
360 void *agParam1,
361 void *agParam2,
362 void *agParam3
363 );
364
368 tiIOCTLPayload_t *agIOCTLPayload,
369 void *agParam1,
370 void *agParam2,
371 unsigned long resetType
372 );
373
374
378 tiIOCTLPayload_t *agIOCTLPayload,
379 void *agParam1,
380 void *agParam2,
381 void *agParam3
382 );
383
387 agsaPhyGeneralState_t *PhyData
388 );
389
393 bit32 phyID
394 );
395
396
400 tiIOCTLPayload_t *agIOCTLPayload,
401 void *agParam1,
402 void *agParam2,
403 void *agParam3
404 );
405
406osGLOBAL void
409 tdsaPortContext_t *onePortContext
410 );
411
412#ifdef VPD_TESTING
414tdsaVPDGet(
416 );
417
419tdsaVPDSet(
421 );
422
423#endif
424
425/*****************************************************************************
426*
427* SAS SHARED PROTOTYPES
428*
429*****************************************************************************/
430osGLOBAL void
433 );
434
435osGLOBAL void
438 );
439
440osGLOBAL void
443 tdsaPortContext_t *onePortContext
444 );
445
446osGLOBAL void
449 );
450
451osGLOBAL void
454 tdsaDeviceData_t *oneDeviceData
455 );
456
457#ifdef TD_INT_COALESCE
458osGLOBAL void
459tdsaIntCoalCxtInit(
461 );
462#endif
463
466 tdsaDeviceData_t *oneDeviceData);
467
470 tdsaDeviceData_t *oneDeviceData );
471osGLOBAL void
473 agsaRoot_t *agRoot,
474 tdsaPortContext_t *PortContext_Instance
475 );
476osGLOBAL void
478 agsaRoot_t *agRoot
479 );
483 tdsaPortContext_t *onePortContext,
484 tdsaExpander_t *oneExpander
485 );
486
487osGLOBAL void
489 tdsaPortContext_t *tdsaPortContext_Instance,
490 agsaRoot_t *agRoot,
491 agsaDevHandle_t *agDevHandle,
492 tdsaSASSubID_t *agSASSubID,
493 bit32 registered,
494 bit8 phyID,
495 bit32 flag
496 );
497
498osGLOBAL void
500 tdsaPortContext_t *tdsaPortContext_Ins,
501 tdsaDeviceData_t *tdsaDeviceData_ins,
502 agsaRoot_t *agRoot
503 );
504
505osGLOBAL void
507 tdsaPortContext_t *PortContext_Ins,
508 agsaRoot_t *agRoot
509 );
510
511osGLOBAL void
513 agsaRoot_t *agRoot,
514 agsaDevHandle_t *agDevHandle,
515 agsaSATADeviceInfo_t *agSATADeviceInfo,
516 bit32 registered,
517 bit8 phyID
518 );
519
520osGLOBAL void
522 tdsaDeviceData_t *oneDeviceData
523 );
524
525osGLOBAL void
527 tdsaDeviceData_t *oneDeviceData
528 );
529
530osGLOBAL void
533 );
534#ifndef ossaDeviceRegistrationCB
535osGLOBAL void
537 agsaRoot_t *agRoot,
538 agsaContext_t *agContext,
540 agsaDevHandle_t *agDevHandle,
541 bit32 deviceID);
542#endif
543
544#ifndef ossaDeregisterDeviceHandleCB
545osGLOBAL void
547 agsaRoot_t *agRoot,
548 agsaContext_t *agContext,
549 agsaDevHandle_t *agDevHandle,
551 );
552#endif
553
554#ifdef INITIATOR_DRIVER
555/*****************************************************************************
556*
557* SAS Initiator only PROTOTYPES
558*
559*****************************************************************************/
563 tiInitiatorResource_t *initiatorResource,
564 tiTdSharedMem_t *tdSharedMem
565 );
566
567osGLOBAL void
570 );
571
574 agsaRoot_t *agRoot,
575 agsaIORequest_t *agIORequest,
576 bit32 agIOStatus,
577 bit32 agIOInfoLen,
578 void *agParam,
579 bit32 agOtherInfo
580 );
581
582osGLOBAL void
584 agsaRoot_t *agRoot,
585 agsaIORequest_t *agIORequest,
586 bit32 agIOStatus,
587 bit32 agIOInfoLen,
588 void *agParam,
589 bit32 agOtherInfo
590 );
591
592osGLOBAL void
593itdssQueryTaskCompleted(
594 agsaRoot_t *agRoot,
595 agsaIORequest_t *agIORequest,
596 bit32 agIOStatus,
597 bit32 agIOInfoLen,
598 void *agParam,
599 bit32 agOtherInfo
600 );
601
602osGLOBAL void
604 agsaRoot_t *agRoot,
605 agsaIORequest_t *agIORequest,
606 bit32 agIOStatus,
607 bit32 agIOInfoLen,
608 agsaFrameHandle_t agFrameHandle
609 );
610
611osGLOBAL void
613 agsaRoot_t *agRoot,
614 agsaIORequest_t *agIORequest,
615 bit32 agIOStatus,
616 bit32 agIOInfoLen,
617 agsaFrameHandle_t agFrameHandle
618 );
619
620osGLOBAL void
622 agsaRoot_t *agRoot,
623 agsaIORequest_t *agIORequest,
624 bit32 agIOStatus,
625 bit32 agIOInfoLen,
626 void *agParam,
627 bit32 agOtherInfo
628 );
629osGLOBAL void
631 agsaRoot_t *agRoot,
632 agsaIORequest_t *agIORequest,
633 bit32 agIOStatus,
634 bit32 agIOInfoLen,
635 void *agParam,
636 bit32 agOtherInfo
637 );
638
639#ifdef REMOVED
640osGLOBAL void
641itdssIOOverFlowHandler(
642 agsaRoot_t *agRoot,
643 agsaIORequest_t *agIORequest,
644 bit32 agIOStatus,
645 bit32 agIOInfoLen,
646 void *agParam
647 );
648#endif
649
650osGLOBAL void
652 agsaRoot_t *agRoot,
653 agsaIORequest_t *agIORequest,
654 bit32 agIOStatus,
655 bit32 agIOInfoLen,
656 void *agParam,
657 bit32 agOtherInfo
658 );
659
660osGLOBAL void
662 agsaRoot_t *agRoot,
663 agsaIORequest_t *agIORequest,
664 bit32 agIOStatus,
665 bit32 agIOInfoLen,
666 void *agParam,
667 bit32 agOtherInfo
668 );
669
670osGLOBAL void
672 agsaRoot_t *agRoot,
673 agsaIORequest_t *agIORequest,
674 bit32 agIOStatus,
675 bit32 agIOInfoLen,
676 void *agParam,
677 bit32 agOtherInfo
678 );
679osGLOBAL void
681 agsaRoot_t *agRoot,
682 agsaIORequest_t *agIORequest,
683 bit32 agIOStatus,
684 bit32 agIOInfoLen,
685 void *agParam,
686 bit32 agOtherInfo
687 );
688
689osGLOBAL void
691 agsaRoot_t *agRoot,
692 agsaIORequest_t *agIORequest,
693 bit32 agIOStatus,
694 bit32 agIOInfoLen,
695 void *agParam,
696 bit32 agOtherInfo
697 );
698
699#ifdef REMOVED /* removed from spec */
700osGLOBAL void
701itdssIllegalParameterHandler(
702 agsaRoot_t *agRoot,
703 agsaIORequest_t *agIORequest,
704 bit32 agIOStatus,
705 bit32 agIOInfoLen,
706 void *agParam
707 );
708#endif
709
710osGLOBAL void
712 agsaRoot_t *agRoot,
713 agsaIORequest_t *agIORequest,
714 bit32 agIOStatus,
715 bit32 agIOInfoLen,
716 void *agParam,
717 bit32 agOtherInfo
718 );
719osGLOBAL void
721 agsaRoot_t *agRoot,
722 agsaIORequest_t *agIORequest,
723 bit32 agIOStatus,
724 bit32 agIOInfoLen,
725 void *agParam,
726 bit32 agOtherInfo
727 );
728osGLOBAL void
730 agsaRoot_t *agRoot,
731 agsaIORequest_t *agIORequest,
732 bit32 agIOStatus,
733 bit32 agIOInfoLen,
734 void *agParam,
735 bit32 agOtherInfo
736 );
737osGLOBAL void
739 agsaRoot_t *agRoot,
740 agsaIORequest_t *agIORequest,
741 bit32 agIOStatus,
742 bit32 agIOInfoLen,
743 void *agParam,
744 bit32 agOtherInfo
745 );
746osGLOBAL void
748 agsaRoot_t *agRoot,
749 agsaIORequest_t *agIORequest,
750 bit32 agIOStatus,
751 bit32 agIOInfoLen,
752 void *agParam,
753 bit32 agOtherInfo
754 );
755osGLOBAL void
757 agsaRoot_t *agRoot,
758 agsaIORequest_t *agIORequest,
759 bit32 agIOStatus,
760 bit32 agIOInfoLen,
761 void *agParam,
762 bit32 agOtherInfo
763 );
764osGLOBAL void
766 agsaRoot_t *agRoot,
767 agsaIORequest_t *agIORequest,
768 bit32 agIOStatus,
769 bit32 agIOInfoLen,
770 void *agParam,
771 bit32 agOtherInfo
772 );
773osGLOBAL void
775 agsaRoot_t *agRoot,
776 agsaIORequest_t *agIORequest,
777 bit32 agIOStatus,
778 bit32 agIOInfoLen,
779 void *agParam,
780 bit32 agOtherInfo
781 );
782osGLOBAL void
784 agsaRoot_t *agRoot,
785 agsaIORequest_t *agIORequest,
786 bit32 agIOStatus,
787 bit32 agIOInfoLen,
788 void *agParam,
789 bit32 agOtherInfo
790 );
791osGLOBAL void
793 agsaRoot_t *agRoot,
794 agsaIORequest_t *agIORequest,
795 bit32 agIOStatus,
796 bit32 agIOInfoLen,
797 void *agParam,
798 bit32 agOtherInfo
799 );
800
801osGLOBAL void
803 agsaRoot_t *agRoot,
804 agsaIORequest_t *agIORequest,
805 bit32 agIOStatus,
806 bit32 agIOInfoLen,
807 void *agParam,
808 bit32 agOtherInfo
809 );
810osGLOBAL void
812 agsaRoot_t *agRoot,
813 agsaIORequest_t *agIORequest,
814 bit32 agIOStatus,
815 bit32 agIOInfoLen,
816 void *agParam,
817 bit32 agOtherInfo
818 );
819osGLOBAL void
821 agsaRoot_t *agRoot,
822 agsaIORequest_t *agIORequest,
823 bit32 agIOStatus,
824 bit32 agIOInfoLen,
825 void *agParam,
826 bit32 agOtherInfo
827 );
828osGLOBAL void
830 agsaRoot_t *agRoot,
831 agsaIORequest_t *agIORequest,
832 bit32 agIOStatus,
833 bit32 agIOInfoLen,
834 void *agParam,
835 bit32 agOtherInfo
836 );
837osGLOBAL void
839 agsaRoot_t *agRoot,
840 agsaIORequest_t *agIORequest,
841 bit32 agIOStatus,
842 bit32 agIOInfoLen,
843 void *agParam,
844 bit32 agOtherInfo
845 );
846osGLOBAL void
848 agsaRoot_t *agRoot,
849 agsaIORequest_t *agIORequest,
850 bit32 agIOStatus,
851 bit32 agIOInfoLen,
852 void *agParam,
853 bit32 agOtherInfo
854 );
855osGLOBAL void
857 agsaRoot_t *agRoot,
858 agsaIORequest_t *agIORequest,
859 bit32 agIOStatus,
860 bit32 agIOInfoLen,
861 void *agParam,
862 bit32 agOtherInfo
863 );
864osGLOBAL void
866 agsaRoot_t *agRoot,
867 agsaIORequest_t *agIORequest,
868 bit32 agIOStatus,
869 bit32 agIOInfoLen,
870 void *agParam,
871 bit32 agOtherInfo
872 );
873osGLOBAL void
875 agsaRoot_t *agRoot,
876 agsaIORequest_t *agIORequest,
877 bit32 agIOStatus,
878 bit32 agIOInfoLen,
879 void *agParam,
880 bit32 agOtherInfo
881 );
882
883osGLOBAL void
885 agsaRoot_t *agRoot,
886 agsaIORequest_t *agIORequest,
887 bit32 agIOStatus,
888 bit32 agIOInfoLen,
889 void *agParam,
890 bit32 agOtherInfo
891 );
892osGLOBAL void
894 agsaRoot_t *agRoot,
895 agsaIORequest_t *agIORequest,
896 bit32 agIOStatus,
897 bit32 agIOInfoLen,
898 void *agParam,
899 bit32 agOtherInfo
900 );
901osGLOBAL void
903 agsaRoot_t *agRoot,
904 agsaIORequest_t *agIORequest,
905 bit32 agIOStatus,
906 bit32 agIOInfoLen,
907 void *agParam,
908 bit32 agOtherInfo
909 );
910osGLOBAL void
912 agsaRoot_t *agRoot,
913 agsaIORequest_t *agIORequest,
914 bit32 agIOStatus,
915 bit32 agIOInfoLen,
916 void *agParam,
917 bit32 agOtherInfo
918 );
919osGLOBAL void
921 agsaRoot_t *agRoot,
922 agsaIORequest_t *agIORequest,
923 bit32 agIOStatus,
924 bit32 agIOInfoLen,
925 void *agParam,
926 bit32 agOtherInfo
927 );
928osGLOBAL void
930 agsaRoot_t *agRoot,
931 agsaIORequest_t *agIORequest,
932 bit32 agIOStatus,
933 bit32 agIOInfoLen,
934 void *agParam,
935 bit32 agOtherInfo
936 );
937
938osGLOBAL void
940 agsaRoot_t *agRoot,
941 agsaIORequest_t *agIORequest,
942 bit32 agIOStatus,
943 bit32 agIOInfoLen,
944 void *agParam,
945 bit32 agOtherInfo
946 );
947
948osGLOBAL void
950 agsaRoot_t *agRoot,
951 agsaIORequest_t *agIORequest,
952 bit32 agIOStatus,
953 bit32 agIOInfoLen,
954 void *agParam,
955 bit32 agOtherInfo
956 );
957
958osGLOBAL void
960 agsaRoot_t *agRoot,
961 agsaIORequest_t *agIORequest,
962 bit32 agIOStatus,
963 bit32 agIOInfoLen,
964 void *agParam,
965 bit32 agOtherInfo
966 );
967osGLOBAL void
969 agsaRoot_t *agRoot,
970 agsaIORequest_t *agIORequest,
971 bit32 agIOStatus,
972 bit32 agIOInfoLen,
973 void *agParam,
974 bit32 agOtherInfo
975 );
976osGLOBAL void
978 agsaRoot_t *agRoot,
979 agsaIORequest_t *agIORequest,
980 bit32 agIOStatus,
981 bit32 agIOInfoLen,
982 void *agParam,
983 bit32 agOtherInfo
984 );
985osGLOBAL void
987 agsaRoot_t *agRoot,
988 agsaIORequest_t *agIORequest,
989 bit32 agIOStatus,
990 bit32 agIOInfoLen,
991 void *agParam,
992 bit32 agOtherInfo
993 );
994osGLOBAL void
996 agsaRoot_t *agRoot,
997 agsaIORequest_t *agIORequest,
998 bit32 agIOStatus,
999 bit32 agIOInfoLen,
1000 void *agParam,
1001 bit32 agOtherInfo
1002 );
1003
1004#ifdef REMOVED
1005osGLOBAL void
1006itdssIOUnderFlowWithChkConditionHandler(
1007 agsaRoot_t *agRoot,
1008 agsaIORequest_t *agIORequest,
1009 bit32 agIOStatus,
1010 bit32 agIOInfoLen,
1011 void *agParam
1012 );
1013#endif
1014
1015osGLOBAL void
1017 agsaRoot_t *agRoot,
1018 agsaIORequest_t *agIORequest,
1019 bit32 agIOStatus,
1020 bit32 agIOInfoLen,
1021 void *agParam,
1022 bit32 agOtherInfo
1023 );
1024
1025osGLOBAL void
1027 agsaRoot_t *agRoot,
1028 agsaIORequest_t *agIORequest,
1029 bit32 agIOStatus,
1030 bit32 agIOInfoLen,
1031 void *agParam,
1032 bit32 agOtherInfo
1033 );
1034
1035osGLOBAL void
1037 agsaRoot_t *agRoot,
1038 agsaIORequest_t *agIORequest,
1039 bit32 agIOStatus,
1040 bit32 agIOInfoLen,
1041 void *agParam,
1042 bit32 agOtherInfo
1043 );
1044osGLOBAL void
1046 agsaRoot_t *agRoot,
1047 agsaIORequest_t *agIORequest,
1048 bit32 agIOStatus,
1049 bit32 agIOInfoLen,
1050 void *agParam,
1051 bit32 agOtherInfo
1052 );
1053osGLOBAL void
1055 agsaRoot_t *agRoot,
1056 agsaIORequest_t *agIORequest,
1057 bit32 agIOStatus,
1058 bit32 agIOInfoLen,
1059 void *agParam,
1060 bit32 agOtherInfo
1061 );
1062osGLOBAL void
1064 agsaRoot_t *agRoot,
1065 agsaIORequest_t *agIORequest,
1066 bit32 agIOStatus,
1067 bit32 agIOInfoLen,
1068 void *agParam,
1069 bit32 agOtherInfo
1070 );
1071osGLOBAL void
1073 agsaRoot_t *agRoot,
1074 agsaIORequest_t *agIORequest,
1075 bit32 agIOStatus,
1076 bit32 agIOInfoLen,
1077 void *agParam,
1078 bit32 agOtherInfo
1079 );
1080
1081osGLOBAL void
1083 agsaRoot_t *agRoot,
1084 agsaIORequest_t *agIORequest,
1085 bit32 agIOStatus,
1086 bit32 agIOInfoLen,
1087 void *agParam,
1088 bit32 agOtherInfo
1089 );
1090
1091osGLOBAL void
1093 agsaRoot_t *agRoot,
1094 agsaIORequest_t *agIORequest,
1095 bit32 agIOStatus,
1096 bit32 agIOInfoLen,
1097 void *agParam,
1098 bit32 agOtherInfo
1099 );
1100
1101osGLOBAL void
1103 agsaRoot_t *agRoot,
1104 agsaIORequest_t *agIORequest,
1105 bit32 agIOStatus,
1106 bit32 agIOInfoLen,
1107 void *agParam,
1108 bit32 agOtherInfo
1109 );
1110
1111osGLOBAL void
1113 agsaRoot_t *agRoot,
1114 agsaIORequest_t *agIORequest,
1115 bit32 agIOStatus,
1116 bit32 agIOInfoLen,
1117 void *agParam,
1118 bit32 agOtherInfo
1119 );
1120
1121osGLOBAL void
1123 agsaRoot_t *agRoot,
1124 agsaIORequest_t *agIORequest,
1125 bit32 agIOStatus,
1126 bit32 agIOInfoLen,
1127 void *agParam,
1128 bit32 agOtherInfo
1129 );
1130
1131/* default handler */
1132osGLOBAL void
1134 agsaRoot_t *agRoot,
1135 agsaIORequest_t *agIORequest,
1136 bit32 agIOStatus,
1137 bit32 agIOInfoLen,
1138 void *agParam,
1139 bit32 agOtherInfo
1140 );
1141osGLOBAL void
1143 agsaRoot_t *agRoot,
1144 agsaIORequest_t *agIORequest,
1145 bit32 agIOStatus,
1146 bit32 agIOInfoLen,
1147 void *agParam,
1148 bit32 agOtherInfo
1149 );
1150
1151osGLOBAL void
1153 agsaRoot_t *agRoot,
1154 agsaIORequest_t *agIORequest,
1155 bit32 agIOStatus,
1156 bit32 agIOInfoLen,
1157 void *agParam,
1158 bit32 agOtherInfo
1159 );
1160
1161osGLOBAL void
1163 agsaRoot_t *agRoot,
1164 agsaIORequest_t *agIORequest,
1165 bit32 agIOStatus,
1166 bit32 agIOInfoLen,
1167 void *agParam,
1168 bit32 agOtherInfo
1169 );
1170
1171osGLOBAL void
1172itdssInitDiscoveryModule (
1174 );
1175
1176osGLOBAL void
1179 tiInitiatorResource_t *initiatorResource
1180 );
1181
1182
1183osGLOBAL void
1185 tiRoot_t *tiRoot,
1186 itdssOperatingOption_t *OperatingOption
1187 );
1188
1189
1193 tdIORequestBody_t *IORequestBody,
1194 tiSgl_t *tiSgl1,
1195 void *sglVirtualAddr
1196 );
1197
1198#ifdef FDS_SM
1199osGLOBAL void
1200smReportRemoval(
1202 agsaRoot_t *agRoot,
1203 tdsaDeviceData_t *oneDeviceData,
1204 tdsaPortContext_t *onePortContext
1205 );
1206osGLOBAL void
1207smReportRemovalDirect(
1209 agsaRoot_t *agRoot,
1210 tdsaDeviceData_t *oneDeviceData
1211 );
1212osGLOBAL void
1213smHandleDirect(
1215 agsaRoot_t *agRoot,
1216 tdsaDeviceData_t *oneDeviceData,
1217 void *IDdata
1218 );
1219
1220osGLOBAL void
1221ossaSATAIDAbortCB(
1222 agsaRoot_t *agRoot,
1223 agsaIORequest_t *agIORequest,
1224 bit32 flag,
1226 );
1227
1228osGLOBAL void
1229ossaIniSetDeviceInfoCB(
1230 agsaRoot_t *agRoot,
1231 agsaContext_t *agContext,
1232 agsaDevHandle_t *agDevHandle,
1233 bit32 status,
1234 bit32 option,
1235 bit32 param
1236 );
1237
1238#endif /* FDS_SM */
1239
1240#endif /* INITIATOR_DRIVER */
1241
1242#ifdef TARGET_DRIVER
1243/*****************************************************************************
1244*
1245* SAS Target only PROTOTYPES (ttdproto.h)
1246*
1247*****************************************************************************/
1249ttdssInit(
1251 tiTargetResource_t *targetResource,
1252 tiTdSharedMem_t *tdSharedMem
1253 );
1254
1255osGLOBAL void
1258 tiTargetResource_t *targetResource
1259 );
1260
1261osGLOBAL void
1264 );
1265
1266osGLOBAL void
1268 tiRoot_t *tiRoot,
1269 ttdssOperatingOption_t *OperatingOption
1270 );
1271
1275 ttdsaXchgData_t *ttdsaXchgData,
1276 tiTargetMem_t *tgtMem,
1277 bit32 maxNumXchgs
1278 );
1279
1280osGLOBAL void
1283 ttdsaXchg_t *ttdsaXchg
1284 );
1285
1286
1287osGLOBAL void
1290 ttdsaXchg_t *ttdsaXchg
1291 );
1292osGLOBAL void
1294 agsaRoot_t *agRoot,
1295 agsaDevHandle_t *agDevHandle,
1296 agsaFrameHandle_t agFrameHandle,
1297 bit32 agInitiatorTag,
1298 bit32 parameter,
1299 bit32 agFrameLen
1300 );
1301
1304 agsaRoot_t *agRoot
1305 );
1306osGLOBAL void
1308
1309osGLOBAL void
1311 agsaSSPCmdInfoUnit_t *cmdIU,
1312 ttdsaXchg_t *ttdsaXchg
1313 );
1314
1318 tdIORequestBody_t *tdIORequestBody,
1319 tiSgl_t *tiSgl1,
1320 tiSgl_t *tiSgl2,
1321 void *sglVirtualAddr);
1322
1323osGLOBAL void
1325 agsaRoot_t *agRoot,
1326 agsaIORequest_t *agIORequest,
1327 bit32 agIOStatus,
1328 bit32 agIOInfoLen,
1329 agsaFrameHandle_t agFrameHandle,
1330 bit32 agOtherInfo
1331 );
1332
1333osGLOBAL void
1336 ttdsaXchg_t *ttdsaXchg
1337 );
1338
1339osGLOBAL void
1341 agsaRoot_t *agRoot,
1342 agsaDevHandle_t *agDevHandle,
1343 agsaSMPFrameHeader_t *agFrameHeader,
1344 agsaFrameHandle_t agFrameHandle,
1345 bit32 agFrameLength,
1346 bit32 phyId
1347 );
1348osGLOBAL void
1350 agsaRoot_t *agRoot,
1351 agsaIORequest_t *agIORequest,
1352 bit32 agIOStatus,
1353 //agsaSMPFrameHeader_t *agFrameHeader, (TP)
1354 bit32 agIOInfoLen,
1355 agsaFrameHandle_t agFrameHandle
1356 );
1359 agsaRoot_t *agRoot,
1360 ttdsaXchg_t *ttdsaXchg
1361 );
1362
1363osGLOBAL void
1364ttdssReportRemovals(
1365 agsaRoot_t *agRoot,
1366 tdsaPortContext_t *onePortContext,
1367 bit32 flag
1368 );
1369
1370
1371osGLOBAL void
1372ttdsaAbortAll(
1374 agsaRoot_t *agRoot,
1375 tdsaDeviceData_t *oneDeviceData
1376 );
1377
1378osGLOBAL void
1380 agsaRoot_t *agRoot,
1381 agsaIORequest_t *agIORequest,
1382 bit32 agIOStatus,
1383 bit32 agIOInfoLen,
1384 void *agParam,
1385 bit32 agOtherInfo
1386 );
1387
1388#endif /* TARGET_DRIVER */
1389
1390
1391
1392/*****************************************************************************
1393*
1394* For debugging only
1395*
1396*****************************************************************************/
1397osGLOBAL void
1399 agsaSwConfig_t *SwConfig
1400 );
1401
1402osGLOBAL void
1404 agsaHwConfig_t *HwConfig
1405 );
1406osGLOBAL void
1409 );
1410osGLOBAL void
1411print_tdlist_flink(tdList_t *hdr, int type, int flag);
1412
1413osGLOBAL void
1414print_tdlist_blink(tdList_t *hdr, int flag);
1415
1416osGLOBAL void
1417tdhexdump(const char *ptitle, bit8 *pbuf, int len);
1418
1419
1420/*****************************************************************************
1421*
1422* SAT only PROTOTYPE
1423*
1424*****************************************************************************/
1425
1426#ifdef SATA_ENABLE
1427
1428/*****************************************************************************
1429 *! \brief satIOStart
1430 *
1431 * This routine is called to initiate a new SCSI request to SATL.
1432 *
1433 * \param tiRoot: Pointer to TISA initiator driver/port instance.
1434 * \param tiIORequest: Pointer to TISA I/O request context for this I/O.
1435 * \param tiDeviceHandle: Pointer to TISA device handle for this I/O.
1436 * \param tiScsiRequest: Pointer to TISA SCSI I/O request and SGL list.
1437 * \param satIOContext_t: Pointer to the SAT IO Context
1438 *
1439 * \return:
1440 *
1441 * \e tiSuccess: I/O request successfully initiated.
1442 * \e tiBusy: No resources available, try again later.
1443 * \e tiIONoDevice: Invalid device handle.
1444 * \e tiError: Other errors that prevent the I/O request to be started.
1445 *
1446 *
1447 *****************************************************************************/
1448
1449GLOBAL bit32 satIOStart(
1450 tiRoot_t *tiRoot,
1453 tiScsiInitiatorRequest_t *tiScsiRequest,
1454 satIOContext_t *satIOContext
1455 );
1456
1457/*****************************************************************************
1458 *! \brief satIOAbort
1459 *
1460 * This routine is called to initiate a I/O abort to SATL.
1461 * This routine is independent of HW/LL API.
1462 *
1463 * \param tiRoot: Pointer to TISA initiator driver/port instance.
1464 * \param taskTag: Pointer to TISA I/O request context/tag to be aborted.
1465 *
1466 * \return:
1467 *
1468 * \e tiSuccess: I/O request successfully initiated.
1469 * \e tiBusy: No resources available, try again later.
1470 * \e tiError: Other errors that prevent the I/O request to be started.
1471 *
1472 *
1473 *****************************************************************************/
1474
1475GLOBAL bit32 satIOAbort(
1477 tiIORequest_t *taskTag );
1478
1479
1480/*****************************************************************************
1481 *! \brief satTM
1482 *
1483 * This routine is called to initiate a TM request to SATL.
1484 * This routine is independent of HW/LL API.
1485 *
1486 * \param tiRoot: Pointer to TISA initiator driver/port instance.
1487 * \param tiDeviceHandle: Pointer to TISA device handle for this I/O.
1488 * \param task: SAM-3 task management request.
1489 * \param lun: Pointer to LUN.
1490 * \param taskTag: Pointer to the associated task where the TM
1491 * command is to be applied.
1492 * \param currentTaskTag: Pointer to tag/context for this TM request.
1493 *
1494 * \return:
1495 *
1496 * \e tiSuccess: I/O request successfully initiated.
1497 * \e tiBusy: No resources available, try again later.
1498 * \e tiIONoDevice: Invalid device handle.
1499 * \e tiError: Other errors that prevent the I/O request to be started.
1500 *
1501 *
1502 *****************************************************************************/
1503
1504osGLOBAL bit32 satTM(
1507 bit32 task,
1508 tiLUN_t *lun,
1509 tiIORequest_t *taskTag,
1510 tiIORequest_t *currentTaskTag,
1511 tdIORequestBody_t *tiRequestBody,
1512 bit32 NotifyOS
1513 );
1514
1515
1516#endif /* SAT only */
1517
1518#ifdef INITIATOR_DRIVER
1519#ifdef TD_DISCOVER
1520
1521osGLOBAL void
1524 );
1525
1527tdsaDiscover(
1529 tdsaPortContext_t *onePortContext,
1530 bit32 type,
1531 bit32 option
1532 );
1533
1535tdsaSASFullDiscover(
1537 tdsaPortContext_t *onePortContext
1538 );
1539
1541tdsaSATAFullDiscover(
1543 tdsaPortContext_t *onePortContext
1544 );
1546tdsaSASIncrementalDiscover(
1548 tdsaPortContext_t *onePortContext
1549 );
1550
1552tdsaSATAIncrementalDiscover(
1554 tdsaPortContext_t *onePortContext
1555 );
1556
1557osGLOBAL void
1558tdsaSASUpStreamDiscoverStart(
1560 tdsaPortContext_t *onePortContext,
1561 tdsaDeviceData_t *oneDeviceData
1562 );
1563
1564osGLOBAL void
1565tdsaSASUpStreamDiscovering(
1567 tdsaPortContext_t *onePortContext,
1568 tdsaDeviceData_t *oneDeviceData
1569 );
1570
1571
1572osGLOBAL void
1573tdsaSASDownStreamDiscoverStart(
1575 tdsaPortContext_t *onePortContext,
1576 tdsaDeviceData_t *oneDeviceData
1577 );
1578
1579osGLOBAL void
1580tdsaSASDownStreamDiscovering(
1582 tdsaPortContext_t *onePortContext,
1583 tdsaDeviceData_t *oneDeviceData
1584 );
1585
1586osGLOBAL void
1587tdsaSASDiscoverDone(
1589 tdsaPortContext_t *onePortContext,
1590 bit32 flag
1591 );
1592
1593osGLOBAL void
1594tdsaSATADiscoverDone(
1596 tdsaPortContext_t *onePortContext,
1597 bit32 flag
1598 );
1599
1600osGLOBAL void
1601tdsaAckBC(
1603 tdsaPortContext_t *onePortContext
1604 );
1605
1606osGLOBAL void
1607tdsaDiscoveryResetProcessed(
1609 tdsaPortContext_t *onePortContext
1610 );
1611
1612
1613
1614osGLOBAL void
1615tdsaSASUpStreamDiscoverExpanderPhy(
1617 tdsaPortContext_t *onePortContext,
1618 tdsaExpander_t *oneExpander,
1619 smpRespDiscover_t *pDiscoverResp
1620 );
1622tdsaFindUpStreamConfigurableExp(tiRoot_t *tiRoot,
1623 tdsaExpander_t *oneExpander);
1624
1625osGLOBAL void
1626tdsaSASDownStreamDiscoverExpanderPhy(
1628 tdsaPortContext_t *onePortContext,
1629 tdsaExpander_t *oneExpander,
1630 smpRespDiscover_t *pDiscoverResp
1631 );
1632osGLOBAL void
1633tdsaSASUpStreamDiscoverExpanderPhySkip(
1635 tdsaPortContext_t *onePortContext,
1636 tdsaExpander_t *oneExpander
1637 );
1639tdsaFindDownStreamConfigurableExp(tiRoot_t *tiRoot,
1640 tdsaExpander_t *oneExpander);
1641
1642osGLOBAL void
1643tdsaSASDownStreamDiscoverExpanderPhySkip(
1645 tdsaPortContext_t *onePortContext,
1646 tdsaExpander_t *oneExpander
1647 );
1648osGLOBAL void
1649tdsaDiscoveringStpSATADevice(
1651 tdsaPortContext_t *onePortContext,
1652 tdsaDeviceData_t *oneDeviceData
1653 );
1654
1655
1656osGLOBAL void
1657tdsaSASExpanderUpStreamPhyAdd(
1659 tdsaExpander_t *oneExpander,
1660 bit8 phyId
1661 );
1662
1663osGLOBAL void
1664tdsaSASExpanderDownStreamPhyAdd(
1666 tdsaExpander_t *oneExpander,
1667 bit8 phyId
1668 );
1670tdsaFindCurrentDownStreamPhyIndex(
1672 tdsaExpander_t *oneExpander
1673 );
1674
1676tdsaPortSASDeviceFind(
1678 tdsaPortContext_t *onePortContext,
1679 bit32 sasAddrLo,
1680 bit32 sasAddrHi
1681 );
1682
1684tdsaPortSASDeviceAdd(
1686 tdsaPortContext_t *onePortContext,
1687 agsaSASIdentify_t sasIdentify,
1688 bit32 sasInitiator,
1689 bit8 connectionRate,
1690 bit32 itNexusTimeout,
1691 bit32 firstBurstSize,
1692 bit32 deviceType,
1693 tdsaDeviceData_t *oneExpDeviceData,
1694 bit8 phyID
1695 );
1696
1697
1698
1699
1700
1701/* in tdport.c */
1703tdssNewAddSASToSharedcontext(
1704 agsaRoot_t *agRoot,
1705 tdsaPortContext_t *onePortContext,
1706 tdsaSASSubID_t *agSASSubID,
1707 tdsaDeviceData_t *oneExpDeviceData,
1708 bit8 phyID
1709 );
1710osGLOBAL void
1711tdsaResetValidDeviceData(
1712 agsaRoot_t *agRoot,
1713 tdsaPortContext_t *onePortContext
1714 );
1715
1716
1717osGLOBAL void
1718tdssReportChanges(
1719 agsaRoot_t *agRoot,
1720 tdsaPortContext_t *onePortContext );
1721
1722osGLOBAL void
1723tdssReportRemovals(
1724 agsaRoot_t *agRoot,
1725 tdsaPortContext_t *onePortContext,
1726 bit32 flag
1727 );
1728osGLOBAL void
1729tdssInternalRemovals(
1730 agsaRoot_t *agRoot,
1731 tdsaPortContext_t *onePortContext
1732 );
1733osGLOBAL void
1734tdssDiscoveryErrorRemovals(
1735 agsaRoot_t *agRoot,
1736 tdsaPortContext_t *onePortContext
1737 );
1738
1739osGLOBAL void
1740tdsaSASDiscoverAbort(
1742 tdsaPortContext_t *onePortContext
1743 );
1744
1745
1747tdsaFindRegNValid(
1748 agsaRoot_t *agRoot,
1749 tdsaPortContext_t *onePortContext,
1750 tdsaSASSubID_t *agSASSubID
1751 );
1752bit32
1753tdssNewSASorNot(
1754 agsaRoot_t *agRoot,
1755 tdsaPortContext_t *onePortContext,
1756 tdsaSASSubID_t *agSASSubID
1757 );
1758
1759
1761tdssSASDiscoveringExpanderAlloc(
1763 tdsaPortContext_t *onePortContext,
1764 tdsaDeviceData_t *oneDeviceData
1765 );
1766
1767osGLOBAL void
1768tdssSASDiscoveringExpanderAdd(
1770 tdsaPortContext_t *onePortContext,
1771 tdsaExpander_t *oneExpander
1772 );
1773
1774osGLOBAL void
1775tdssSASDiscoveringExpanderRemove(
1777 tdsaPortContext_t *onePortContext,
1778 tdsaExpander_t *oneExpander
1779 );
1780
1782tdssSATADeviceTypeDecode(
1783 bit8 *pSignature
1784 );
1785
1786
1788tdsaPortSATADeviceAdd(
1790 tdsaPortContext_t *onePortContext,
1791 tdsaDeviceData_t *oneSTPBridge,
1792 bit8 *Signature,
1793 bit8 pm,
1794 bit8 pmField,
1795 bit8 connectionRate,
1796 tdsaDeviceData_t *oneExpDeviceData,
1797 bit8 phyID
1798 );
1799
1800/* in tdport.c */
1802tdssNewAddSATAToSharedcontext(tiRoot_t *tiRoot,
1803 agsaRoot_t *agRoot,
1804 tdsaPortContext_t *onePortContext,
1805 agsaSATADeviceInfo_t *agSATADeviceInfo,
1806 bit8 *Signature,
1807 bit8 pm,
1808 bit8 pmField,
1809 bit32 connectionRate,
1810 tdsaDeviceData_t *oneExpDeviceData,
1811 bit8 phyID
1812 );
1813
1815tdsaFindRightDevice(
1817 tdsaPortContext_t *onePortContext,
1818 tdsaDeviceData_t *tdsaDeviceData
1819 );
1820GLOBAL void
1821ossaIDCDiscoverCompleted(
1822 agsaRoot_t *agRoot,
1823 agsaIORequest_t *agIORequest,
1824 bit32 agIOStatus,
1825 void *agFirstDword,
1826 bit32 agIOInfoLen,
1827 agsaFrameHandle_t agFrameHandle
1828 );
1829
1831tdsaFindLocalLinkRate(
1833 tdsaPortStartInfo_t *tdsaPortStartInfo
1834 );
1835
1836/* SMP related */
1837
1839tdSMPStart(
1841 agsaRoot_t *agRoot,
1842 tdsaDeviceData_t *oneDeviceData,
1843 bit32 functionCode,
1844 bit8 *pSmpBody,
1845 bit32 smpBodySize,
1846 bit32 agRequestType,
1847 tiIORequest_t *CurrentTaskTag,
1848 bit32 queueNumber
1849 );
1850//temp for testing
1851osGLOBAL void
1852tdsaReportManInfoSend(
1854 tdsaDeviceData_t *oneDeviceData
1855 );
1856
1857osGLOBAL void
1858tdsaReportManInfoRespRcvd(
1860 agsaRoot_t *agRoot,
1861 tdsaDeviceData_t *oneDeviceData,
1862 tdssSMPFrameHeader_t *frameHeader,
1863 agsaFrameHandle_t frameHandle
1864 );
1865
1866//end temp for testing
1867
1868osGLOBAL void
1869tdsaReportGeneralSend(
1871 tdsaDeviceData_t *oneDeviceData
1872 );
1873
1874osGLOBAL void
1875tdsaReportGeneralRespRcvd(
1877 agsaRoot_t *agRoot,
1878 agsaIORequest_t *agIORequest,
1879 tdsaDeviceData_t *oneDeviceData,
1880 tdssSMPFrameHeader_t *frameHeader,
1881 agsaFrameHandle_t frameHandle
1882 );
1883osGLOBAL void
1884tdsaDiscoverSend(
1886 tdsaDeviceData_t *oneDeviceData
1887 );
1888
1889osGLOBAL void
1890tdsaDiscoverRespRcvd(
1892 agsaRoot_t *agRoot,
1893 agsaIORequest_t *agIORequest,
1894 tdsaDeviceData_t *oneDeviceData,
1895 tdssSMPFrameHeader_t *frameHeader,
1896 agsaFrameHandle_t frameHandle
1897 );
1898
1899
1900osGLOBAL void
1901tdsaReportPhySataSend(
1903 tdsaDeviceData_t *oneDeviceData,
1904 bit8 phyId
1905 );
1906
1907
1908
1909osGLOBAL void
1910tdsaReportPhySataRcvd(
1912 agsaRoot_t *agRoot,
1913 agsaIORequest_t *agIORequest,
1914 tdsaDeviceData_t *oneDeviceData,
1915 tdssSMPFrameHeader_t *frameHeader,
1916 agsaFrameHandle_t frameHandle
1917 );
1918
1920tdsaSASRoutingEntryAdd(
1922 tdsaExpander_t *oneExpander,
1923 bit32 phyId,
1924 bit32 configSASAddressHi,
1925 bit32 configSASAddressLo
1926 );
1927
1928
1929osGLOBAL void
1930tdsaConfigRoutingInfoRespRcvd(
1932 agsaRoot_t *agRoot,
1933 agsaIORequest_t *agIORequest,
1934 tdsaDeviceData_t *oneDeviceData,
1935 tdssSMPFrameHeader_t *frameHeader,
1936 agsaFrameHandle_t frameHandle
1937 );
1938
1940tdsaPhyControlSend(
1942 tdsaDeviceData_t *oneDeviceData,
1943 bit8 phyOp,
1944 tiIORequest_t *CurrentTaskTag,
1945 bit32 queueNumber
1946 );
1947
1948osGLOBAL void
1951 agsaRoot_t *agRoot,
1952 agsaIORequest_t *agIORequest,
1953 tdsaDeviceData_t *oneDeviceData,
1954 tdssSMPFrameHeader_t *frameHeader,
1955 agsaFrameHandle_t frameHandle,
1956 tiIORequest_t *CurrentTaskTag
1957 );
1958
1959osGLOBAL void
1962 agsaRoot_t *agRoot,
1963 tdsaDeviceData_t *oneDeviceData,
1964 tdssSMPFrameHeader_t *frameHeader,
1965 agsaFrameHandle_t frameHandle,
1966 tiIORequest_t *CurrentTaskTag
1967 );
1968
1969
1970osGLOBAL void
1971tdsaDumpAllExp(
1973 tdsaPortContext_t *onePortContext,
1974 tdsaExpander_t *oneExpander
1975 );
1976osGLOBAL void
1977tdsaDumpAllUpExp(
1979 tdsaPortContext_t *onePortContext,
1980 tdsaExpander_t *oneExpander
1981 );
1982osGLOBAL void
1983tdsaCleanAllExp(
1985 tdsaPortContext_t *onePortContext
1986 );
1987osGLOBAL void
1988tdsaFreeAllExp(
1990 tdsaPortContext_t *onePortContext
1991 );
1992osGLOBAL void
1993tdsaDumpAllFreeExp(
1995 );
1996
1997osGLOBAL void
1998tdsaDiscoveryTimer(tiRoot_t *tiRoot,
1999 tdsaPortContext_t *onePortContext,
2000 tdsaDeviceData_t *oneDeviceData
2001 );
2002
2003osGLOBAL void
2004tdsaDiscoveryTimerCB(
2005 tiRoot_t * tiRoot,
2006 void * timerData1,
2007 void * timerData2,
2008 void * timerData3
2009 );
2010
2011osGLOBAL void
2012tdsaConfigureRouteTimer(tiRoot_t *tiRoot,
2013 tdsaPortContext_t *onePortContext,
2014 tdsaExpander_t *oneExpander,
2015 smpRespDiscover_t *ptdSMPDiscoverResp
2016 );
2017
2018osGLOBAL void
2019tdsaConfigureRouteTimerCB(
2020 tiRoot_t * tiRoot,
2021 void * timerData1,
2022 void * timerData2,
2023 void * timerData3
2024 );
2025
2026osGLOBAL void
2027tdsaDeviceRegistrationTimer(tiRoot_t *tiRoot,
2028 tdsaPortContext_t *onePortContext,
2029 tdsaDeviceData_t *oneDeviceData
2030 );
2031
2032osGLOBAL void
2033tdsaDeviceRegistrationTimerCB(
2034 tiRoot_t * tiRoot,
2035 void * timerData1,
2036 void * timerData2,
2037 void * timerData3
2038 );
2039
2040osGLOBAL void
2041tdsaSMPBusyTimer(tiRoot_t *tiRoot,
2042 tdsaPortContext_t *onePortContext,
2043 tdsaDeviceData_t *oneDeviceData,
2044 tdssSMPRequestBody_t *tdSMPRequestBody
2045 );
2046
2047osGLOBAL void
2048tdsaSMPBusyTimerCB(
2049 tiRoot_t * tiRoot,
2050 void * timerData1,
2051 void * timerData2,
2052 void * timerData3
2053 );
2054
2055osGLOBAL void
2056tdsaSATAIDDeviceTimer(tiRoot_t *tiRoot,
2057 tdsaDeviceData_t *oneDeviceData
2058 );
2059#ifdef FDS_SM
2060osGLOBAL void
2061tdIDStartTimer(tiRoot_t *tiRoot,
2062 smIORequest_t *smIORequest,
2063 tdsaDeviceData_t *oneDeviceData
2064 );
2065osGLOBAL void
2066tdIDStartTimerCB(
2067 tiRoot_t * tiRoot,
2068 void * timerData1,
2069 void * timerData2,
2070 void * timerData3
2071 );
2072#endif
2073osGLOBAL void
2074tdsaBCTimer(tiRoot_t *tiRoot,
2075 tdsaPortContext_t *onePortContext
2076 );
2077
2078osGLOBAL void
2079tdsaBCTimerCB(
2080 tiRoot_t * tiRoot,
2081 void * timerData1,
2082 void * timerData2,
2083 void * timerData3
2084 );
2085
2086osGLOBAL void
2087tdsaSATAIDDeviceTimerCB(
2088 tiRoot_t * tiRoot,
2089 void * timerData1,
2090 void * timerData2,
2091 void * timerData3
2092 );
2093
2094osGLOBAL void
2095tdsaDiscoverySMPTimer(tiRoot_t *tiRoot,
2096 tdsaPortContext_t *onePortContext,
2097 bit32 functionCode,
2098 tdssSMPRequestBody_t *tdSMPRequestBody
2099 );
2100
2101osGLOBAL void
2102tdsaDiscoverySMPTimerCB(
2103 tiRoot_t * tiRoot,
2104 void * timerData1,
2105 void * timerData2,
2106 void * timerData3
2107 );
2108
2109osGLOBAL void
2110dumpRoutingAttributes(
2112 tdsaExpander_t *oneExpander,
2113 bit8 phyID
2114 );
2115
2117tdsaDuplicateConfigSASAddr(
2119 tdsaExpander_t *oneExpander,
2120 bit32 configSASAddressHi,
2121 bit32 configSASAddressLo
2122 );
2123
2125tdsaFindConfigurableExp(
2127 tdsaPortContext_t *onePortContext,
2128 tdsaExpander_t *oneExpander
2129 );
2130
2132tdsaDiscoveryStartIDDev(
2133 tiRoot_t *tiRoot,
2136 tiScsiInitiatorRequest_t *tiScsiRequest,
2137 tdsaDeviceData_t *oneDeviceData
2138 );
2139
2140GLOBAL void satFreeIntIoResource(
2142 satDeviceData_t *satDevData,
2143 satInternalIo_t *satIntIo);
2144osGLOBAL void
2145tddmDeregisterDevicesInPort(
2147 tdsaPortContext_t *onePortContext
2148 );
2149
2150#ifdef AGTIAPI_CTL
2151osGLOBAL void
2152tdsaCTLSet(
2154 tdsaPortContext_t *onePortContext,
2155 tiIntrEventType_t eventType,
2156 bit32 eventStatus);
2157
2158STATIC void
2159tdsaCTLNextDevice(
2161 tdsaPortContext_t *onePortContext,
2162 tdIORequest_t *tdIORequest,
2163 tdList_t *DeviceList);
2164
2165STATIC int
2166tdsaCTLModeSelect(
2169 tdIORequest_t *tdIORequest);
2170
2171STATIC void
2172tdsaCTLIOCompleted(
2173 agsaRoot_t *agRoot,
2174 agsaIORequest_t *agIORequest,
2175 bit32 agIOStatus,
2176 bit32 agIOInfoLen,
2177 void *agParam,
2178 bit16 sspTag,
2179 bit32 agOtherInfo);
2180#endif /* AGTIAPI_CTL */
2181
2182#endif /* TD_DISCOVER */
2183#endif /* INITIATOR_DRIVER */
2184
2185#ifdef FDS_DM
2186/********** For DM *******/
2188tddmPortDeviceAdd(
2190 tdsaPortContext_t *onePortContext,
2191 dmDeviceInfo_t *dmDeviceInfo,
2192 tdsaDeviceData_t *oneExpDeviceData
2193 );
2194
2195osGLOBAL void
2196tddmInvalidateDevicesInPort(
2198 tdsaPortContext_t *onePortContext
2199 );
2200
2202tddmNewSASorNot(
2204 tdsaPortContext_t *onePortContext,
2205 tdsaSASSubID_t *agSASSubID
2206 );
2207
2209tddmPortSASDeviceFind(
2211 tdsaPortContext_t *onePortContext,
2212 bit32 sasAddrLo,
2213 bit32 sasAddrHi
2214 );
2215
2217tddmAddToSharedcontext(
2218 agsaRoot_t *agRoot,
2219 tdsaPortContext_t *onePortContext,
2220 tdsaSASSubID_t *agSASSubID,
2221 tdsaDeviceData_t *oneExpDeviceData,
2222 bit8 phyID
2223 );
2224
2225osGLOBAL void
2226tdsaUpdateMCN(
2227 dmRoot_t *dmRoot,
2228 tdsaPortContext_t *onePortContext
2229 );
2230#endif
2231
2232GLOBAL void
2233tdsaSingleThreadedEnter(tiRoot_t *ptiRoot, bit32 queueId);
2234
2235GLOBAL void
2236tdsaSingleThreadedLeave(tiRoot_t *ptiRoot, bit32 queueId);
2237
2238#ifdef PERF_COUNT
2239GLOBAL void
2240tdsaEnter(tiRoot_t *ptiRoot, int io);
2241
2242GLOBAL void
2243tdsaLeave(tiRoot_t *ptiRoot, int io);
2244
2245#define TDSA_INP_ENTER(root) tdsaEnter(root, 0)
2246#define TDSA_INP_LEAVE(root) tdsaLeave(root, 0)
2247#define TDSA_OUT_ENTER(root) tdsaEnter(root, 1)
2248#define TDSA_OUT_LEAVE(root) tdsaLeave(root, 1)
2249#else
2250#define TDSA_INP_ENTER(root)
2251#define TDSA_INP_LEAVE(root)
2252#define TDSA_OUT_ENTER(root)
2253#define TDSA_OUT_LEAVE(root)
2254#endif
2255
2256#if defined(FDS_DM) && defined(FDS_SM)
2257GLOBAL void
2258tdIDStart(
2260 agsaRoot_t *agRoot,
2261 smRoot_t *smRoot,
2262 tdsaDeviceData_t *oneDeviceData,
2263 tdsaPortContext_t *onePortContext
2264 );
2265#endif
2266
2267void t_MacroCheck( agsaRoot_t *agRoot);
2268
2269#endif /* __TDPROTO_H__ */
bit32 lun
Definition: encrypt_ioctl.h:3
bit32 index
Definition: encrypt_ioctl.h:0
tiIOCTLPayloadHeader_t hdr
Definition: encrypt_ioctl.h:0
bit32 Signature
Definition: encrypt_ioctl.h:0
bit32 status
Definition: encrypt_ioctl.h:12
osGLOBAL void itdssTmTagNotFoundHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4203
FORCEINLINE void itdssIOCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:776
osGLOBAL void itdssOpenCnxErrorBreakHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3009
osGLOBAL void itdssOpenCnxErrorITNexusLossHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3056
osGLOBAL void itdssPortInResetHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4044
osGLOBAL void itdssXferErrorInvalidSSPRspFrameHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:5089
osGLOBAL void itdssIOResourceUnavailableHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4996
osGLOBAL void itdssIOForDebugging1Completed(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:5278
osGLOBAL void itdssOpenCnxErrorItNexusLossOpenTmoHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4652
osGLOBAL void itdssOpenCnxErrorWrongDestinationHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3287
osGLOBAL void itdssOpenCnxErrorUnknownErrorHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3334
osGLOBAL void itdssIOForDebugging3Completed(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:5338
osGLOBAL void itdssIONoDeviceHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2634
osGLOBAL void itdssXferErrorCMDIssueACKNAKTimeoutHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3663
osGLOBAL void itdssEncryptionHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4839
osGLOBAL void itdssIOSuccessHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2077
osGLOBAL void itdssIOAbortedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2316
osGLOBAL void itdssXferErrorBreakHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2821
osGLOBAL void itdssXferErrorEOBDataOverrunHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:5136
osGLOBAL void itdssXferErrorPeerAbortedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3475
osGLOBAL void itdssIOForDebugging2Completed(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:5308
osGLOBAL void itdssOpenCnxErrorItNexusLossOpenCollideHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4746
osGLOBAL void itdssXferErrorACKNAKTimeoutHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3428
osGLOBAL void itdssTaskCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:99
osGLOBAL void itdssSMPCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
Definition: itdcb.c:2045
osGLOBAL void itdssSSPExtIUZeroLenHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4250
osGLOBAL void itdssIODefaultHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:5231
osGLOBAL void itdssXferErrorPhyNotReadyHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2868
osGLOBAL void itdssXferErrorCMDIssuePhyDownBeforeACKNAKHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3757
osGLOBAL void itdssXferErrorDMAHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3569
osGLOBAL void itdssIONotValidHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2588
osGLOBAL void itdssIORQEBusyFullHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:5042
osGLOBAL void itdssIOFailedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2493
osGLOBAL void itdssXferOpenRetryBackoffThresholdReachedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4605
osGLOBAL void itdssXferErrorUnexpectedPhaseHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4297
osGLOBAL void itdssIOUnderFlowHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2444
osGLOBAL void itdssDifHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4919
osGLOBAL void itdssProgErrorHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2774
osGLOBAL void itdssIOAbortResetHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2540
osGLOBAL void itdssDsInRecoveryHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4156
osGLOBAL void itdssLinkFailureHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2727
osGLOBAL void itdssOpenCnxErrorSTPResourceBusyHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3240
osGLOBAL void itdssOpenCnxErrorBadDestinationHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3103
osGLOBAL void itdssXferErrorOffsetMismatchHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3851
osGLOBAL void itdssDsNonOperationalHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4091
osGLOBAL void itdssXferErrorNAKReceivedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3381
osGLOBAL void itdssOpenCnxErrorZoneViolationHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2962
osGLOBAL void itdssOpenCnxErrorOpenPreemptedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:5183
osGLOBAL void itdssXferOpenRetryTimeoutHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3945
osGLOBAL void itdssXferErrorRxFrameHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3522
osGLOBAL void itdssOpenCnxErrorProtocolNotSupprotedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:2915
osGLOBAL void itdssOpenCnxErrorItNexusLossOpenPathwayBlockedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4793
osGLOBAL void itdssOpenCnxErrorItNexusLossNoDestHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:4699
osGLOBAL void itdssXferErrorXferZeroDataLenHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3898
osGLOBAL void itdssXferErrorCreditTimeoutHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3616
osGLOBAL void itdssXferErrorCMDIssueBreakBeforeACKNAKHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3710
osGLOBAL void itdssOpenCnxErrorConnectionRateNotSupportedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3150
osGLOBAL void itdssXferErrorDisruptedPhyDownHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: itdcb.c:3804
osGLOBAL void itdssGetOperatingOptionParams(tiRoot_t *tiRoot, itdssOperatingOption_t *OperatingOption)
Definition: itdinit.c:245
osGLOBAL void itdssGetResource(tiRoot_t *tiRoot, tiInitiatorResource_t *initiatorResource)
Definition: itdinit.c:96
osGLOBAL bit32 itdssInit(tiRoot_t *tiRoot, tiInitiatorResource_t *initiatorResource, tiTdSharedMem_t *tdSharedMem)
Definition: itdinit.c:371
osGLOBAL void itdssInitTimers(tiRoot_t *tiRoot)
Definition: itdinit.c:444
osGLOBAL FORCEINLINE bit32 itdssIOPrepareSGL(tiRoot_t *tiRoot, tdIORequestBody_t *tdIORequestBody, tiSgl_t *tiSgl1, void *sglVirtualAddr)
Definition: itdio.c:1750
osGLOBAL void ossaSMPCAMCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
ossaSMPCAMCompleted
Definition: ossacmnapi.c:4120
unsigned short bit16
Definition: ostypes.h:98
#define STATIC
Definition: ostypes.h:78
#define osGLOBAL
Definition: ostypes.h:147
#define GLOBAL
Definition: ostypes.h:131
unsigned int bit32
Definition: ostypes.h:99
#define agBOOLEAN
Definition: ostypes.h:146
#define FORCEINLINE
Definition: ostypes.h:86
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 a GPIO Event Setup Infomation in the SAS/SATA hardware
Definition: sa.h:2102
describe a GPIO Pin Setup Infomation in the SAS/SATA hardware
Definition: sa.h:2115
structure describe hardware configuration
Definition: sa.h:2301
describe SAS IDENTIFY address frame
Definition: sa_spec.h:448
for the SAS/SATA LL Layer
Definition: sa.h:2522
data structure provides some information about a SATA device
Definition: sa.h:2649
describe a serial GPIO request and response in the SAS/SATA hardware
Definition: sa.h:2156
data structure describes the first four bytes of the SMP frame.
Definition: sa_spec.h:921
data structure describes an SSP Command INFORMATION UNIT
Definition: sa_spec.h:793
structure describe software configuration
Definition: sa.h:2319
Definition: dm.h:91
data structure for the options of SAS initiator
Definition: itdtypes.h:48
data structure for SAS SSP IO reuqest body This structure contains IO related fields....
Definition: tdtypes.h:587
data structure for SAS device list This structure maintains the device as a list and information abou...
Definition: tdtypes.h:322
data structure for TD port context This structure maintains information about the port such as ID add...
Definition: tdtypes.h:412
data structure for TD port information This structure contains information in order to start the port...
Definition: tdtypes.h:477
data structure for timer request Timer requests are enqueued and dequeued using tdList_t and have a c...
Definition: tdtypes.h:122
data structure for SAS SMP reuqest body This structure contains IO related fields....
Definition: tdtypes.h:668
Definition: titypes.h:374
Definition: titypes.h:61
osGLOBAL void tdsaExpanderInit(tiRoot_t *tiRoot)
Definition: tdinit.c:3238
osGLOBAL void tdsaPhyControlRespRcvd(tiRoot_t *tiRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, tdsaDeviceData_t *oneDeviceData, tdssSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle, tiIORequest_t *CurrentTaskTag)
Definition: tdmisc.c:2390
osGLOBAL void tdsaPhyControlFailureRespRcvd(tiRoot_t *tiRoot, agsaRoot_t *agRoot, tdsaDeviceData_t *oneDeviceData, tdssSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle, tiIORequest_t *CurrentTaskTag)
Definition: tdmisc.c:2302
osGLOBAL void tdsaInitTimerRequest(tiRoot_t *tiRoot, tdsaTimerRequest_t *timerRequest)
Definition: tdtimers.c:138
osGLOBAL void tdssRemoveSASFromSharedcontext(tdsaPortContext_t *tdsaPortContext_Ins, tdsaDeviceData_t *tdsaDeviceData_ins, agsaRoot_t *agRoot)
Definition: tdport.c:6790
osGLOBAL void tdsaInitTimerHandler(tiRoot_t *tiRoot, void *timerData)
Definition: tdmisc.c:2717
osGLOBAL bit32 tdsaRotateQnumber1(tiRoot_t *tiRoot, tdsaDeviceData_t *oneDeviceData)
Definition: tdport.c:7971
osGLOBAL bit32 tdsaFindLocalMCN(tiRoot_t *tiRoot, tdsaPortContext_t *onePortContext)
osGLOBAL void tdssPrintSASIdentify(agsaSASIdentify_t *id)
Definition: tdmisc.c:2689
osGLOBAL void tdssGetSATAOnlyModeParams(tiRoot_t *tiRoot, bit32 *pMaxTargets)
Definition: tdinit.c:3431
osGLOBAL bit32 tdipFWControlIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:235
osGLOBAL bit32 tdsaPhyProfileIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:2938
void t_MacroCheck(agsaRoot_t *agRoot)
Definition: tdport.c:8025
osGLOBAL void tdssRemoveSASSATAFromSharedcontextByReset(agsaRoot_t *agRoot)
osGLOBAL void print_tdlist_blink(tdList_t *hdr, int flag)
Definition: tdmisc.c:2807
osGLOBAL void tdssGetMaxTargetsParams(tiRoot_t *tiRoot, bit32 *pMaxTargets)
Definition: tdinit.c:3363
osGLOBAL FORCEINLINE bit32 tdsaRotateQnumber(tiRoot_t *tiRoot, tdsaDeviceData_t *oneDeviceData)
Definition: tdport.c:7956
osGLOBAL bit32 tdsaDeviceInfoGetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:2583
osGLOBAL void tdsaQueueConfigInit(tiRoot_t *tiRoot)
Definition: tdinit.c:3293
osGLOBAL bit32 tdsaRegisterIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:2802
osGLOBAL bit32 tdsaIoErrorStatisticGetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:2690
osGLOBAL void tdsaGetPortParams(tiRoot_t *tiRoot)
Definition: tdport.c:3768
osGLOBAL bit32 tdsaVPDGetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
osGLOBAL void tdsaGetGlobalPhyParams(tiRoot_t *tiRoot)
Definition: tdport.c:3407
osGLOBAL bit32 tdsaIoEventStatisticGetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:2746
osGLOBAL void tdssSubAddSATAToSharedcontext(tiRoot_t *tiRoot, tdsaDeviceData_t *oneDeviceData)
osGLOBAL void tdssRemoveAllDevicelistFromPortcontext(tdsaPortContext_t *PortContext_Ins, agsaRoot_t *agRoot)
Definition: tdport.c:6875
osGLOBAL void tdhexdump(const char *ptitle, bit8 *pbuf, int len)
Definition: tdmisc.c:2836
osGLOBAL void tdsaLoLevelGetResource(tiRoot_t *tiRoot, tiLoLevelResource_t *loResource)
Definition: tdinit.c:727
osGLOBAL bit32 tdsaNVMDSetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:2292
osGLOBAL bit32 tdsaSendBISTIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:3301
osGLOBAL void tdsaProcessTimers(tiRoot_t *tiRoot)
Definition: tdtimers.c:252
osGLOBAL void tdssRetrySATAID(tiRoot_t *tiRoot, tdsaDeviceData_t *oneDeviceData)
osGLOBAL bit32 tdsaSendSMPIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:3111
osGLOBAL bit32 tdsaAbortAll(tiRoot_t *tiRoot, agsaRoot_t *agRoot, tdsaDeviceData_t *oneDeviceData)
Definition: tdmisc.c:354
osGLOBAL void tdssRemoveSASSATAFromSharedcontext(agsaRoot_t *agRoot, tdsaPortContext_t *PortContext_Instance)
osGLOBAL void tdsaFreeCardID(tiRoot_t *tiRoot, bit32 CardID)
Definition: tdinit.c:143
osGLOBAL bit32 tdsaRegDumpGetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:2025
osGLOBAL void tdsaGetCardPhyParams(tiRoot_t *tiRoot)
Definition: tdport.c:3123
osGLOBAL bit32 tdsaGetCardIDString(tiRoot_t *tiRoot)
Definition: tdinit.c:168
GLOBAL void tdsaSingleThreadedLeave(tiRoot_t *ptiRoot, bit32 queueId)
Definition: tdmisc.c:2875
osGLOBAL bit32 tdsaGetPhyGeneralStatusIoctl(tiRoot_t *tiRoot, agsaPhyGeneralState_t *PhyData)
Definition: tdioctl.c:2845
osGLOBAL void tdsaGetSwConfigParams(tiRoot_t *tiRoot)
Definition: tdport.c:123
osGLOBAL void ostiGetPhyGeneralStatusRsp(tiRoot_t *tiRoot, agsaSASPhyGeneralStatusPage_t *GenStatus, bit32 phyID)
Definition: tdioctl.c:2897
osGLOBAL void tdsaSharedMemCalculate(tiRoot_t *tiRoot, tiLoLevelResource_t *loResource, tiTdSharedMem_t *tdSharedMem)
Definition: tdinit.c:2472
osGLOBAL void tdsaPortContextReInit(tiRoot_t *tiRoot, tdsaPortContext_t *onePortContext)
Definition: tdinit.c:2811
osGLOBAL void ossaDeregisterDeviceHandleCB(agsaRoot_t *agRoot, agsaContext_t *agContext, agsaDevHandle_t *agDevHandle, bit32 status)
ossaDeregisterDeviceHandleCB
Definition: ossacmnapi.c:6448
osGLOBAL void tdssAddSATAToSharedcontext(tdsaPortContext_t *tdsaPortContext_Instance, agsaRoot_t *agRoot, agsaDevHandle_t *agDevHandle, agsaSATADeviceInfo_t *agSATADeviceInfo, bit32 registered, bit8 phyID)
osGLOBAL bit32 tdsaSendTMFIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, unsigned long resetType)
Definition: tdioctl.c:3383
osGLOBAL void tdsaGetEsglPages(tiRoot_t *tiRoot, tdList_t *EsglListHdr, tiSgl_t *ptiSgl, tiSgl_t *virtSgl)
osGLOBAL void print_tdlist_flink(tdList_t *hdr, int type, int flag)
Definition: tdmisc.c:2733
osGLOBAL void tdsaPrintHwConfig(agsaHwConfig_t *HwConfig)
Definition: tdmisc.c:2672
osGLOBAL void tdsaAddTimer(tiRoot_t *tiRoot, tdList_t *timerListHdr, tdsaTimerRequest_t *timerRequest)
Definition: tdtimers.c:202
osGLOBAL bit32 tdsaGpioSetup(tiRoot_t *tiRoot, agsaContext_t *agContext, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2)
osGLOBAL void tdsaGetHwConfigParams(tiRoot_t *tiRoot)
Definition: tdport.c:2588
GLOBAL void tdsaSingleThreadedEnter(tiRoot_t *ptiRoot, bit32 queueId)
Definition: tdmisc.c:2862
osGLOBAL bit32 tdsaVPDSetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
osGLOBAL void ossaDeviceRegistrationCB(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 status, agsaDevHandle_t *agDevHandle, bit32 deviceID)
ossaDeviceRegistrationCB
Definition: ossacmnapi.c:6021
osGLOBAL void tdsaParseLinkRateMode(tiRoot_t *tiRoot, bit32 index, bit32 LinkRateRead, bit32 ModeRead, bit32 OpticalModeRead, bit32 LinkRate, bit32 Mode, bit32 OpticalMode)
Definition: tdport.c:2450
osGLOBAL void tdsaDeviceDataReInit(tiRoot_t *tiRoot, tdsaDeviceData_t *oneDeviceData)
Definition: tdinit.c:3071
osGLOBAL void tdssAddSASToSharedcontext(tdsaPortContext_t *tdsaPortContext_Instance, agsaRoot_t *agRoot, agsaDevHandle_t *agDevHandle, tdsaSASSubID_t *agSASSubID, bit32 registered, bit8 phyID, bit32 flag)
Definition: tdport.c:6487
osGLOBAL void tdsaEsglInit(tiRoot_t *tiRoot)
osGLOBAL void ostiSgpioIoctlRsp(tiRoot_t *tiRoot, agsaSGpioReqResponse_t *pSgpioResponse)
Definition: tdioctl.c:1418
osGLOBAL void tdsaKillTimer(tiRoot_t *tiRoot, tdsaTimerRequest_t *timerRequest)
Definition: tdtimers.c:228
osGLOBAL void ostiGetGpioIOCTLRsp(tiRoot_t *tiRoot, bit32 status, bit32 gpioReadValue, agsaGpioPinSetupInfo_t *gpioPinSetupInfo, agsaGpioEventSetupInfo_t *gpioEventSetupInfo)
Definition: tdioctl.c:1207
osGLOBAL bit32 tdssSASFindDiscoveringExpander(tiRoot_t *tiRoot, tdsaPortContext_t *onePortContext, tdsaExpander_t *oneExpander)
osGLOBAL void tdsaGetEsglPagesInfo(tiRoot_t *tiRoot, bit32 *PageSize, bit32 *NumPages)
osGLOBAL void ostiCOMMgntVPDSetIOCTLRsp(tiRoot_t *tiRoot, bit32 status)
Definition: tdioctl.c:2244
osGLOBAL bit32 tdsaSGpioIoctlSetup(tiRoot_t *tiRoot, agsaContext_t *agContext, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2)
Definition: tdioctl.c:1332
osGLOBAL void tdsaPrintSwConfig(agsaSwConfig_t *SwConfig)
Definition: tdmisc.c:2652
osGLOBAL void tdssInitSASPortStartInfo(tiRoot_t *tiRoot)
Definition: tdinit.c:2567
osGLOBAL void tdsaFreeEsglPages(tiRoot_t *tiRoot, tdList_t *EsglListHdr)
osGLOBAL void tdsaDeviceDataInit(tiRoot_t *tiRoot)
Definition: tdinit.c:2928
osGLOBAL void tdsaResetComMemFlags(tiRoot_t *tiRoot)
Definition: tdinit.c:2536
osGLOBAL void tdsaPortContextInit(tiRoot_t *tiRoot)
Definition: tdinit.c:2708
osGLOBAL void tdsaJumpTableInit(tiRoot_t *tiRoot)
Definition: tdinit.c:2657
osGLOBAL void tdsaInitTimers(tiRoot_t *tiRoot)
Definition: tdinit.c:2623
osGLOBAL bit32 tdsaNVMDGetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:2415
osGLOBAL bit32 tdsaForensicDataGetIoctl(tiRoot_t *tiRoot, tiIOCTLPayload_t *agIOCTLPayload, void *agParam1, void *agParam2, void *agParam3)
Definition: tdioctl.c:3036
osGLOBAL void tdsaSetTimerRequest(tiRoot_t *tiRoot, tdsaTimerRequest_t *timerRequest, bit32 timeout, tdsaTimerCBFunc_t CBFunc, void *timerData1, void *timerData2, void *timerData3)
Definition: tdtimers.c:170
osGLOBAL void tdsaDeregisterDevicesInPort(tiRoot_t *tiRoot, tdsaPortContext_t *onePortContext)
Definition: tdmisc.c:2604
void(* tdsaTimerCBFunc_t)(tiRoot_t *tiRoot, void *timerData1, void *timerData2, void *timerData3)
Definition: tdtypes.h:116
tiIntrEventType_t
Definition: tidefs.h:456
osGLOBAL ttdsaXchg_t * ttdsaXchgGetStruct(agsaRoot_t *agRoot)
Definition: ttdinit.c:758
osGLOBAL void ttdssGetTargetParams(tiRoot_t *tiRoot)
Definition: ttdinit.c:459
osGLOBAL void ttdssGetResource(tiRoot_t *tiRoot, tiTargetResource_t *targetResource)
Definition: ttdinit.c:307
osGLOBAL bit32 ttdssInit(tiRoot_t *tiRoot, tiTargetResource_t *targetResource, tiTdSharedMem_t *tdSharedMem)
Definition: ttdinit.c:73
osGLOBAL agBOOLEAN ttdsaXchgInit(tiRoot_t *tiRoot, ttdsaXchgData_t *ttdsaXchgData, tiTargetMem_t *tgtMem, bit32 maxNumXchgs)
Definition: ttdinit.c:468
osGLOBAL void ttdsaXchgFreeStruct(tiRoot_t *tiRoot, ttdsaXchg_t *ttdsaXchg)
Definition: ttdinit.c:687
osGLOBAL void ttdsaDumpallXchg(tiRoot_t *tiRoot)
Definition: ttdinit.c:810
osGLOBAL void ttdssGetOperatingOptionParams(tiRoot_t *tiRoot, ttdssOperatingOption_t *OperatingOption)
Definition: ttdinit.c:170
osGLOBAL void ttdsaXchgLinkInit(tiRoot_t *tiRoot, ttdsaXchg_t *ttdsaXchg)
Definition: ttdinit.c:616
osGLOBAL void ttdsaTMProcess(tiRoot_t *tiRoot, ttdsaXchg_t *ttdsaXchg)
Definition: ttdio.c:1459
osGLOBAL void ttdsaSSPReqReceived(agsaRoot_t *agRoot, agsaDevHandle_t *agDevHandle, agsaFrameHandle_t agFrameHandle, bit32 agInitiatorTag, bit32 parameter, bit32 agFrameLen)
Definition: ttdio.c:133
osGLOBAL void ttdssIOAbortedHandler(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo)
Definition: ttdio.c:2369
osGLOBAL bit32 ttdssIOPrepareSGL(tiRoot_t *tiRoot, tdIORequestBody_t *tdIORequestBody, tiSgl_t *tiSgl1, tiSgl_t *tiSgl2, void *sglVirtualAddr)
Definition: ttdio.c:703
osGLOBAL void tdsaProcessCDB(agsaSSPCmdInfoUnit_t *cmdIU, ttdsaXchg_t *ttdsaXchg)
Definition: ttdio.c:324
osGLOBAL void ttdsaIOCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, bit32 agOtherInfo)
Definition: ttdio.c:826
osGLOBAL bit32 ttdsaSendResp(agsaRoot_t *agRoot, ttdsaXchg_t *ttdsaXchg)
Definition: ttdio.c:748
osGLOBAL void ttdsaSMPReqReceived(agsaRoot_t *agRoot, agsaDevHandle_t *agDevHandle, agsaSMPFrameHeader_t *agFrameHeader, agsaFrameHandle_t agFrameHandle, bit32 agFrameLength, bit32 phyId)
Definition: ttdsmp.c:367
osGLOBAL void ttdsaSMPCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
Definition: ttdsmp.c:69