Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
megaraid_mm.h
Go to the documentation of this file.
1 /*
2  *
3  * Linux MegaRAID device driver
4  *
5  * Copyright (c) 2003-2004 LSI Logic Corporation.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version
10  * 2 of the License, or (at your option) any later version.
11  *
12  * FILE : megaraid_mm.h
13  */
14 
15 #ifndef MEGARAID_MM_H
16 #define MEGARAID_MM_H
17 
18 #include <linux/spinlock.h>
19 #include <linux/fs.h>
20 #include <asm/uaccess.h>
21 #include <linux/module.h>
22 #include <linux/moduleparam.h>
23 #include <linux/pci.h>
24 #include <linux/list.h>
25 #include <linux/miscdevice.h>
26 
27 #include "mbox_defs.h"
28 #include "megaraid_ioctl.h"
29 
30 
31 #define LSI_COMMON_MOD_VERSION "2.20.2.7"
32 #define LSI_COMMON_MOD_EXT_VERSION \
33  "(Release Date: Sun Jul 16 00:01:03 EST 2006)"
34 
35 
36 #define LSI_DBGLVL dbglevel
37 
38 // The smallest dma pool
39 #define MRAID_MM_INIT_BUFF_SIZE 4096
40 
64 typedef struct mimd {
65 
68 
69  union {
70  uint8_t fca[16];
71  struct {
75 #if BITS_PER_LONG == 32
77  uint8_t pad[4];
78 #endif
79 #if BITS_PER_LONG == 64
81 #endif
83  } __attribute__ ((packed)) fcs;
84  } __attribute__ ((packed)) ui;
85 
86  uint8_t mbox[18]; /* 16 bytes + 2 status bytes */
87  mraid_passthru_t pthru;
88 
89 #if BITS_PER_LONG == 32
90  char __user *data; /* buffer <= 4096 for 0x80 commands */
91  char pad[4];
92 #endif
93 #if BITS_PER_LONG == 64
94  char __user *data;
95 #endif
96 
97 } __attribute__ ((packed))mimd_t;
98 
99 #endif // MEGARAID_MM_H
101 // vi: set ts=8 sw=8 tw=78: