diff options
author | Mahesh Rajashekhara <Mahesh.Rajashekhara@pmcs.com> | 2015-03-26 10:41:27 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Odin.com> | 2015-04-09 19:52:33 -0400 |
commit | a7129a5443cd01b0a3544785974e09032f19b464 (patch) | |
tree | 25d844c93be6b52f9efccc3d27e730871d851aae | |
parent | 5d9106490c7f7533abc6b8e15ceab64f2c7f466a (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.c | 5 | ||||
-rw-r--r-- | drivers/scsi/aacraid/aacraid.h | 3 |
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 | ||