Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c915a8c authored by Adam Radford's avatar Adam Radford Committed by James Bottomley
Browse files

[SCSI] megaraid_sas: Add 9565/9285 specific code



This patch adds MegaRAID 9265/9285 (Device id 0x5b) specific code

Signed-off-by: default avatarAdam Radford <aradford@gmail.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent cd50ba8e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
obj-$(CONFIG_MEGARAID_MM)	+= megaraid_mm.o
obj-$(CONFIG_MEGARAID_MAILBOX)	+= megaraid_mbox.o
obj-$(CONFIG_MEGARAID_SAS)	+= megaraid_sas.o
megaraid_sas-objs := megaraid_sas_base.o
megaraid_sas-objs := megaraid_sas_base.o megaraid_sas_fusion.o \
	megaraid_sas_fp.o
+30 −8
Original line number Diff line number Diff line
@@ -33,9 +33,9 @@
/*
 * MegaRAID SAS Driver meta data
 */
#define MEGASAS_VERSION			"00.00.04.31-rc1"
#define MEGASAS_RELDATE			"May 3, 2010"
#define MEGASAS_EXT_VERSION		"Mon. May 3, 11:41:51 PST 2010"
#define MEGASAS_VERSION				"00.00.05.29-rc1"
#define MEGASAS_RELDATE				"Dec. 7, 2010"
#define MEGASAS_EXT_VERSION			"Tue. Dec. 7 17:00:00 PDT 2010"

/*
 * Device IDs
@@ -47,6 +47,7 @@
#define	PCI_DEVICE_ID_LSI_SAS0079GEN2		0x0079
#define	PCI_DEVICE_ID_LSI_SAS0073SKINNY		0x0073
#define	PCI_DEVICE_ID_LSI_SAS0071SKINNY		0x0071
#define	PCI_DEVICE_ID_LSI_FUSION		0x005b

/*
 * =====================================
@@ -436,7 +437,6 @@ struct megasas_ctrl_prop {
	* Add properties that can be controlled by
	* a bit in the following structure.
	*/

	struct {
		u32     copyBackDisabled            : 1;
		u32     SMARTerEnabled              : 1;
@@ -716,6 +716,7 @@ struct megasas_ctrl_info {
#define MEGASAS_DEFAULT_INIT_ID			-1
#define MEGASAS_MAX_LUN				8
#define MEGASAS_MAX_LD				64
#define MEGASAS_DEFAULT_CMD_PER_LUN		128
#define MEGASAS_MAX_PD                          (MEGASAS_MAX_PD_CHANNELS * \
						MEGASAS_MAX_DEV_PER_CHANNEL)
#define MEGASAS_MAX_LD_IDS			(MEGASAS_MAX_LD_CHANNELS * \
@@ -784,7 +785,10 @@ struct megasas_ctrl_info {
*/
 
struct megasas_register_set {
	u32 	reserved_0[4];			/*0000h*/
	u32	doorbell;                       /*0000h*/
	u32	fusion_seq_offset;		/*0004h*/
	u32	fusion_host_diag;		/*0008h*/
	u32	reserved_01;			/*000Ch*/

	u32 	inbound_msg_0;			/*0010h*/
	u32 	inbound_msg_1;			/*0014h*/
@@ -804,15 +808,18 @@ struct megasas_register_set {
	u32 	inbound_queue_port;		/*0040h*/
	u32 	outbound_queue_port;		/*0044h*/

	u32 	reserved_2[22];			/*0048h*/
	u32	reserved_2[9];			/*0048h*/
	u32	reply_post_host_index;		/*006Ch*/
	u32	reserved_2_2[12];		/*0070h*/

	u32 	outbound_doorbell_clear;	/*00A0h*/

	u32 	reserved_3[3];			/*00A4h*/

	u32 	outbound_scratch_pad ;		/*00B0h*/
	u32	outbound_scratch_pad_2;         /*00B4h*/

	u32 	reserved_4[3];			/*00B4h*/
	u32	reserved_4[2];			/*00B8h*/

	u32 	inbound_low_queue_port ;	/*00C0h*/

@@ -1287,6 +1294,9 @@ struct megasas_instance {

	u16 max_num_sge;
	u16 max_fw_cmds;
	/* For Fusion its num IOCTL cmds, for others MFI based its
	   max_fw_cmds */
	u16 max_mfi_cmds;
	u32 max_sectors_per_req;
	struct megasas_aen_event *ev;

@@ -1336,9 +1346,15 @@ struct megasas_instance {
	struct timer_list io_completion_timer;
	struct list_head internal_reset_pending_q;

	/* Ptr to hba specfic information */
	void *ctrl_context;
	u8	msi_flag;
	struct msix_entry msixentry;
	u64 map_id;
	struct megasas_cmd *map_update_cmd;
	unsigned long bar;
	long reset_flags;
	struct mutex reset_mutex;
};

enum {
@@ -1397,8 +1413,14 @@ struct megasas_cmd {
	struct list_head list;
	struct scsi_cmnd *scmd;
	struct megasas_instance *instance;
	union {
		struct {
			u16 smid;
			u16 resvd;
		} context;
		u32 frame_count;
	};
};

#define MAX_MGMT_ADAPTERS		1024
#define MAX_IOCTL_SGE			16
+260 −102

File changed.

Preview size limit exceeded, changes collapsed.

+516 −0

File added.

Preview size limit exceeded, changes collapsed.

+2248 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading