1*4e1bc9a0SAchim Leubner /******************************************************************************* 2*4e1bc9a0SAchim Leubner ** 3*4e1bc9a0SAchim Leubner *Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved. 4*4e1bc9a0SAchim Leubner * 5*4e1bc9a0SAchim Leubner *Redistribution and use in source and binary forms, with or without modification, are permitted provided 6*4e1bc9a0SAchim Leubner *that the following conditions are met: 7*4e1bc9a0SAchim Leubner *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the 8*4e1bc9a0SAchim Leubner *following disclaimer. 9*4e1bc9a0SAchim Leubner *2. Redistributions in binary form must reproduce the above copyright notice, 10*4e1bc9a0SAchim Leubner *this list of conditions and the following disclaimer in the documentation and/or other materials provided 11*4e1bc9a0SAchim Leubner *with the distribution. 12*4e1bc9a0SAchim Leubner * 13*4e1bc9a0SAchim Leubner *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 14*4e1bc9a0SAchim Leubner *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 15*4e1bc9a0SAchim Leubner *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 16*4e1bc9a0SAchim Leubner *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 17*4e1bc9a0SAchim Leubner *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 18*4e1bc9a0SAchim Leubner *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 19*4e1bc9a0SAchim Leubner *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 20*4e1bc9a0SAchim Leubner *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 21*4e1bc9a0SAchim Leubner ** 22*4e1bc9a0SAchim Leubner * 23*4e1bc9a0SAchim Leubner ********************************************************************************/ 24*4e1bc9a0SAchim Leubner /******************************************************************************** 25*4e1bc9a0SAchim Leubner * dmapi.h 26*4e1bc9a0SAchim Leubner * 27*4e1bc9a0SAchim Leubner * Abstract: This module contains function prototype of the Discovery 28*4e1bc9a0SAchim Leubner * Module (DM) API for initiator. 29*4e1bc9a0SAchim Leubner *******************************************************************************/ 30*4e1bc9a0SAchim Leubner 31*4e1bc9a0SAchim Leubner #ifndef DMAPI_H 32*4e1bc9a0SAchim Leubner #define DMAPI_H 33*4e1bc9a0SAchim Leubner 34*4e1bc9a0SAchim Leubner #include <dev/pms/RefTisa/discovery/api/dm.h> 35*4e1bc9a0SAchim Leubner #include <dev/pms/RefTisa/sallsdk/api/sa.h> 36*4e1bc9a0SAchim Leubner 37*4e1bc9a0SAchim Leubner osGLOBAL bit32 dmCreatePort( 38*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 39*4e1bc9a0SAchim Leubner dmPortContext_t *dmPortContext, 40*4e1bc9a0SAchim Leubner dmPortInfo_t *dmPortInfo); 41*4e1bc9a0SAchim Leubner 42*4e1bc9a0SAchim Leubner osGLOBAL bit32 dmDestroyPort( 43*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 44*4e1bc9a0SAchim Leubner dmPortContext_t *dmPortContext, 45*4e1bc9a0SAchim Leubner dmPortInfo_t *dmPortInfo); 46*4e1bc9a0SAchim Leubner 47*4e1bc9a0SAchim Leubner osGLOBAL bit32 dmRegisterDevice( 48*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 49*4e1bc9a0SAchim Leubner dmPortContext_t *dmPortContext, 50*4e1bc9a0SAchim Leubner dmDeviceInfo_t *dmDeviceInfo, 51*4e1bc9a0SAchim Leubner agsaDevHandle_t *agDevHandle); 52*4e1bc9a0SAchim Leubner 53*4e1bc9a0SAchim Leubner osGLOBAL bit32 dmDiscover( 54*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 55*4e1bc9a0SAchim Leubner dmPortContext_t *dmPortContext, 56*4e1bc9a0SAchim Leubner bit32 option); 57*4e1bc9a0SAchim Leubner 58*4e1bc9a0SAchim Leubner osGLOBAL void dmGetRequirements( 59*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 60*4e1bc9a0SAchim Leubner dmSwConfig_t *swConfig, 61*4e1bc9a0SAchim Leubner dmMemoryRequirement_t *memoryRequirement, 62*4e1bc9a0SAchim Leubner bit32 *usecsPerTick, 63*4e1bc9a0SAchim Leubner bit32 *maxNumLocks); 64*4e1bc9a0SAchim Leubner 65*4e1bc9a0SAchim Leubner osGLOBAL void dmNotifyBC( 66*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 67*4e1bc9a0SAchim Leubner dmPortContext_t *dmPortContext, 68*4e1bc9a0SAchim Leubner bit32 type); 69*4e1bc9a0SAchim Leubner 70*4e1bc9a0SAchim Leubner osGLOBAL bit32 dmQueryDiscovery( 71*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 72*4e1bc9a0SAchim Leubner dmPortContext_t *dmPortContext); 73*4e1bc9a0SAchim Leubner 74*4e1bc9a0SAchim Leubner osGLOBAL bit32 75*4e1bc9a0SAchim Leubner dmResetFailedDiscovery( 76*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 77*4e1bc9a0SAchim Leubner dmPortContext_t *dmPortContext); 78*4e1bc9a0SAchim Leubner 79*4e1bc9a0SAchim Leubner osGLOBAL bit32 dmInitialize( 80*4e1bc9a0SAchim Leubner dmRoot_t *dmRoot, 81*4e1bc9a0SAchim Leubner agsaRoot_t *agRoot, 82*4e1bc9a0SAchim Leubner dmMemoryRequirement_t *memoryAllocated, 83*4e1bc9a0SAchim Leubner dmSwConfig_t *swConfig, 84*4e1bc9a0SAchim Leubner bit32 usecsPerTick ); 85*4e1bc9a0SAchim Leubner 86*4e1bc9a0SAchim Leubner osGLOBAL void dmTimerTick ( dmRoot_t *dmRoot ); 87*4e1bc9a0SAchim Leubner 88*4e1bc9a0SAchim Leubner #endif /* DMAPI_H */ 89