pmcs_param.h revision 5c45adf04db8ffdcb5dd969bb5203ff9b17677db
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* PMC Compile Time Tunable Parameters
*/
#ifndef _PMCS_PARAM_H
#define _PMCS_PARAM_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* Maximum number of microseconds we will try to configure a PHY
*/
#define PMCS_INDICES_SIZE 512
#define PMCS_MIN_CHUNK_PAGES 512
#define PMCS_ADDTL_CHUNK_PAGES 8
/*
* Scratch area has to hold Max SMP Request and Max SMP Response,
* plus some slop.
*/
#define PMCS_SCRATCH_SIZE 2304
/*
* 2M bytes was allocated to firmware log and split between two logs
*/
#define SATLSIZE 1024
/*
* PMCS_NQENTRY is tunable by setting pmcs-num-io-qentries
*/
/*
* Watchdog interval, in usecs.
* NB: Needs to be evenly divisible by 10
*/
/*
* Forward progress trigger. This is the number of times we run through
* watchdog before checking for forward progress. Implicitly bound to
* PMCS_WATCH_INTERVAL above. For example, with a PMCS_WATCH_INTERVAL of
* 250000, the watchdog will run every quarter second, so forward progress
* will be checked every 16th watchdog fire, or every four seconds.
*/
#define PMCS_FWD_PROG_TRIGGER 16
/*
* Inbound Queue definitions
*/
#define PMCS_NON_HIPRI_QUEUES PMCS_IO_IQ_MASK
/*
* Outbound Queue definitions
*
* Note that the OQ definitions map to bits set in
* the Outbound Doorbell register to indicate service
* is needed on one of these queues.
*/
#define PMCS_OQ_IODONE 0 /* I/O completion Outbound Queue */
/*
* External Scatter Gather come in chunks- each this many deep.
*/
/*
*
* These are the maximum number of interrupt vectors we could use.
*/
#define PMCS_MAX_MSI PMCS_MAX_MSIX
#define PMCS_MAX_FIXED 1
/*
* Blessed firmware version
*/
#define PMCS_FIRMWARE_CODE_NAME "firmware"
#define PMCS_FIRMWARE_ILA_NAME "ila"
#define PMCS_FIRMWARE_SPCBOOT_NAME "SPCBoot"
#define PMCS_FIRMWARE_START_SUF ".bin_start"
#define PMCS_FIRMWARE_END_SUF ".bin_end"
#define PMCS_FIRMWARE_FILENAME "misc/pmcs/pmcs8001fw"
#define PMCS_FIRMWARE_VERSION_NAME "pmcs8001_fwversion"
#ifdef __cplusplus
}
#endif
#endif /* _PMCS_PARAM_H */