| James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 1 | /* | 
 | 2 |  * Aic94xx SAS/SATA driver sequencer interface header file. | 
 | 3 |  * | 
 | 4 |  * Copyright (C) 2005 Adaptec, Inc.  All rights reserved. | 
 | 5 |  * Copyright (C) 2005 Luben Tuikov <luben_tuikov@adaptec.com> | 
 | 6 |  * | 
 | 7 |  * This file is licensed under GPLv2. | 
 | 8 |  * | 
 | 9 |  * This file is part of the aic94xx driver. | 
 | 10 |  * | 
 | 11 |  * The aic94xx driver is free software; you can redistribute it and/or | 
 | 12 |  * modify it under the terms of the GNU General Public License as | 
 | 13 |  * published by the Free Software Foundation; version 2 of the | 
 | 14 |  * License. | 
 | 15 |  * | 
 | 16 |  * The aic94xx driver is distributed in the hope that it will be useful, | 
 | 17 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 | 18 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 | 19 |  * General Public License for more details. | 
 | 20 |  * | 
 | 21 |  * You should have received a copy of the GNU General Public License | 
 | 22 |  * along with the aic94xx driver; if not, write to the Free Software | 
 | 23 |  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | 
 | 24 |  * | 
 | 25 |  */ | 
 | 26 |  | 
 | 27 | #ifndef _AIC94XX_SEQ_H_ | 
 | 28 | #define _AIC94XX_SEQ_H_ | 
 | 29 |  | 
 | 30 | #define CSEQ_NUM_VECS	3 | 
 | 31 | #define LSEQ_NUM_VECS	11 | 
 | 32 |  | 
 | 33 | #define SAS_RAZOR_SEQUENCER_FW_FILE "aic94xx-seq.fw" | 
| James Bottomley | a29fdd3 | 2007-02-15 15:25:35 -0600 | [diff] [blame] | 34 | #define SAS_RAZOR_SEQUENCER_FW_MAJOR	1 | 
| James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 35 |  | 
 | 36 | /* Note:  All quantites in the sequencer file are little endian */ | 
 | 37 | struct sequencer_file_header { | 
 | 38 | 	/* Checksum of the entire contents of the sequencer excluding | 
 | 39 | 	 * these four bytes */ | 
 | 40 | 	u32	csum; | 
 | 41 | 	/* numeric major version */ | 
 | 42 | 	u32	major; | 
 | 43 | 	/* numeric minor version */ | 
 | 44 | 	u32	minor; | 
 | 45 | 	/* version string printed by driver */ | 
 | 46 | 	char	version[16]; | 
 | 47 | 	u32	cseq_table_offset; | 
 | 48 | 	u32	cseq_table_size; | 
 | 49 | 	u32	lseq_table_offset; | 
 | 50 | 	u32	lseq_table_size; | 
 | 51 | 	u32	cseq_code_offset; | 
 | 52 | 	u32	cseq_code_size; | 
 | 53 | 	u32	lseq_code_offset; | 
 | 54 | 	u32	lseq_code_size; | 
 | 55 | 	u16	mode2_task; | 
 | 56 | 	u16	cseq_idle_loop; | 
 | 57 | 	u16	lseq_idle_loop; | 
 | 58 | } __attribute__((packed)); | 
 | 59 |  | 
 | 60 | #ifdef __KERNEL__ | 
| James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 61 | int asd_init_seqs(struct asd_ha_struct *asd_ha); | 
 | 62 | int asd_start_seqs(struct asd_ha_struct *asd_ha); | 
| Darrick J. Wong | bf2a192 | 2007-01-11 14:15:26 -0800 | [diff] [blame] | 63 | int asd_release_firmware(void); | 
| James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 64 |  | 
| malahal@us.ibm.com | 3f04810 | 2006-10-04 17:28:37 -0700 | [diff] [blame] | 65 | void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy); | 
| James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 66 | #endif | 
 | 67 |  | 
 | 68 | #endif |