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