aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahesh Rajashekhara <Mahesh.Rajashekhara@pmcs.com>2015-03-26 10:41:27 -0400
committerJames Bottomley <JBottomley@Odin.com>2015-04-09 19:52:33 -0400
commita7129a5443cd01b0a3544785974e09032f19b464 (patch)
tree25d844c93be6b52f9efccc3d27e730871d851aae
parent5d9106490c7f7533abc6b8e15ceab64f2c7f466a (diff)
aacraid: 240 simple volume support
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>
-rw-r--r--drivers/scsi/aacraid/aachba.c5
-rw-r--r--drivers/scsi/aacraid/aacraid.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
index 09027e9edfd5..9b3dd6ef6a0b 100644
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -462,6 +462,11 @@ int aac_get_containers(struct aac_dev *dev)
462 if (status >= 0) { 462 if (status >= 0) {
463 dresp = (struct aac_get_container_count_resp *)fib_data(fibptr); 463 dresp = (struct aac_get_container_count_resp *)fib_data(fibptr);
464 maximum_num_containers = le32_to_cpu(dresp->ContainerSwitchEntries); 464 maximum_num_containers = le32_to_cpu(dresp->ContainerSwitchEntries);
465 if (fibptr->dev->supplement_adapter_info.SupportedOptions2 &
466 AAC_OPTION_SUPPORTED_240_VOLUMES) {
467 maximum_num_containers =
468 le32_to_cpu(dresp->MaxSimpleVolumes);
469 }
465 aac_fib_complete(fibptr); 470 aac_fib_complete(fibptr);
466 } 471 }
467 /* FIB should be freed only after getting the response from the F/W */ 472 /* FIB should be freed only after getting the response from the F/W */
diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
index 015c341f26f9..bf14ae02ca77 100644
--- a/drivers/scsi/aacraid/aacraid.h
+++ b/drivers/scsi/aacraid/aacraid.h
@@ -1016,6 +1016,8 @@ struct aac_supplement_adapter_info
1016#define AAC_OPTION_DOORBELL_RESET cpu_to_le32(0x00004000) 1016#define AAC_OPTION_DOORBELL_RESET cpu_to_le32(0x00004000)
1017/* 4KB sector size */ 1017/* 4KB sector size */
1018#define AAC_OPTION_VARIABLE_BLOCK_SIZE cpu_to_le32(0x00040000) 1018#define AAC_OPTION_VARIABLE_BLOCK_SIZE cpu_to_le32(0x00040000)
1019/* 240 simple volume support */
1020#define AAC_OPTION_SUPPORTED_240_VOLUMES cpu_to_le32(0x10000000)
1019#define AAC_SIS_VERSION_V3 3 1021#define AAC_SIS_VERSION_V3 3
1020#define AAC_SIS_SLOT_UNKNOWN 0xFF 1022#define AAC_SIS_SLOT_UNKNOWN 0xFF
1021 1023
@@ -1751,6 +1753,7 @@ struct aac_get_container_count_resp {
1751 __le32 MaxContainers; 1753 __le32 MaxContainers;
1752 __le32 ContainerSwitchEntries; 1754 __le32 ContainerSwitchEntries;
1753 __le32 MaxPartitions; 1755 __le32 MaxPartitions;
1756 __le32 MaxSimpleVolumes;
1754}; 1757};
1755 1758
1756 1759