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