root/drivers/scsi/megaraid/megaraid_mm.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3  *
   4  *                      Linux MegaRAID device driver
   5  *
   6  * Copyright (c) 2003-2004  LSI Logic Corporation.
   7  *
   8  * FILE         : megaraid_mm.h
   9  */
  10 
  11 #ifndef MEGARAID_MM_H
  12 #define MEGARAID_MM_H
  13 
  14 #include <linux/spinlock.h>
  15 #include <linux/fs.h>
  16 #include <linux/uaccess.h>
  17 #include <linux/module.h>
  18 #include <linux/moduleparam.h>
  19 #include <linux/pci.h>
  20 #include <linux/list.h>
  21 #include <linux/miscdevice.h>
  22 
  23 #include "mbox_defs.h"
  24 #include "megaraid_ioctl.h"
  25 
  26 
  27 #define LSI_COMMON_MOD_VERSION  "2.20.2.7"
  28 #define LSI_COMMON_MOD_EXT_VERSION      \
  29                 "(Release Date: Sun Jul 16 00:01:03 EST 2006)"
  30 
  31 
  32 #define LSI_DBGLVL                      dbglevel
  33 
  34 // The smallest dma pool
  35 #define MRAID_MM_INIT_BUFF_SIZE         4096
  36 
  37 /**
  38  * mimd_t       : Old style ioctl packet structure (deprecated)
  39  *
  40  * @inlen       :
  41  * @outlen      :
  42  * @fca         :
  43  * @opcode      :
  44  * @subopcode   :
  45  * @adapno      :
  46  * @buffer      :
  47  * @pad         :
  48  * @length      :
  49  * @mbox        :
  50  * @pthru       :
  51  * @data        :
  52  * @pad         :
  53  *
  54  * Note         : This structure is DEPRECATED. New applications must use
  55  *              : uioc_t structure instead. All new hba drivers use the new
  56  *              : format. If we get this mimd packet, we will convert it into
  57  *              : new uioc_t format and send it to the hba drivers.
  58  */
  59 
  60 typedef struct mimd {
  61 
  62         uint32_t inlen;
  63         uint32_t outlen;
  64 
  65         union {
  66                 uint8_t fca[16];
  67                 struct {
  68                         uint8_t opcode;
  69                         uint8_t subopcode;
  70                         uint16_t adapno;
  71 #if BITS_PER_LONG == 32
  72                         uint8_t __user *buffer;
  73                         uint8_t pad[4];
  74 #endif
  75 #if BITS_PER_LONG == 64
  76                         uint8_t __user *buffer;
  77 #endif
  78                         uint32_t length;
  79                 } __attribute__ ((packed)) fcs;
  80         } __attribute__ ((packed)) ui;
  81 
  82         uint8_t mbox[18];               /* 16 bytes + 2 status bytes */
  83         mraid_passthru_t pthru;
  84 
  85 #if BITS_PER_LONG == 32
  86         char __user *data;              /* buffer <= 4096 for 0x80 commands */
  87         char pad[4];
  88 #endif
  89 #if BITS_PER_LONG == 64
  90         char __user *data;
  91 #endif
  92 
  93 } __attribute__ ((packed))mimd_t;
  94 
  95 #endif // MEGARAID_MM_H
  96 
  97 // vi: set ts=8 sw=8 tw=78:

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