Commit | Line | Data |
---|---|---|
65c85c83 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2908d778 JB |
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> | |
2908d778 JB |
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" | |
a29fdd3c | 16 | #define SAS_RAZOR_SEQUENCER_FW_MAJOR 1 |
2908d778 JB |
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__ | |
2908d778 JB |
43 | int asd_init_seqs(struct asd_ha_struct *asd_ha); |
44 | int asd_start_seqs(struct asd_ha_struct *asd_ha); | |
bf2a1928 | 45 | int asd_release_firmware(void); |
2908d778 | 46 | |
3f048109 | 47 | void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy); |
2908d778 JB |
48 | #endif |
49 | ||
50 | #endif |