| /* | |
| * Aic94xx SAS/SATA driver sequencer interface header file. | |
| * | |
| * Copyright (C) 2005 Adaptec, Inc. All rights reserved. | |
| * Copyright (C) 2005 Luben Tuikov <luben_tuikov@adaptec.com> | |
| * | |
| * This file is licensed under GPLv2. | |
| * | |
| * This file is part of the aic94xx driver. | |
| * | |
| * The aic94xx driver is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU General Public License as | |
| * published by the Free Software Foundation; version 2 of the | |
| * License. | |
| * | |
| * The aic94xx driver is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU General Public License | |
| * along with the aic94xx driver; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
| * | |
| */ | |
| #ifndef _AIC94XX_SEQ_H_ | |
| #define _AIC94XX_SEQ_H_ | |
| #define CSEQ_NUM_VECS 3 | |
| #define LSEQ_NUM_VECS 11 | |
| #define SAS_RAZOR_SEQUENCER_FW_FILE "aic94xx-seq.fw" | |
| #define SAS_RAZOR_SEQUENCER_FW_MAJOR 1 | |
| /* Note: All quantites in the sequencer file are little endian */ | |
| struct sequencer_file_header { | |
| /* Checksum of the entire contents of the sequencer excluding | |
| * these four bytes */ | |
| u32 csum; | |
| /* numeric major version */ | |
| u32 major; | |
| /* numeric minor version */ | |
| u32 minor; | |
| /* version string printed by driver */ | |
| char version[16]; | |
| u32 cseq_table_offset; | |
| u32 cseq_table_size; | |
| u32 lseq_table_offset; | |
| u32 lseq_table_size; | |
| u32 cseq_code_offset; | |
| u32 cseq_code_size; | |
| u32 lseq_code_offset; | |
| u32 lseq_code_size; | |
| u16 mode2_task; | |
| u16 cseq_idle_loop; | |
| u16 lseq_idle_loop; | |
| } __attribute__((packed)); | |
| #ifdef __KERNEL__ | |
| int asd_init_seqs(struct asd_ha_struct *asd_ha); | |
| int asd_start_seqs(struct asd_ha_struct *asd_ha); | |
| int asd_release_firmware(void); | |
| void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy); | |
| #endif | |
| #endif |