1285242Sachim/******************************************************************************* 2285242Sachim*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved. 3285242Sachim* 4285242Sachim*Redistribution and use in source and binary forms, with or without modification, are permitted provided 5285242Sachim*that the following conditions are met: 6285242Sachim*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the 7285242Sachim*following disclaimer. 8285242Sachim*2. Redistributions in binary form must reproduce the above copyright notice, 9285242Sachim*this list of conditions and the following disclaimer in the documentation and/or other materials provided 10285242Sachim*with the distribution. 11285242Sachim* 12285242Sachim*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 13285242Sachim*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 14285242Sachim*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 15285242Sachim*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 16285242Sachim*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 17285242Sachim*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 18285242Sachim*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 19285242Sachim*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 20285242Sachim* 21285242Sachim* $FreeBSD: releng/11.0/sys/dev/pms/RefTisa/discovery/api/tddmapi.h 285242 2015-07-07 13:17:02Z achim $ 22285242Sachim* 23285242Sachim********************************************************************************/ 24285242Sachim/******************************************************************************** 25285242Sachim* tmdmapi.h 26285242Sachim* 27285242Sachim* Abstract: This module contains function prototype of the Discovery 28285242Sachim* Module (DM) API callback for initiator. 29285242Sachim*******************************************************************************/ 30285242Sachim 31285242Sachim#ifndef TDDMAPI_H 32285242Sachim 33285242Sachim#define TDDMAPI_H 34285242Sachim 35285242SachimosGLOBAL void tddmCacheFlush( 36285242Sachim dmRoot_t *dmRoot, 37285242Sachim void *tdMemHandle, 38285242Sachim void *virtPtr, 39285242Sachim bit32 length 40285242Sachim ); 41285242Sachim 42285242SachimosGLOBAL void tddmCacheInvalidate( 43285242Sachim dmRoot_t *dmRoot, 44285242Sachim void *tdMemHandle, 45285242Sachim void *virtPtr, 46285242Sachim bit32 length 47285242Sachim ); 48285242Sachim 49285242SachimosGLOBAL void tddmCachePreFlush( 50285242Sachim dmRoot_t *dmRoot, 51285242Sachim void *tdMemHandle, 52285242Sachim void *virtPtr, 53285242Sachim bit32 length 54285242Sachim ); 55285242Sachim 56285242SachimosGLOBAL void tddmDiscoverCB( 57285242Sachim dmRoot_t *dmRoot, 58285242Sachim dmPortContext_t *dmPortContext, 59285242Sachim bit32 eventStatus 60285242Sachim ); 61285242Sachim 62285242SachimosGLOBAL void tddmQueryDiscoveryCB( 63285242Sachim dmRoot_t *dmRoot, 64285242Sachim dmPortContext_t *dmPortContext, 65285242Sachim bit32 discType, 66285242Sachim bit32 discState 67285242Sachim ); 68285242Sachim 69285242SachimosGLOBAL void tddmReportDevice( 70285242Sachim dmRoot_t *dmRoot, 71285242Sachim dmPortContext_t *dmPortContext, 72285242Sachim dmDeviceInfo_t *dmDeviceInfo, 73285242Sachim dmDeviceInfo_t *dmExpDeviceInfo, 74285242Sachim bit32 flag 75285242Sachim ); 76285242Sachim 77285242SachimosGLOBAL bit8 tddmSATADeviceTypeDecode(bit8 * pSignature); 78285242Sachim 79285242SachimosGLOBAL void tddmSingleThreadedEnter( 80285242Sachim dmRoot_t *dmRoot, 81285242Sachim bit32 syncLockId 82285242Sachim ); 83285242Sachim 84285242SachimosGLOBAL void tddmSingleThreadedLeave( 85285242Sachim dmRoot_t *dmRoot, 86285242Sachim bit32 syncLockId 87285242Sachim ); 88285242SachimosGLOBAL bit32 tddmGetTransportParam( 89285242Sachim dmRoot_t *dmRoot, 90285242Sachim char *key, 91285242Sachim char *subkey1, 92285242Sachim char *subkey2, 93285242Sachim char *subkey3, 94285242Sachim char *subkey4, 95285242Sachim char *subkey5, 96285242Sachim char *valueName, 97285242Sachim char *buffer, 98285242Sachim bit32 bufferLen, 99285242Sachim bit32 *lenReceived 100285242Sachim ); 101285242SachimosGLOBAL bit32 102285242SachimtddmRotateQnumber( 103285242Sachim dmRoot_t *dmRoot, 104285242Sachim agsaDevHandle_t *agDevHandle 105285242Sachim ); 106285242Sachim#ifndef tddmLogDebugString 107285242SachimGLOBAL void tddmLogDebugString( 108285242Sachim dmRoot_t *dmRoot, 109285242Sachim bit32 level, 110285242Sachim char *string, 111285242Sachim void *ptr1, 112285242Sachim void *ptr2, 113285242Sachim bit32 value1, 114285242Sachim bit32 value2 115285242Sachim ); 116285242Sachim#endif 117285242Sachim 118285242Sachim 119285242Sachim#endif /* TDDMAPI_H */ 120