18aa6aadbSXiao-Yu Zhang /*
28aa6aadbSXiao-Yu Zhang  * CDDL HEADER START
38aa6aadbSXiao-Yu Zhang  *
48aa6aadbSXiao-Yu Zhang  * The contents of this file are subject to the terms of the
58aa6aadbSXiao-Yu Zhang  * Common Development and Distribution License (the "License").
68aa6aadbSXiao-Yu Zhang  * You may not use this file except in compliance with the License.
78aa6aadbSXiao-Yu Zhang  *
88aa6aadbSXiao-Yu Zhang  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
98aa6aadbSXiao-Yu Zhang  * or http://www.opensolaris.org/os/licensing.
108aa6aadbSXiao-Yu Zhang  * See the License for the specific language governing permissions
118aa6aadbSXiao-Yu Zhang  * and limitations under the License.
128aa6aadbSXiao-Yu Zhang  *
138aa6aadbSXiao-Yu Zhang  * When distributing Covered Code, include this CDDL HEADER in each
148aa6aadbSXiao-Yu Zhang  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
158aa6aadbSXiao-Yu Zhang  * If applicable, add the following below this CDDL HEADER, with the
168aa6aadbSXiao-Yu Zhang  * fields enclosed by brackets "[]" replaced with your own identifying
178aa6aadbSXiao-Yu Zhang  * information: Portions Copyright [yyyy] [name of copyright owner]
188aa6aadbSXiao-Yu Zhang  *
198aa6aadbSXiao-Yu Zhang  * CDDL HEADER END
208aa6aadbSXiao-Yu Zhang  */
218aa6aadbSXiao-Yu Zhang 
228aa6aadbSXiao-Yu Zhang /*
238aa6aadbSXiao-Yu Zhang  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
248aa6aadbSXiao-Yu Zhang  * Use is subject to license terms.
258aa6aadbSXiao-Yu Zhang  */
268aa6aadbSXiao-Yu Zhang 
278aa6aadbSXiao-Yu Zhang #ifndef _SATA_BLACKLIST_H
288aa6aadbSXiao-Yu Zhang #define	_SATA_BLACKLIST_H
298aa6aadbSXiao-Yu Zhang 
308aa6aadbSXiao-Yu Zhang #ifdef	__cplusplus
318aa6aadbSXiao-Yu Zhang extern "C" {
328aa6aadbSXiao-Yu Zhang #endif
338aa6aadbSXiao-Yu Zhang 
348aa6aadbSXiao-Yu Zhang /*
358aa6aadbSXiao-Yu Zhang  * SATA port multiplier blacklist
368aa6aadbSXiao-Yu Zhang  *
378aa6aadbSXiao-Yu Zhang  * The number of the device ports is indicated by GSCR2[3:0]. These port
388aa6aadbSXiao-Yu Zhang  * multipliers got faulty values in GSCR2 (w/ pseudo port) by vendor
398aa6aadbSXiao-Yu Zhang  * configuration.
408aa6aadbSXiao-Yu Zhang  *
418aa6aadbSXiao-Yu Zhang  * Following is a list of some black-listed port multipliers with the actual
428aa6aadbSXiao-Yu Zhang  * number of device ports.
438aa6aadbSXiao-Yu Zhang  */
448aa6aadbSXiao-Yu Zhang struct sata_pmult_bl {
458aa6aadbSXiao-Yu Zhang 	uint32_t	bl_gscr0;
468aa6aadbSXiao-Yu Zhang 	uint32_t	bl_gscr1;
478aa6aadbSXiao-Yu Zhang 	uint32_t	bl_gscr2;
488aa6aadbSXiao-Yu Zhang 	uint32_t	bl_flags;
498aa6aadbSXiao-Yu Zhang };
508aa6aadbSXiao-Yu Zhang 
518aa6aadbSXiao-Yu Zhang typedef struct sata_pmult_bl sata_pmult_bl_t;
528aa6aadbSXiao-Yu Zhang 
538aa6aadbSXiao-Yu Zhang sata_pmult_bl_t sata_pmult_blacklist[] = {
548aa6aadbSXiao-Yu Zhang 	{0x37261095, 0x0, 0x6, 0x5}, /* Silicon Image 3726, 5 ports. */
558aa6aadbSXiao-Yu Zhang 	{0x47261095, 0x0, 0x7, 0x5}, /* Silicon Image 4726, 5 ports. */
568aa6aadbSXiao-Yu Zhang 	{0x47231095, 0x0, 0x4, 0x2}, /* Silicon Image 4723, 2 ports. */
57*b38836b5SToomas Soome 	0
588aa6aadbSXiao-Yu Zhang };
598aa6aadbSXiao-Yu Zhang 
608aa6aadbSXiao-Yu Zhang 
618aa6aadbSXiao-Yu Zhang #ifdef	__cplusplus
628aa6aadbSXiao-Yu Zhang }
638aa6aadbSXiao-Yu Zhang #endif
648aa6aadbSXiao-Yu Zhang 
658aa6aadbSXiao-Yu Zhang #endif /* _SATA_BLACKLIST_H */
66