xref: /onnv-gate/usr/src/uts/common/sys/scsi/adapters/pmcs/pmcs_smhba.h (revision 10696:cd0f390dd9e2)
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