1*10318SXiao-Yu.Zhang@Sun.COM /* 2*10318SXiao-Yu.Zhang@Sun.COM * CDDL HEADER START 3*10318SXiao-Yu.Zhang@Sun.COM * 4*10318SXiao-Yu.Zhang@Sun.COM * The contents of this file are subject to the terms of the 5*10318SXiao-Yu.Zhang@Sun.COM * Common Development and Distribution License (the "License"). 6*10318SXiao-Yu.Zhang@Sun.COM * You may not use this file except in compliance with the License. 7*10318SXiao-Yu.Zhang@Sun.COM * 8*10318SXiao-Yu.Zhang@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*10318SXiao-Yu.Zhang@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*10318SXiao-Yu.Zhang@Sun.COM * See the License for the specific language governing permissions 11*10318SXiao-Yu.Zhang@Sun.COM * and limitations under the License. 12*10318SXiao-Yu.Zhang@Sun.COM * 13*10318SXiao-Yu.Zhang@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*10318SXiao-Yu.Zhang@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*10318SXiao-Yu.Zhang@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*10318SXiao-Yu.Zhang@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*10318SXiao-Yu.Zhang@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*10318SXiao-Yu.Zhang@Sun.COM * 19*10318SXiao-Yu.Zhang@Sun.COM * CDDL HEADER END 20*10318SXiao-Yu.Zhang@Sun.COM */ 21*10318SXiao-Yu.Zhang@Sun.COM 22*10318SXiao-Yu.Zhang@Sun.COM /* 23*10318SXiao-Yu.Zhang@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24*10318SXiao-Yu.Zhang@Sun.COM * Use is subject to license terms. 25*10318SXiao-Yu.Zhang@Sun.COM */ 26*10318SXiao-Yu.Zhang@Sun.COM 27*10318SXiao-Yu.Zhang@Sun.COM #ifndef _SATA_BLACKLIST_H 28*10318SXiao-Yu.Zhang@Sun.COM #define _SATA_BLACKLIST_H 29*10318SXiao-Yu.Zhang@Sun.COM 30*10318SXiao-Yu.Zhang@Sun.COM #ifdef __cplusplus 31*10318SXiao-Yu.Zhang@Sun.COM extern "C" { 32*10318SXiao-Yu.Zhang@Sun.COM #endif 33*10318SXiao-Yu.Zhang@Sun.COM 34*10318SXiao-Yu.Zhang@Sun.COM /* 35*10318SXiao-Yu.Zhang@Sun.COM * SATA port multiplier blacklist 36*10318SXiao-Yu.Zhang@Sun.COM * 37*10318SXiao-Yu.Zhang@Sun.COM * The number of the device ports is indicated by GSCR2[3:0]. These port 38*10318SXiao-Yu.Zhang@Sun.COM * multipliers got faulty values in GSCR2 (w/ pseudo port) by vendor 39*10318SXiao-Yu.Zhang@Sun.COM * configuration. 40*10318SXiao-Yu.Zhang@Sun.COM * 41*10318SXiao-Yu.Zhang@Sun.COM * Following is a list of some black-listed port multipliers with the actual 42*10318SXiao-Yu.Zhang@Sun.COM * number of device ports. 43*10318SXiao-Yu.Zhang@Sun.COM */ 44*10318SXiao-Yu.Zhang@Sun.COM struct sata_pmult_bl { 45*10318SXiao-Yu.Zhang@Sun.COM uint32_t bl_gscr0; 46*10318SXiao-Yu.Zhang@Sun.COM uint32_t bl_gscr1; 47*10318SXiao-Yu.Zhang@Sun.COM uint32_t bl_gscr2; 48*10318SXiao-Yu.Zhang@Sun.COM uint32_t bl_flags; 49*10318SXiao-Yu.Zhang@Sun.COM }; 50*10318SXiao-Yu.Zhang@Sun.COM 51*10318SXiao-Yu.Zhang@Sun.COM typedef struct sata_pmult_bl sata_pmult_bl_t; 52*10318SXiao-Yu.Zhang@Sun.COM 53*10318SXiao-Yu.Zhang@Sun.COM sata_pmult_bl_t sata_pmult_blacklist[] = { 54*10318SXiao-Yu.Zhang@Sun.COM {0x37261095, 0x0, 0x6, 0x5}, /* Silicon Image 3726, 5 ports. */ 55*10318SXiao-Yu.Zhang@Sun.COM {0x47261095, 0x0, 0x7, 0x5}, /* Silicon Image 4726, 5 ports. */ 56*10318SXiao-Yu.Zhang@Sun.COM {0x47231095, 0x0, 0x4, 0x2}, /* Silicon Image 4723, 2 ports. */ 57*10318SXiao-Yu.Zhang@Sun.COM NULL 58*10318SXiao-Yu.Zhang@Sun.COM }; 59*10318SXiao-Yu.Zhang@Sun.COM 60*10318SXiao-Yu.Zhang@Sun.COM 61*10318SXiao-Yu.Zhang@Sun.COM #ifdef __cplusplus 62*10318SXiao-Yu.Zhang@Sun.COM } 63*10318SXiao-Yu.Zhang@Sun.COM #endif 64*10318SXiao-Yu.Zhang@Sun.COM 65*10318SXiao-Yu.Zhang@Sun.COM #endif /* _SATA_BLACKLIST_H */ 66