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