1*10696SDavid.Hollister@Sun.COM /* 2*10696SDavid.Hollister@Sun.COM * CDDL HEADER START 3*10696SDavid.Hollister@Sun.COM * 4*10696SDavid.Hollister@Sun.COM * The contents of this file are subject to the terms of the 5*10696SDavid.Hollister@Sun.COM * Common Development and Distribution License (the "License"). 6*10696SDavid.Hollister@Sun.COM * You may not use this file except in compliance with the License. 7*10696SDavid.Hollister@Sun.COM * 8*10696SDavid.Hollister@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*10696SDavid.Hollister@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*10696SDavid.Hollister@Sun.COM * See the License for the specific language governing permissions 11*10696SDavid.Hollister@Sun.COM * and limitations under the License. 12*10696SDavid.Hollister@Sun.COM * 13*10696SDavid.Hollister@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*10696SDavid.Hollister@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*10696SDavid.Hollister@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*10696SDavid.Hollister@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*10696SDavid.Hollister@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*10696SDavid.Hollister@Sun.COM * 19*10696SDavid.Hollister@Sun.COM * CDDL HEADER END 20*10696SDavid.Hollister@Sun.COM * 21*10696SDavid.Hollister@Sun.COM * 22*10696SDavid.Hollister@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23*10696SDavid.Hollister@Sun.COM * Use is subject to license terms. 24*10696SDavid.Hollister@Sun.COM */ 25*10696SDavid.Hollister@Sun.COM /* 26*10696SDavid.Hollister@Sun.COM * SM-HBA interfaces/definitions for PMC-S driver. 27*10696SDavid.Hollister@Sun.COM */ 28*10696SDavid.Hollister@Sun.COM #ifndef _PMCS_SMHBA_H 29*10696SDavid.Hollister@Sun.COM #define _PMCS_SMHBA_H 30*10696SDavid.Hollister@Sun.COM #ifdef __cplusplus 31*10696SDavid.Hollister@Sun.COM extern "C" { 32*10696SDavid.Hollister@Sun.COM #endif 33*10696SDavid.Hollister@Sun.COM 34*10696SDavid.Hollister@Sun.COM /* Leverage definition of data_type_t in nvpair.h */ 35*10696SDavid.Hollister@Sun.COM #include <sys/nvpair.h> 36*10696SDavid.Hollister@Sun.COM 37*10696SDavid.Hollister@Sun.COM #define PMCS_NUM_PHYS "num-phys" 38*10696SDavid.Hollister@Sun.COM #define PMCS_NUM_PHYS_HBA "num-phys-hba" 39*10696SDavid.Hollister@Sun.COM #define PMCS_SMHBA_SUPPORTED "sm-hba-supported" 40*10696SDavid.Hollister@Sun.COM #define PMCS_DRV_VERSION "driver-version" 41*10696SDavid.Hollister@Sun.COM #define PMCS_HWARE_VERSION "hardware-version" 42*10696SDavid.Hollister@Sun.COM #define PMCS_FWARE_VERSION "firmware-version" 43*10696SDavid.Hollister@Sun.COM #define PMCS_SUPPORTED_PROTOCOL "supported-protocol" 44*10696SDavid.Hollister@Sun.COM 45*10696SDavid.Hollister@Sun.COM #define PMCS_MANUFACTURER "Manufacturer" 46*10696SDavid.Hollister@Sun.COM #define PMCS_SERIAL_NUMBER "SerialNumber" 47*10696SDavid.Hollister@Sun.COM #define PMCS_MODEL_NAME "ModelName" 48*10696SDavid.Hollister@Sun.COM 49*10696SDavid.Hollister@Sun.COM /* 50*10696SDavid.Hollister@Sun.COM * Interfaces to add properties required for SM-HBA 51*10696SDavid.Hollister@Sun.COM * 52*10696SDavid.Hollister@Sun.COM * _add_xxx_prop() interfaces add only 1 prop that is specified in the args. 53*10696SDavid.Hollister@Sun.COM * _set_xxx_props() interfaces add more than 1 prop for a set of phys/devices. 54*10696SDavid.Hollister@Sun.COM */ 55*10696SDavid.Hollister@Sun.COM void pmcs_smhba_add_hba_prop(pmcs_hw_t *, data_type_t, char *, void *); 56*10696SDavid.Hollister@Sun.COM void pmcs_smhba_add_iport_prop(pmcs_iport_t *, data_type_t, char *, void *); 57*10696SDavid.Hollister@Sun.COM void pmcs_smhba_add_tgt_prop(pmcs_xscsi_t *, data_type_t, char *, void *); 58*10696SDavid.Hollister@Sun.COM 59*10696SDavid.Hollister@Sun.COM void pmcs_smhba_set_scsi_device_props(pmcs_hw_t *, pmcs_phy_t *, 60*10696SDavid.Hollister@Sun.COM struct scsi_device *); 61*10696SDavid.Hollister@Sun.COM void pmcs_smhba_set_phy_props(pmcs_iport_t *); 62*10696SDavid.Hollister@Sun.COM 63*10696SDavid.Hollister@Sun.COM /* 64*10696SDavid.Hollister@Sun.COM * Misc routines supporting SM-HBA 65*10696SDavid.Hollister@Sun.COM */ 66*10696SDavid.Hollister@Sun.COM void pmcs_smhba_log_sysevent(pmcs_hw_t *, char *, char *, pmcs_phy_t *); 67*10696SDavid.Hollister@Sun.COM 68*10696SDavid.Hollister@Sun.COM 69*10696SDavid.Hollister@Sun.COM #ifdef __cplusplus 70*10696SDavid.Hollister@Sun.COM } 71*10696SDavid.Hollister@Sun.COM #endif 72*10696SDavid.Hollister@Sun.COM #endif /* _PMCS_SMHBA_H */ 73