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 /******************************************************************************** 26 * dmapi.h 27 * 28 * Abstract: This module contains function prototype of the Discovery 29 * Module (DM) API for initiator. 30 *******************************************************************************/ 31 32 #ifndef DMAPI_H 33 #define DMAPI_H 34 35 #include <dev/pms/RefTisa/discovery/api/dm.h> 36 #include <dev/pms/RefTisa/sallsdk/api/sa.h> 37 38 osGLOBAL bit32 dmCreatePort( 39 dmRoot_t *dmRoot, 40 dmPortContext_t *dmPortContext, 41 dmPortInfo_t *dmPortInfo); 42 43 osGLOBAL bit32 dmDestroyPort( 44 dmRoot_t *dmRoot, 45 dmPortContext_t *dmPortContext, 46 dmPortInfo_t *dmPortInfo); 47 48 osGLOBAL bit32 dmRegisterDevice( 49 dmRoot_t *dmRoot, 50 dmPortContext_t *dmPortContext, 51 dmDeviceInfo_t *dmDeviceInfo, 52 agsaDevHandle_t *agDevHandle); 53 54 osGLOBAL bit32 dmDiscover( 55 dmRoot_t *dmRoot, 56 dmPortContext_t *dmPortContext, 57 bit32 option); 58 59 osGLOBAL void dmGetRequirements( 60 dmRoot_t *dmRoot, 61 dmSwConfig_t *swConfig, 62 dmMemoryRequirement_t *memoryRequirement, 63 bit32 *usecsPerTick, 64 bit32 *maxNumLocks); 65 66 osGLOBAL void dmNotifyBC( 67 dmRoot_t *dmRoot, 68 dmPortContext_t *dmPortContext, 69 bit32 type); 70 71 osGLOBAL bit32 dmQueryDiscovery( 72 dmRoot_t *dmRoot, 73 dmPortContext_t *dmPortContext); 74 75 osGLOBAL bit32 76 dmResetFailedDiscovery( 77 dmRoot_t *dmRoot, 78 dmPortContext_t *dmPortContext); 79 80 osGLOBAL bit32 dmInitialize( 81 dmRoot_t *dmRoot, 82 agsaRoot_t *agRoot, 83 dmMemoryRequirement_t *memoryAllocated, 84 dmSwConfig_t *swConfig, 85 bit32 usecsPerTick ); 86 87 osGLOBAL void dmTimerTick ( dmRoot_t *dmRoot ); 88 89 #endif /* DMAPI_H */ 90