aic94xx_seq.h (1275B)
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 */ 19struct 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__ 43int asd_init_seqs(struct asd_ha_struct *asd_ha); 44int asd_start_seqs(struct asd_ha_struct *asd_ha); 45int asd_release_firmware(void); 46 47void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy); 48#endif 49 50#endif