lxproto.h revision 285809
1/*******************************************************************************
2*Copyright (c) 2014 PMC-Sierra, Inc.  All rights reserved.
3*
4*Redistribution and use in source and binary forms, with or without modification, are permitted provided
5*that the following conditions are met:
6*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
7*following disclaimer.
8*2. Redistributions in binary form must reproduce the above copyright notice,
9*this list of conditions and the following disclaimer in the documentation and/or other materials provided
10*with the distribution.
11*
12*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
13*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
15*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
17*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20*
21* $FreeBSD$
22*
23*******************************************************************************/
24
25/*******************************************************************************
26Module Name:
27  lxproto.h
28Abstract:
29  PMC-Sierra initiator/target driver common function prototype definition
30Environment:
31  Kernel or loadable module
32Notes:
33
34******************************************************************************/
35
36#ifndef __LX_PROTO_H__
37#define __LX_PROTO_H__
38
39void       agtiapi_DelayMSec(U32);
40void       agtiapi_DelaySec(U32);
41void       agtiapi_DisplayRsc(ag_card_info_t *);
42agBOOLEAN  agtiapi_InitResource(ag_card_info_t *);
43agBOOLEAN  agtiapi_typhAlloc(ag_card_info_t *);
44int        agtiapi_ScopeDMARes(ag_card_info_t *);
45void       agtiapi_ReleasePCIMem(ag_card_info_t *);
46
47STATIC agBOOLEAN agtiapi_MemAlloc( ag_card_info_t *thisCardInst,
48                                   void          **VirtAlloc,
49                                   vm_paddr_t     *pDmaAddr,
50                                   void          **VirtAddr,
51                                   U32            *pPhysAddrUp,
52                                   U32            *pPhysAddrLow,
53                                   U32             MemSize,
54                                   U32             Type,
55                                   U32             Align );
56
57void       agtiapi_MemFree(ag_card_info_t *);
58U32        agtiapi_PCIMemSize(device_t, U32, U32);
59void       agtiapi_Probe(void);
60int        agtiapi_ProbeCard(device_t, ag_card_info_t *, int);
61void       agtiapi_Setup(S08 *, S32 *);
62
63#ifdef CHAR_DEVICE
64//int        agtiapi_Open(struct inode *, struct file *);
65//int        agtiapi_Close(struct inode *, struct file *);
66#endif
67
68#ifdef AGTIAPI_INCLUDE_PROCS
69static void agtiapi_ProcDel(ag_card_info_t *pInfo);
70static int  agtiapi_ProcAdd(ag_card_info_t *pInfo);
71#endif
72
73#ifdef TEST_DUMP_FCTRACE_BUFFER
74#if fcEnableTraceFunctions == 1
75static void agtiapi_DumpTraceBuffer(ag_card_info_t *pInfo);
76#endif
77#endif
78
79
80#endif
81