summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_sas.h
diff options
context:
space:
mode:
authorChandrakanth Patil <chandrakanth.patil@broadcom.com>2019-06-25 16:34:19 +0530
committerMartin K. Petersen <martin.petersen@oracle.com>2019-06-27 00:07:34 -0400
commit5885571df750d0ed3f8996e161cdcc56f4a94bfe (patch)
tree61a171508d6ec7e42f5d85478c681aee5b9d9fe7 /drivers/scsi/megaraid/megaraid_sas.h
parent5f0bd875c6dbc6245b4012b13bf6b81cc629cb4c (diff)
downloadlinux-5885571df750d0ed3f8996e161cdcc56f4a94bfe.tar.gz
linux-5885571df750d0ed3f8996e161cdcc56f4a94bfe.tar.bz2
linux-5885571df750d0ed3f8996e161cdcc56f4a94bfe.zip
scsi: megaraid_sas: Add 32 bit atomic descriptor support to AERO adapters
Aero adapters provides Atomic Request Descriptor as an alternative method for posting an entry onto a request queue. The posting of an Atomic Request Descriptor is an atomic operation, providing a safe mechanism for multiple processors on the host to post requests without synchronization. This Atomic Request Descriptor format is identical to first 32 bits of Default Request Descriptor and uses only 32 bits. If Aero adapters support Atomic descriptor, driver should use it for posting IOs and DCMDs to firmware. Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com> Signed-off-by: Chandrakanth Patil <chandrakanth.patil@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.h')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h
index e138d1447e43..a08dd9c52a25 100644
--- a/drivers/scsi/megaraid/megaraid_sas.h
+++ b/drivers/scsi/megaraid/megaraid_sas.h
@@ -1600,6 +1600,8 @@ enum FW_BOOT_CONTEXT {
#define MR_CAN_HANDLE_SYNC_CACHE_OFFSET 0X01000000
+#define MR_ATOMIC_DESCRIPTOR_SUPPORT_OFFSET (1 << 24)
+
#define MR_CAN_HANDLE_64_BIT_DMA_OFFSET (1 << 25)
#define MEGASAS_WATCHDOG_THREAD_INTERVAL 1000
@@ -2395,6 +2397,7 @@ struct megasas_instance {
struct dentry *raidmap_dump;
#endif
u8 enable_fw_dev_list;
+ bool atomic_desc_support;
};
struct MR_LD_VF_MAP {
u32 size;