xref: /titanic_44/usr/src/uts/intel/io/mc-amd/mcamd_pcicfg.h (revision e4b86885570d77af552e9cf94f142f4d744fb8c8)
1*e4b86885SCheng Sean Ye /*
2*e4b86885SCheng Sean Ye  * CDDL HEADER START
3*e4b86885SCheng Sean Ye  *
4*e4b86885SCheng Sean Ye  * The contents of this file are subject to the terms of the
5*e4b86885SCheng Sean Ye  * Common Development and Distribution License (the "License").
6*e4b86885SCheng Sean Ye  * You may not use this file except in compliance with the License.
7*e4b86885SCheng Sean Ye  *
8*e4b86885SCheng Sean Ye  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*e4b86885SCheng Sean Ye  * or http://www.opensolaris.org/os/licensing.
10*e4b86885SCheng Sean Ye  * See the License for the specific language governing permissions
11*e4b86885SCheng Sean Ye  * and limitations under the License.
12*e4b86885SCheng Sean Ye  *
13*e4b86885SCheng Sean Ye  * When distributing Covered Code, include this CDDL HEADER in each
14*e4b86885SCheng Sean Ye  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*e4b86885SCheng Sean Ye  * If applicable, add the following below this CDDL HEADER, with the
16*e4b86885SCheng Sean Ye  * fields enclosed by brackets "[]" replaced with your own identifying
17*e4b86885SCheng Sean Ye  * information: Portions Copyright [yyyy] [name of copyright owner]
18*e4b86885SCheng Sean Ye  *
19*e4b86885SCheng Sean Ye  * CDDL HEADER END
20*e4b86885SCheng Sean Ye  */
21*e4b86885SCheng Sean Ye 
22*e4b86885SCheng Sean Ye /*
23*e4b86885SCheng Sean Ye  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24*e4b86885SCheng Sean Ye  * Use is subject to license terms.
25*e4b86885SCheng Sean Ye  */
26*e4b86885SCheng Sean Ye 
27*e4b86885SCheng Sean Ye #ifndef _MCAMD_PCICFG_H
28*e4b86885SCheng Sean Ye #define	_MCAMD_PCICFG_H
29*e4b86885SCheng Sean Ye 
30*e4b86885SCheng Sean Ye #include <sys/ddi.h>
31*e4b86885SCheng Sean Ye #include <sys/sunddi.h>
32*e4b86885SCheng Sean Ye 
33*e4b86885SCheng Sean Ye #include <mcamd.h>
34*e4b86885SCheng Sean Ye 
35*e4b86885SCheng Sean Ye #ifdef __cplusplus
36*e4b86885SCheng Sean Ye extern "C" {
37*e4b86885SCheng Sean Ye #endif
38*e4b86885SCheng Sean Ye 
39*e4b86885SCheng Sean Ye typedef void * mc_pcicfg_hdl_t;
40*e4b86885SCheng Sean Ye 
41*e4b86885SCheng Sean Ye /*
42*e4b86885SCheng Sean Ye  * MC PCI config where we have attached to an MC dev/function.
43*e4b86885SCheng Sean Ye  */
44*e4b86885SCheng Sean Ye extern int mc_pcicfg_setup(mc_t *, enum mc_funcnum, mc_pcicfg_hdl_t *);
45*e4b86885SCheng Sean Ye extern void mc_pcicfg_teardown(mc_pcicfg_hdl_t);
46*e4b86885SCheng Sean Ye extern uint32_t mc_pcicfg_get32(mc_pcicfg_hdl_t, off_t);
47*e4b86885SCheng Sean Ye extern void mc_pcicfg_put32(mc_pcicfg_hdl_t cookie, off_t offset, uint32_t val);
48*e4b86885SCheng Sean Ye 
49*e4b86885SCheng Sean Ye /* MC PCI config where we have not attached to the dev/function */
50*e4b86885SCheng Sean Ye extern uint32_t mc_pcicfg_get32_nohdl(mc_t *, enum mc_funcnum, off_t);
51*e4b86885SCheng Sean Ye extern void mc_pcicfg_put32_nohdl(mc_t *, enum mc_funcnum, off_t, uint32_t);
52*e4b86885SCheng Sean Ye 
53*e4b86885SCheng Sean Ye #ifdef __cplusplus
54*e4b86885SCheng Sean Ye }
55*e4b86885SCheng Sean Ye #endif
56*e4b86885SCheng Sean Ye 
57*e4b86885SCheng Sean Ye #endif	/* _MCAMD_PCICFG_H */
58