aacraid: 240 simple volume support
authorMahesh Rajashekhara <Mahesh.Rajashekhara@pmcs.com>
Thu, 26 Mar 2015 14:41:27 +0000 (10:41 -0400)
committerJames Bottomley <JBottomley@Odin.com>
Thu, 9 Apr 2015 23:52:33 +0000 (16:52 -0700)
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@pmcs.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Murthy Bhat <Murthy.Bhat@pmcs.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/aacraid/aachba.c
drivers/scsi/aacraid/aacraid.h

index 09027e9edfd5922eb5e4fa5e965ddea4b145cd46..9b3dd6ef6a0b75794480beedcbaa44965a81bd76 100644 (file)
@@ -462,6 +462,11 @@ int aac_get_containers(struct aac_dev *dev)
        if (status >= 0) {
                dresp = (struct aac_get_container_count_resp *)fib_data(fibptr);
                maximum_num_containers = le32_to_cpu(dresp->ContainerSwitchEntries);
+               if (fibptr->dev->supplement_adapter_info.SupportedOptions2 &
+                   AAC_OPTION_SUPPORTED_240_VOLUMES) {
+                       maximum_num_containers =
+                               le32_to_cpu(dresp->MaxSimpleVolumes);
+               }
                aac_fib_complete(fibptr);
        }
        /* FIB should be freed only after getting the response from the F/W */
index 015c341f26f9addf46d0a652eda4725259b8da9e..bf14ae02ca770bbfaa3f426db4152252e39e6ad3 100644 (file)
@@ -1016,6 +1016,8 @@ struct aac_supplement_adapter_info
 #define AAC_OPTION_DOORBELL_RESET      cpu_to_le32(0x00004000)
 /* 4KB sector size */
 #define AAC_OPTION_VARIABLE_BLOCK_SIZE cpu_to_le32(0x00040000)
+/* 240 simple volume support */
+#define AAC_OPTION_SUPPORTED_240_VOLUMES cpu_to_le32(0x10000000)
 #define AAC_SIS_VERSION_V3     3
 #define AAC_SIS_SLOT_UNKNOWN   0xFF
 
@@ -1751,6 +1753,7 @@ struct aac_get_container_count_resp {
        __le32          MaxContainers;
        __le32          ContainerSwitchEntries;
        __le32          MaxPartitions;
+       __le32          MaxSimpleVolumes;
 };