Lines Matching refs:discovery

36 #include <dev/pms/RefTisa/discovery/api/dm.h>
37 #include <dev/pms/RefTisa/discovery/api/dmapi.h>
38 #include <dev/pms/RefTisa/discovery/api/tddmapi.h>
40 #include <dev/pms/RefTisa/discovery/dm/dmdefs.h>
41 #include <dev/pms/RefTisa/discovery/dm/dmtypes.h>
42 #include <dev/pms/RefTisa/discovery/dm/dmproto.h>
48 * Purpose: A discovery is started by this function
94 onePortContext->discovery.type = DM_DISCOVERY_OPTION_FULL_START;
100 onePortContext->discovery.type = DM_DISCOVERY_OPTION_INCREMENTAL_START;
108 if (onePortContext->discovery.pendingSMP == 0)
130 DM_DBG3(("dmDiscover: no discovery to abort\n"));
165 DM_DBG1(("dmFullDiscover: no two instances of discovery allowed!!!\n"));
174 /* check OnePortContext->discovery.discoveringExpanderList */
232 DM_DBG1(("dmIncrementalDiscover: no two instances of discovery allowed!!!\n"));
238 onePortContext->discovery.type = DM_DISCOVERY_OPTION_INCREMENTAL_START;
243 /* check OnePortContext->discovery.discoveringExpanderList */
306 onePortContext->discovery.status = DISCOVERY_UP_STREAM;
321 #if 1 /* for incremental discovery */
373 if (DMLIST_EMPTY(&(onePortContext->discovery.discoveringExpanderList)))
381 DMLIST_DEQUEUE_FROM_HEAD(&ExpanderList, &(onePortContext->discovery.discoveringExpanderList));
385 DMLIST_ENQUEUE_AT_HEAD(&(oneNextExpander->linkNode), &(onePortContext->discovery.discoveringExpanderList));
424 DM_DBG1(("dmDownStreamDiscoverStart: invalid port or aborted discovery!!!\n"));
428 /* set discovery status */
429 onePortContext->discovery.status = DISCOVERY_DOWN_STREAM;
446 onePortContext->discovery.RootExp = oneExpander;
464 onePortContext->discovery.RootExp = oneExpander;
495 DM_DBG1(("dmDownStreamDiscovering: invalid port or aborted discovery!!!\n"));
500 if (DMLIST_EMPTY(&(onePortContext->discovery.discoveringExpanderList)))
508 DMLIST_DEQUEUE_FROM_HEAD(&ExpanderList, &(onePortContext->discovery.discoveringExpanderList));;
512 DMLIST_ENQUEUE_AT_HEAD(&(NextExpander->linkNode), &(onePortContext->discovery.discoveringExpanderList));;
528 NextExpander, onePortContext->discovery.status));
530 switch (onePortContext->discovery.status)
532 /* If the discovery status is DISCOVERY_DOWN_STREAM */
551 /* If the discovery status is DISCOVERY_CONFIG_ROUTING */
555 /* set discovery status */
556 onePortContext->discovery.status = DISCOVERY_DOWN_STREAM;
558 DM_DBG3(("dmDownStreamDiscovering: pPort->discovery.status=DISCOVERY_CONFIG_ROUTING, make it DOWN_STREAM\n"));
578 DM_DBG3(("dmDownStreamDiscovering: *** Unknown pPort->discovery.status=0x%x\n", onePortContext->discovery.status));
616 DM_DBG1(("dmUpStreamDiscoverExpanderPhy: invalid port or aborted discovery!!!\n"));
676 /* discovery error */
677 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
679 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
681 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
683 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
684 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
685 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
687 /* (2.1.3) discovery done */
705 /* incremental discovery */
732 /* TODO: discovery error, callback */
734 /* call back to notify discovery error */
735 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
737 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
739 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
741 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
742 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
743 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
744 /* discovery done */
780 /* TODO: loop found, discovery error, callback */
782 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
784 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
786 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
788 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
789 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
790 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
791 /* discovery done */
816 /* incremental discovery */
817 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
835 /* incremental discovery */
862 /* incremental discovery */
863 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
881 /* incremental discovery */
977 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
982 /* continue discovery for the next phy */
999 DM_DBG3(("dmUpStreamDiscoverExpanderPhy: onePortContext->discovery.status not in DISCOVERY_UP_STREAM; status %d\n", onePortContext->discovery.status));
1030 DM_DBG1(("dmUpStreamDiscover2ExpanderPhy: invalid port or aborted discovery!!!\n"));
1089 /* discovery error */
1090 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1092 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1094 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1096 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1097 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1098 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1100 /* (2.1.3) discovery done */
1119 /* incremental discovery */
1146 /* TODO: discovery error, callback */
1148 /* call back to notify discovery error */
1149 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1151 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1153 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1155 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1156 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1157 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1158 /* discovery done */
1195 /* TODO: loop found, discovery error, callback */
1197 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1199 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1201 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1203 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1204 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1205 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1206 /* discovery done */
1232 /* incremental discovery */
1233 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
1251 /* incremental discovery */
1278 /* incremental discovery */
1279 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
1297 /* incremental discovery */
1388 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
1393 /* continue discovery for the next phy */
1410 DM_DBG2(("dmUpStreamDiscover2ExpanderPhy: onePortContext->discovery.status not in DISCOVERY_UP_STREAM; status %d\n", onePortContext->discovery.status));
1459 DM_DBG1(("dmDownStreamDiscoverExpanderPhy: invalid port or aborted discovery!!!\n"));
1529 /* incremental discovery */
1547 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1549 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1551 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1553 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1554 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1555 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1577 /* TODO: discovery error, callback */
1579 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1581 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1583 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1585 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1586 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1587 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1589 onePortContext->discovery.DeferredError = agTRUE;
1603 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
1621 /* incremental discovery */
1648 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
1666 /* incremental discovery */
1731 /* TODO: discovery error, callback */
1733 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1735 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1737 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1739 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1740 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1741 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1742 /* discovery done */
1771 /* discovery done */
1777 if ( onePortContext->discovery.status == DISCOVERY_DOWN_STREAM)
1825 } /* onePortContext->discovery.status == DISCOVERY_DOWN_STREAM */
1831 /* discovery done */
1845 /* TODO: discovery error, callback */
1847 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1849 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1851 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1853 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1854 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1855 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1856 /* discovery done */
1866 /* TODO: discovery error, callback */
1868 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1870 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1872 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1874 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1875 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1876 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1877 /* discovery done */
1888 /* (2.3.3.2.1.1) TODO: discovery error, callback */
1890 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1892 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1894 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1896 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1897 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1898 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1899 /* discovery done */
1917 /* TODO: discovery error, callback */
1927 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1929 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1931 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1933 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1934 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1935 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1936 /* discovery done */
1954 /* TODO: discovery error, callback */
1956 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
1958 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
1960 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
1962 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
1963 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
1964 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
1965 /* discovery done */
1972 if ( onePortContext->discovery.status == DISCOVERY_DOWN_STREAM)
2019 } /* onePortContext->discovery.status == DISCOVERY_DOWN_STREAM */
2020 /* incremental discovery */
2021 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_INCREMENTAL_START)
2063 } /* onePortContext->discovery.type == DM_DISCOVERY_OPTION_INCREMENTAL_START */
2122 /* If the discovery status is DISCOVERY_DOWN_STREAM */
2123 if ( onePortContext->discovery.status == DISCOVERY_DOWN_STREAM )
2129 /* continue discovery for the next phy */
2147 DM_DBG3(("dmDownStreamDiscoverExpanderPhy: onePortContext->discovery.status not in DISCOVERY_DOWN_STREAM; status %d\n", onePortContext->discovery.status));
2269 DM_DBG1(("dmDownStreamDiscover2ExpanderPhy: invalid port or aborted discovery!!!\n"));
2340 /* incremental discovery */
2358 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2360 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2362 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2365 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
2366 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
2367 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
2387 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2389 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2391 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2393 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
2394 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
2395 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
2396 /* discovery done */
2412 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
2430 /* incremental discovery */
2457 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
2475 /* incremental discovery */
2540 /* TODO: discovery error, callback */
2542 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2544 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2546 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2548 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
2549 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
2550 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
2551 /* discovery done */
2583 /* discovery done */
2619 /* discovery done */
2626 if ( onePortContext->discovery.status == DISCOVERY_DOWN_STREAM &&
2627 onePortContext->discovery.ConfiguresOthers == agFALSE)
2681 /* discovery done */
2695 /* TODO: discovery error, callback */
2697 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2699 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2701 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2703 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
2704 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
2705 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
2706 /* discovery done */
2718 /* TODO: discovery error, callback */
2720 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2722 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2724 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2725 onePortContext->discovery.DeferredError = agTRUE;
2736 /* (2.3.3.2.1.1) TODO: discovery error, callback */
2738 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2740 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2742 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2744 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
2745 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
2746 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
2747 /* discovery done */
2781 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2783 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2785 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2787 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
2788 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
2789 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
2790 /* discovery done */
2798 onePortContext->discovery.DeferredError = agFALSE;
2803 /* TODO: discovery error, callback */
2805 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2807 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2809 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2811 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
2812 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
2813 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
2814 /* discovery done */
2838 onePortContext->discovery.DeferredError = agFALSE;
2842 /* TODO: discovery error, callback */
2844 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo
2846 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi
2848 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier = oneExpander->discoveringPhyId;
2850 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressHi,
2851 onePortContext->discovery.sasAddressIDDiscoverError.sasAddressLo,
2852 onePortContext->discovery.sasAddressIDDiscoverError.phyIdentifier));
2853 /* discovery done */
2862 if ( onePortContext->discovery.status == DISCOVERY_DOWN_STREAM &&
2863 onePortContext->discovery.ConfiguresOthers == agFALSE)
2911 } /* if (onePortContext->discovery.status == DISCOVERY_DOWN_STREAM) */
2912 /* incremental discovery */
2913 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_INCREMENTAL_START)
2966 if (onePortContext->discovery.ConfiguresOthers == agFALSE)
3002 /* If the discovery status is DISCOVERY_DOWN_STREAM */
3003 if ( onePortContext->discovery.status == DISCOVERY_DOWN_STREAM )
3009 /* continue discovery for the next phy */
3036 DM_DBG2(("dmDownStreamDiscover2ExpanderPhy: onePortContext->discovery.status not in DISCOVERY_DOWN_STREAM; status %d\n", onePortContext->discovery.status));
3058 if (DMLIST_EMPTY(&(tmpOnePortContext->discovery.discoveringExpanderList)))
3067 ExpanderList = tmpOnePortContext->discovery.discoveringExpanderList.flink;
3068 while (ExpanderList != &(tmpOnePortContext->discovery.discoveringExpanderList))
3086 ExpanderList = tmpOnePortContext->discovery.discoveringExpanderList.flink;
3088 if (DMLIST_EMPTY(&(tmpOnePortContext->discovery.discoveringExpanderList)))
3121 DM_DBG1(("dmHandleZoneViolation: invalid port or aborted discovery!!!\n"));
3128 if ( onePortContext->discovery.status == DISCOVERY_UP_STREAM)
3158 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
3163 /* continue discovery for the next phy */
3180 DM_DBG3(("dmUpStreamDiscoverExpanderPhySkip: onePortContext->discovery.status not in DISCOVERY_UP_STREAM; status %d\n", onePortContext->discovery.status));
3203 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
3208 /* continue discovery for the next phy */
3225 DM_DBG2(("dmUpStreamDiscover2ExpanderPhySkip: onePortContext->discovery.status not in DISCOVERY_UP_STREAM; status %d\n", onePortContext->discovery.status));
3251 /* If the discovery status is DISCOVERY_DOWN_STREAM */
3252 if ( onePortContext->discovery.status == DISCOVERY_DOWN_STREAM )
3258 /* continue discovery for the next phy */
3276 DM_DBG3(("dmDownStreamDiscoverExpanderPhySkip: onePortContext->discovery.status not in DISCOVERY_DOWN_STREAM; status %d\n", onePortContext->discovery.status));
3299 /* If the discovery status is DISCOVERY_DOWN_STREAM */
3300 if ( onePortContext->discovery.status == DISCOVERY_DOWN_STREAM )
3306 /* continue discovery for the next phy */
3324 DM_DBG2(("dmDownStreamDiscover2ExpanderPhySkip: onePortContext->discovery.status not in DISCOVERY_DOWN_STREAM; status %d\n", onePortContext->discovery.status));
3425 if incremental discovery,
3448 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
3667 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
3672 if (onePortContext->discovery.status == DISCOVERY_DOWN_STREAM)
3726 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
3728 DM_DBG3(("dmPortSASDeviceFind: Full discovery\n"));
3755 /* incremental discovery */
3756 DM_DBG3(("dmPortSASDeviceFind: Incremental discovery\n"));
3804 ExpanderList = onePortContext->discovery.discoveringExpanderList.flink;
3805 while (ExpanderList != &(onePortContext->discovery.discoveringExpanderList))
3951 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
3955 if (onePortContext->discovery.status == DISCOVERY_DOWN_STREAM)
3960 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
4079 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
4083 if (onePortContext->discovery.status == DISCOVERY_DOWN_STREAM)
4088 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
4252 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
4254 DM_DBG3(("dmFindRegNValid: Full discovery\n"));
4280 /* incremental discovery */
4281 DM_DBG3(("dmFindRegNValid: Incremental discovery\n"));
4348 onePortContext->discovery.SeenBC = agFALSE;
4353 onePortContext->discovery.SeenBC = agTRUE;
4374 /* triggers incremental discovery */
4392 DM_DBG3(("dmNotifyBC: BROADCAST_CHANGE; does incremental discovery\n"));
4396 onePortContext->discovery.SeenBC = agFALSE;
4397 if (onePortContext->discovery.ResetTriggerred == agTRUE)
4414 onePortContext->discovery.SeenBC = agTRUE;
4456 DM_DBG1(("dmResetFailedDiscovery: discovery is NOT DM_DSTATE_COMPLETED_WITH_FAILURE. It is 0x%x\n", onePortContext->DiscoveryState));
4544 from discovery
4604 /* before the discovery is started */
4618 /* remember that the registration failed so that a discovery can't be started */
4626 the discovery has started. Alloc and add have been done.
4745 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
4749 else if (onePortContext->discovery.status == DISCOVERY_DOWN_STREAM)
4755 DM_DBG3(("dmDiscoveringExpanderAdd: status %d\n", onePortContext->discovery.status));
4764 DMLIST_ENQUEUE_AT_TAIL(&(oneExpander->linkNode), &(onePortContext->discovery.discoveringExpanderList));
4793 if (DMLIST_EMPTY(&(tmpOnePortContext->discovery.discoveringExpanderList)))
4942 if (DMLIST_EMPTY(&(tmpOnePortContext->discovery.discoveringExpanderList)))
4947 ExpanderList = tmpOnePortContext->discovery.discoveringExpanderList.flink;
4948 while (ExpanderList != &(tmpOnePortContext->discovery.discoveringExpanderList))
5007 if (onePortContext->discovery.status == DISCOVERY_UP_STREAM)
5011 DMLIST_ENQUEUE_AT_TAIL(&(oneExpander->upNode), &(onePortContext->discovery.UpdiscoveringExpanderList));
5013 onePortContext->discovery.NumOfUpExp++;
5017 DM_DBG3(("dmDiscoveringExpanderRemove: Status %d\n", onePortContext->discovery.status));
5118 if (DMLIST_EMPTY(&(tmpOnePortContext->discovery.discoveringExpanderList)))
5128 ExpanderList = tmpOnePortContext->discovery.discoveringExpanderList.flink;
5129 while (ExpanderList != &(tmpOnePortContext->discovery.discoveringExpanderList))
5172 onePortContext->discovery.status == DISCOVERY_SAS_DONE
5175 DM_DBG1(("dmDiscoverCheck: aborted discovery!!!\n"));
5199 onePortContext->discovery.status == DISCOVERY_SAS_DONE)
5201 DM_DBG1(("dmDiscoverAbort: not allowed case!!! onePortContext->DiscoveryState 0x%x onePortContext->discovery.status 0x%x\n",
5202 onePortContext->DiscoveryState, onePortContext->discovery.status));
5207 onePortContext->discovery.status = DISCOVERY_SAS_DONE;
5240 if (!DMLIST_EMPTY(&(tmpOnePortContext->discovery.discoveringExpanderList)))
5242 ExpanderList = tmpOnePortContext->discovery.discoveringExpanderList.flink;
5243 while (ExpanderList != &(tmpOnePortContext->discovery.discoveringExpanderList))
5269 if (DMLIST_EMPTY(&(tmpOnePortContext->discovery.discoveringExpanderList)))
5278 ExpanderList = tmpOnePortContext->discovery.discoveringExpanderList.flink;
5293 DMLIST_INIT_HDR(&(tmpOnePortContext->discovery.discoveringExpanderList));
5297 if (DMLIST_EMPTY(&(tmpOnePortContext->discovery.UpdiscoveringExpanderList)))
5302 ExpanderList = tmpOnePortContext->discovery.UpdiscoveringExpanderList.flink;
5303 while (ExpanderList != &(tmpOnePortContext->discovery.UpdiscoveringExpanderList))
5326 if (DMLIST_EMPTY(&(tmpOnePortContext->discovery.UpdiscoveringExpanderList)))
5335 ExpanderList = tmpOnePortContext->discovery.UpdiscoveringExpanderList.flink;
5345 DMLIST_INIT_HDR(&(tmpOnePortContext->discovery.UpdiscoveringExpanderList));
5396 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_INCREMENTAL_START)
5398 DM_DBG3(("dmInternalRemovals: incremental discovery\n"));
5403 DM_DBG3(("dmInternalRemovals: full discovery\n"));
5482 /* Set discovery status */
5483 onePortContext->discovery.status = DISCOVERY_SAS_DONE;
5495 if (onePortContext->discovery.SeenBC == agTRUE)
5503 onePortContext->discovery.SeenBC = agFALSE;
5504 if (onePortContext->discovery.ResetTriggerred == agTRUE)
5519 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_FULL_START)
5540 else if (flag != DM_RC_SUCCESS || onePortContext->discovery.DeferredError == agTRUE)
5572 else if (flag != DM_RC_SUCCESS || onePortContext->discovery.DeferredError == agTRUE)
5590 /* called by dmDiscoveryErrorRemovals() or dmReportRemovals() on discovery failure */
5621 /* this function is called at the end of discovery; reinitalizes oneDeviceData->reported */
5627 /* called by dmReportChanges() on discovery success */
5664 /* this function is called at the end of discovery; reinitalizes oneDeviceData->reported */
5804 if (onePortContext->discovery.forcedOK == agTRUE && added == agFALSE && removed == agFALSE)
5807 onePortContext->discovery.forcedOK = agFALSE;
6558 /* incremental discovery */
6560 when incremental discovery is done */
6570 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_INCREMENTAL_START)
6572 DM_DBG3(("dmAddSASToSharedcontext: incremental discovery\n"));
6579 DM_DBG3(("dmAddSASToSharedcontext: full discovery\n"));
6637 if (onePortContext->discovery.type == DM_DISCOVERY_OPTION_INCREMENTAL_START)
6639 DM_DBG3(("dmAddSASToSharedcontext: incremental discovery\n"));
6646 DM_DBG3(("dmAddSASToSharedcontext: full discovery\n"));
6722 dmDiscovery_t *discovery;
6726 discovery = &(onePortContext->discovery);
6729 if (discovery->BCTimer.timerRunning == agTRUE)
6734 &discovery->BCTimer
6746 &discovery->BCTimer,
6757 &discovery->BCTimer
6776 dmDiscovery_t *discovery;
6781 discovery = &(onePortContext->discovery);
6784 if (discovery->BCTimer.timerRunning == agTRUE)
6789 &discovery->BCTimer
6797 discovery->ResetTriggerred = agFALSE;
6809 /* discovery related SMP timers */
6819 dmDiscovery_t *discovery;
6825 discovery = &(onePortContext->discovery);
6828 if (discovery->DiscoverySMPTimer.timerRunning == agTRUE)
6833 &discovery->DiscoverySMPTimer
6844 &discovery->DiscoverySMPTimer,
6855 &discovery->DiscoverySMPTimer
6878 dmDiscovery_t *discovery;
6893 discovery = &(onePortContext->discovery);
6909 if (discovery->DiscoverySMPTimer.timerRunning == agTRUE)
6914 &discovery->DiscoverySMPTimer
6930 DM_DBG1(("dmDiscoverySMPTimerCB: failing discovery, SMP function 0x%x !!!\n", SMPFunction));
6934 DM_DBG1(("dmDiscoverySMPTimerCB: failing discovery, SMP function SMP_REPORT_PHY_SATA !!!\n"));
7000 dmDiscovery_t *discovery;
7005 discovery = &(onePortContext->discovery);
7008 if (discovery->SMPBusyTimer.timerRunning == agTRUE)
7013 &discovery->SMPBusyTimer
7023 &discovery->SMPBusyTimer,
7034 &discovery->SMPBusyTimer
7058 dmDiscovery_t *discovery;
7073 discovery = &(onePortContext->discovery);
7075 discovery->SMPRetries++;
7077 if (discovery->SMPRetries < SMP_BUSY_RETRIES)
7092 discovery->SMPRetries = 0;
7094 if (discovery->SMPBusyTimer.timerRunning == agTRUE)
7099 &discovery->SMPBusyTimer
7110 if (discovery->SMPBusyTimer.timerRunning == agTRUE)
7115 &discovery->SMPBusyTimer
7123 discovery->SMPRetries = 0;
7128 if (discovery->SMPRetries >= SMP_BUSY_RETRIES)
7134 if (discovery->SMPBusyTimer.timerRunning == agTRUE)
7139 &discovery->SMPBusyTimer
7147 discovery->SMPRetries = 0;
7171 dmDiscovery_t *discovery;
7176 discovery = &(onePortContext->discovery);
7179 if (discovery->discoveryTimer.timerRunning == agTRUE)
7184 &discovery->discoveryTimer
7197 &discovery->discoveryTimer,
7208 &discovery->discoveryTimer
7225 dmDiscovery_t *discovery = agNULL;
7230 discovery = &(onePortContext->discovery);
7235 if (discovery->discoveryTimer.timerRunning == agTRUE)
7240 &discovery->discoveryTimer
7265 dmDiscovery_t *discovery;
7271 discovery = &(onePortContext->discovery);
7275 DM_DBG3(("dmConfigureRouteTimer: discovery %p \n", discovery));
7277 DM_DBG3(("dmConfigureRouteTimer: pid %d configureRouteRetries %d\n", onePortContext->id, discovery->configureRouteRetries));
7279 DM_DBG3(("dmConfigureRouteTimer: discovery->status %d\n", discovery->status));
7282 if (discovery->configureRouteTimer.timerRunning == agTRUE)
7287 &discovery->configureRouteTimer
7303 &discovery->configureRouteTimer,
7316 &discovery->configureRouteTimer,
7327 &discovery->configureRouteTimer
7348 dmDiscovery_t *discovery;
7363 discovery = &(onePortContext->discovery);
7367 DM_DBG3(("dmConfigureRouteTimerCB: discovery %p\n", discovery));
7369 DM_DBG3(("dmConfigureRouteTimerCB: pid %d configureRouteRetries %d\n", onePortContext->id, discovery->configureRouteRetries));
7371 DM_DBG3(("dmConfigureRouteTimerCB: discovery.status %d\n", discovery->status));
7373 discovery->configureRouteRetries++;
7374 if (discovery->configureRouteRetries >= dmAllShared->MaxRetryDiscovery)
7379 if (discovery->configureRouteTimer.timerRunning == agTRUE)
7384 &discovery->configureRouteTimer
7392 discovery->configureRouteRetries = 0;
7393 /* failed the discovery */
7402 if (onePortContext->discovery.status == DISCOVERY_DOWN_STREAM)
7406 discovery->configureRouteRetries = 0;
7416 &discovery->configureRouteTimer,
7427 &discovery->configureRouteTimer
7434 if (onePortContext->discovery.status == DISCOVERY_DOWN_STREAM)
7447 &discovery->configureRouteTimer,
7458 &discovery->configureRouteTimer