98 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-or-later */
 | |
| /*
 | |
|  *
 | |
|  *			Linux MegaRAID device driver
 | |
|  *
 | |
|  * Copyright (c) 2003-2004  LSI Logic Corporation.
 | |
|  *
 | |
|  * FILE		: megaraid_mm.h
 | |
|  */
 | |
| 
 | |
| #ifndef MEGARAID_MM_H
 | |
| #define MEGARAID_MM_H
 | |
| 
 | |
| #include <linux/spinlock.h>
 | |
| #include <linux/fs.h>
 | |
| #include <linux/uaccess.h>
 | |
| #include <linux/module.h>
 | |
| #include <linux/moduleparam.h>
 | |
| #include <linux/pci.h>
 | |
| #include <linux/list.h>
 | |
| #include <linux/miscdevice.h>
 | |
| 
 | |
| #include "mbox_defs.h"
 | |
| #include "megaraid_ioctl.h"
 | |
| 
 | |
| 
 | |
| #define LSI_COMMON_MOD_VERSION	"2.20.2.7"
 | |
| #define LSI_COMMON_MOD_EXT_VERSION	\
 | |
| 		"(Release Date: Sun Jul 16 00:01:03 EST 2006)"
 | |
| 
 | |
| 
 | |
| #define LSI_DBGLVL			dbglevel
 | |
| 
 | |
| // The smallest dma pool
 | |
| #define MRAID_MM_INIT_BUFF_SIZE		4096
 | |
| 
 | |
| /**
 | |
|  * mimd_t	: Old style ioctl packet structure (deprecated)
 | |
|  *
 | |
|  * @inlen	:
 | |
|  * @outlen	:
 | |
|  * @fca		:
 | |
|  * @opcode	:
 | |
|  * @subopcode	:
 | |
|  * @adapno	:
 | |
|  * @buffer	:
 | |
|  * @pad		:
 | |
|  * @length	:
 | |
|  * @mbox	:
 | |
|  * @pthru	:
 | |
|  * @data	:
 | |
|  * @pad		:
 | |
|  *
 | |
|  * Note		: This structure is DEPRECATED. New applications must use
 | |
|  *		: uioc_t structure instead. All new hba drivers use the new
 | |
|  *		: format. If we get this mimd packet, we will convert it into
 | |
|  *		: new uioc_t format and send it to the hba drivers.
 | |
|  */
 | |
| 
 | |
| typedef struct mimd {
 | |
| 
 | |
| 	uint32_t inlen;
 | |
| 	uint32_t outlen;
 | |
| 
 | |
| 	union {
 | |
| 		uint8_t fca[16];
 | |
| 		struct {
 | |
| 			uint8_t opcode;
 | |
| 			uint8_t subopcode;
 | |
| 			uint16_t adapno;
 | |
| #if BITS_PER_LONG == 32
 | |
| 			uint8_t __user *buffer;
 | |
| 			uint8_t pad[4];
 | |
| #endif
 | |
| #if BITS_PER_LONG == 64
 | |
| 			uint8_t __user *buffer;
 | |
| #endif
 | |
| 			uint32_t length;
 | |
| 		} __attribute__ ((packed)) fcs;
 | |
| 	} __attribute__ ((packed)) ui;
 | |
| 
 | |
| 	uint8_t mbox[18];		/* 16 bytes + 2 status bytes */
 | |
| 	mraid_passthru_t pthru;
 | |
| 
 | |
| #if BITS_PER_LONG == 32
 | |
| 	char __user *data;		/* buffer <= 4096 for 0x80 commands */
 | |
| 	char pad[4];
 | |
| #endif
 | |
| #if BITS_PER_LONG == 64
 | |
| 	char __user *data;
 | |
| #endif
 | |
| 
 | |
| } __attribute__ ((packed))mimd_t;
 | |
| 
 | |
| #endif // MEGARAID_MM_H
 | |
| 
 | |
| // vi: set ts=8 sw=8 tw=78:
 |