linux/drivers/scsi/megaraid/megaraid_mm.h
<<
>>
Prefs
   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
  60typedef 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:
  98