Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
scsi
aic94xx
aic94xx_seq.h
Go to the documentation of this file.
1
/*
2
* Aic94xx SAS/SATA driver sequencer interface header file.
3
*
4
* Copyright (C) 2005 Adaptec, Inc. All rights reserved.
5
* Copyright (C) 2005 Luben Tuikov <
[email protected]
>
6
*
7
* This file is licensed under GPLv2.
8
*
9
* This file is part of the aic94xx driver.
10
*
11
* The aic94xx driver is free software; you can redistribute it and/or
12
* modify it under the terms of the GNU General Public License as
13
* published by the Free Software Foundation; version 2 of the
14
* License.
15
*
16
* The aic94xx driver is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
* General Public License for more details.
20
*
21
* You should have received a copy of the GNU General Public License
22
* along with the aic94xx driver; if not, write to the Free Software
23
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24
*
25
*/
26
27
#ifndef _AIC94XX_SEQ_H_
28
#define _AIC94XX_SEQ_H_
29
30
#define CSEQ_NUM_VECS 3
31
#define LSEQ_NUM_VECS 11
32
33
#define SAS_RAZOR_SEQUENCER_FW_FILE "aic94xx-seq.fw"
34
#define SAS_RAZOR_SEQUENCER_FW_MAJOR 1
35
36
/* Note: All quantites in the sequencer file are little endian */
37
struct
sequencer_file_header
{
38
/* Checksum of the entire contents of the sequencer excluding
39
* these four bytes */
40
u32
csum
;
41
/* numeric major version */
42
u32
major
;
43
/* numeric minor version */
44
u32
minor
;
45
/* version string printed by driver */
46
char
version
[16];
47
u32
cseq_table_offset
;
48
u32
cseq_table_size
;
49
u32
lseq_table_offset
;
50
u32
lseq_table_size
;
51
u32
cseq_code_offset
;
52
u32
cseq_code_size
;
53
u32
lseq_code_offset
;
54
u32
lseq_code_size
;
55
u16
mode2_task
;
56
u16
cseq_idle_loop
;
57
u16
lseq_idle_loop
;
58
}
__attribute__
((packed));
59
60
#ifdef __KERNEL__
61
int
asd_init_seqs
(
struct
asd_ha_struct
*asd_ha);
62
int
asd_start_seqs
(
struct
asd_ha_struct
*asd_ha);
63
int
asd_release_firmware
(
void
);
64
65
void
asd_update_port_links
(
struct
asd_ha_struct
*asd_ha,
struct
asd_phy
*
phy
);
66
#endif
67
68
#endif
Generated on Thu Jan 10 2013 14:19:20 for Linux Kernel by
1.8.2