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