root/drivers/scsi/aic94xx/aic94xx_seq.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 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__
  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

/* [<][>][^][v][top][bottom][index][help] */