Thomas Gleixner | 65c85c8 | 2019-06-01 10:08:26 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 2 | /* |
| 3 | * Aic94xx SAS/SATA driver sequencer interface header file. |
| 4 | * |
| 5 | * Copyright (C) 2005 Adaptec, Inc. All rights reserved. |
| 6 | * Copyright (C) 2005 Luben Tuikov <luben_tuikov@adaptec.com> |
James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 7 | */ |
| 8 | |
| 9 | #ifndef _AIC94XX_SEQ_H_ |
| 10 | #define _AIC94XX_SEQ_H_ |
| 11 | |
| 12 | #define CSEQ_NUM_VECS 3 |
| 13 | #define LSEQ_NUM_VECS 11 |
| 14 | |
| 15 | #define SAS_RAZOR_SEQUENCER_FW_FILE "aic94xx-seq.fw" |
James Bottomley | a29fdd3 | 2007-02-15 15:25:35 -0600 | [diff] [blame] | 16 | #define SAS_RAZOR_SEQUENCER_FW_MAJOR 1 |
James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 17 | |
| 18 | /* Note: All quantites in the sequencer file are little endian */ |
| 19 | struct sequencer_file_header { |
| 20 | /* Checksum of the entire contents of the sequencer excluding |
| 21 | * these four bytes */ |
| 22 | u32 csum; |
| 23 | /* numeric major version */ |
| 24 | u32 major; |
| 25 | /* numeric minor version */ |
| 26 | u32 minor; |
| 27 | /* version string printed by driver */ |
| 28 | char version[16]; |
| 29 | u32 cseq_table_offset; |
| 30 | u32 cseq_table_size; |
| 31 | u32 lseq_table_offset; |
| 32 | u32 lseq_table_size; |
| 33 | u32 cseq_code_offset; |
| 34 | u32 cseq_code_size; |
| 35 | u32 lseq_code_offset; |
| 36 | u32 lseq_code_size; |
| 37 | u16 mode2_task; |
| 38 | u16 cseq_idle_loop; |
| 39 | u16 lseq_idle_loop; |
| 40 | } __attribute__((packed)); |
| 41 | |
| 42 | #ifdef __KERNEL__ |
James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 43 | int asd_init_seqs(struct asd_ha_struct *asd_ha); |
| 44 | int asd_start_seqs(struct asd_ha_struct *asd_ha); |
Darrick J. Wong | bf2a192 | 2007-01-11 14:15:26 -0800 | [diff] [blame] | 45 | int asd_release_firmware(void); |
James Bottomley | 2908d77 | 2006-08-29 09:22:51 -0500 | [diff] [blame] | 46 | |
malahal@us.ibm.com | 3f04810 | 2006-10-04 17:28:37 -0700 | [diff] [blame] | 47 | 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] | 48 | #endif |
| 49 | |
| 50 | #endif |