/* * PMC-Sierra 8001/8081/8088/8089 SAS/SATA based host adapters driver * * Copyright (c) 2008-2009 USI Co., Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions, and the following disclaimer, * without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer * substantially similar to the "NO WARRANTY" disclaimer below * ("Disclaimer") and any redistribution must be conditioned upon * including a substantially similar Disclaimer requirement for further * binary redistribution. * 3. Neither the names of the above-listed copyright holders nor the names * of any contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * */ #ifndef _PM8001_DEFS_H_ #define _PM8001_DEFS_H_ enum chip_flavors { … }; enum phy_speed { … }; enum data_direction { … }; enum port_type { … }; /* driver compile-time configuration */ #define PM8001_MAX_CCB … #define PM8001_MPI_QUEUE … #define PM8001_MAX_INB_NUM … #define PM8001_MAX_OUTB_NUM … #define PM8001_CAN_QUEUE … /* Inbound/Outbound queue size */ #define IOMB_SIZE_SPC … #define IOMB_SIZE_SPCV … /* unchangeable hardware details */ #define PM8001_MAX_PHYS … #define PM8001_MAX_PORTS … #define PM8001_MAX_DEVICES … #define PM8001_MAX_MSIX_VEC … #define PM8001_RESERVE_SLOT … #define CONFIG_SCSI_PM8001_MAX_DMA_SG … #define PM8001_MAX_DMA_SG … enum memory_region_num { … }; #define PM8001_EVENT_LOG_SIZE … /** * maximum DMA memory regions(number of IBQ + number of IBQ CI * + number of OBQ + number of OBQ PI) */ #define USI_MAX_MEMCNT … /*error code*/ enum mpi_err { … }; /** * Phy Control constants */ enum phy_control_type { … }; enum pm8001_hba_info_flags { … }; /** * Phy Status */ #define PHY_LINK_DISABLE … #define PHY_LINK_DOWN … #define PHY_STATE_LINK_UP_SPCV … #define PHY_STATE_LINK_UP_SPC … #endif