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