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 38osGLOBAL bit32 dmCreatePort( 39 dmRoot_t *dmRoot, 40 dmPortContext_t *dmPortContext, 41 dmPortInfo_t *dmPortInfo); 42 43osGLOBAL bit32 dmDestroyPort( 44 dmRoot_t *dmRoot, 45 dmPortContext_t *dmPortContext, 46 dmPortInfo_t *dmPortInfo); 47 48osGLOBAL bit32 dmRegisterDevice( 49 dmRoot_t *dmRoot, 50 dmPortContext_t *dmPortContext, 51 dmDeviceInfo_t *dmDeviceInfo, 52 agsaDevHandle_t *agDevHandle); 53 54osGLOBAL bit32 dmDiscover( 55 dmRoot_t *dmRoot, 56 dmPortContext_t *dmPortContext, 57 bit32 option); 58 59osGLOBAL void dmGetRequirements( 60 dmRoot_t *dmRoot, 61 dmSwConfig_t *swConfig, 62 dmMemoryRequirement_t *memoryRequirement, 63 bit32 *usecsPerTick, 64 bit32 *maxNumLocks); 65 66osGLOBAL void dmNotifyBC( 67 dmRoot_t *dmRoot, 68 dmPortContext_t *dmPortContext, 69 bit32 type); 70 71osGLOBAL bit32 dmQueryDiscovery( 72 dmRoot_t *dmRoot, 73 dmPortContext_t *dmPortContext); 74 75osGLOBAL bit32 76dmResetFailedDiscovery( 77 dmRoot_t *dmRoot, 78 dmPortContext_t *dmPortContext); 79 80osGLOBAL bit32 dmInitialize( 81 dmRoot_t *dmRoot, 82 agsaRoot_t *agRoot, 83 dmMemoryRequirement_t *memoryAllocated, 84 dmSwConfig_t *swConfig, 85 bit32 usecsPerTick ); 86 87osGLOBAL void dmTimerTick ( dmRoot_t *dmRoot ); 88 89#endif /* DMAPI_H */ 90