sghsc.h revision 03831d35f7499c87d51205817c93e9a8d42c4bae
03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER START
03831d35f7499c87d51205817c93e9a8d42c4baestevel * The contents of this file are subject to the terms of the
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Common Development and Distribution License (the "License").
03831d35f7499c87d51205817c93e9a8d42c4baestevel * You may not use this file except in compliance with the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
03831d35f7499c87d51205817c93e9a8d42c4baestevel * See the License for the specific language governing permissions
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and limitations under the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * When distributing Covered Code, include this CDDL HEADER in each
03831d35f7499c87d51205817c93e9a8d42c4baestevel * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * If applicable, add the following below this CDDL HEADER, with the
03831d35f7499c87d51205817c93e9a8d42c4baestevel * fields enclosed by brackets "[]" replaced with your own identifying
03831d35f7499c87d51205817c93e9a8d42c4baestevel * information: Portions Copyright [yyyy] [name of copyright owner]
03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER END
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Use is subject to license terms.
03831d35f7499c87d51205817c93e9a8d42c4baestevel#pragma ident "%Z%%M% %I% %E% SMI"
03831d35f7499c87d51205817c93e9a8d42c4baestevelextern "C" {
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Serengeti CompactPCI Hot Swap Controller Driver header file. This file is
03831d35f7499c87d51205817c93e9a8d42c4baestevel * structured in a following way: common, sghsc data (defines and structures)
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and mailbox related data (defines and structures).
03831d35f7499c87d51205817c93e9a8d42c4baestevel * sghsc node path with insert placeholders
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Mutex short hands
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Misc definitions
03831d35f7499c87d51205817c93e9a8d42c4baestevel/* Individual events definitions */
03831d35f7499c87d51205817c93e9a8d42c4baestevel/* Slot flags */
03831d35f7499c87d51205817c93e9a8d42c4baestevel/* LED definitions */
03831d35f7499c87d51205817c93e9a8d42c4baestevel/* Ring buffer size, has to be power of 2 */
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Per Hot Swappable Slot info
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct sghsc_slot {
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Mutex for each slots for state change
03831d35f7499c87d51205817c93e9a8d42c4baestevel * pathname of bus node
03831d35f7499c87d51205817c93e9a8d42c4baestevel * property, status, cap for each slot
03831d35f7499c87d51205817c93e9a8d42c4baestevel * PCI Bus number for each slot
03831d35f7499c87d51205817c93e9a8d42c4baestevel * dynamically allocated hpc_slot_ops_t
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and register slot handle
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Leds for each slot are not cached
03831d35f7499c87d51205817c93e9a8d42c4baestevel * slot state, flags, board type
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Per Serenget CompactPCI HSC instance soft state structure
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct sghsc {
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Slot map descriptor (slot to bus segment mapping)
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct sdesc {
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Mailbox related data and structures
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Bit definition for Boat Type
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Shifts definition for CPCI_GET_SLOT_STATUS
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Bit definition for CPCI_SET_SLOT_STATUS
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Bit definition for CPCI_SET_SLOT_STATUS_FAULT_LED
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Bit definition for CPCI_SET_SLOT_POWER
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Mailbox timeout
03831d35f7499c87d51205817c93e9a8d42c4baestevel * cPCI command codes (internal)
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define SGHSC_SET_SLOT_STATUS_RESET (_SGHSC_CODE | 0x15)
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define SGHSC_SET_SLOT_STATUS_READY (_SGHSC_CODE | 0x16)
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define SGHSC_SET_SLOT_FAULT_LED_ON (_SGHSC_CODE | 0x17)
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define SGHSC_SET_SLOT_FAULT_LED_OFF (_SGHSC_CODE | 0x18)
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define SGHSC_SET_SLOT_FAULT_LED_KEEP (_SGHSC_CODE | 0x19)
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define SGHSC_SET_SLOT_FAULT_LED_TOGGLE (_SGHSC_CODE | 0x1a)
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define SGHSC_GET_CPCI_BOARD_TYPE (_SGHSC_CODE | 0x1f)
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct {
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct {
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct sghsc_event {
03831d35f7499c87d51205817c93e9a8d42c4baesteveltypedef struct sghsc_rb_head {
03831d35f7499c87d51205817c93e9a8d42c4baestevel#endif /* _SYS_SGHSC_H */