1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
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> |
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" |
16 | #define SAS_RAZOR_SEQUENCER_FW_MAJOR 1 |
17 | |
18 | /* Note: All quantites in the sequencer file are little endian */ |
19 | struct { |
20 | /* Checksum of the entire contents of the sequencer excluding |
21 | * these four bytes */ |
22 | u32 ; |
23 | /* numeric major version */ |
24 | u32 ; |
25 | /* numeric minor version */ |
26 | u32 ; |
27 | /* version string printed by driver */ |
28 | char [16]; |
29 | u32 ; |
30 | u32 ; |
31 | u32 ; |
32 | u32 ; |
33 | u32 ; |
34 | u32 ; |
35 | u32 ; |
36 | u32 ; |
37 | u16 ; |
38 | u16 ; |
39 | u16 ; |
40 | } __attribute__((packed)); |
41 | |
42 | #ifdef __KERNEL__ |
43 | int asd_init_seqs(struct asd_ha_struct *asd_ha); |
44 | int asd_start_seqs(struct asd_ha_struct *asd_ha); |
45 | int asd_release_firmware(void); |
46 | |
47 | void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy); |
48 | #endif |
49 | |
50 | #endif |
51 | |