51 lines · c
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 313#define LSEQ_NUM_VECS 1114 15#define SAS_RAZOR_SEQUENCER_FW_FILE "aic94xx-seq.fw"16#define SAS_RAZOR_SEQUENCER_FW_MAJOR 117 18/* Note: All quantites in the sequencer file are little endian */19struct sequencer_file_header {20 /* Checksum of the entire contents of the sequencer excluding21 * 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#endif49 50#endif51