diff options
| author | Mahesh Rajashekhara <Mahesh_Rajashekhara@pmc-sierra.com> | 2013-01-10 07:22:51 -0500 |
|---|---|---|
| committer | James Bottomley <JBottomley@Parallels.com> | 2013-01-29 22:07:48 -0500 |
| commit | 2b4df6ea53d05625e9ca2dd73bc0e831976e009d (patch) | |
| tree | 664c2d92d7a5700988d42e62c504f428bd7b11d6 /drivers/scsi/aacraid | |
| parent | b0d5e15cc4d76efacdfe8d974f50d2afc25123fe (diff) | |
[SCSI] aacraid: 1024 max outstanding command support for Series 7 and above
Signed-off-by: Mahesh Rajashekhara <Mahesh_Rajashekhara@pmc-sierra.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/aacraid')
| -rw-r--r-- | drivers/scsi/aacraid/aacraid.h | 8 | ||||
| -rw-r--r-- | drivers/scsi/aacraid/comminit.c | 11 |
2 files changed, 16 insertions, 3 deletions
diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h index 742f5d7eb0f5..a6f7190c09a4 100644 --- a/drivers/scsi/aacraid/aacraid.h +++ b/drivers/scsi/aacraid/aacraid.h | |||
| @@ -12,13 +12,13 @@ | |||
| 12 | *----------------------------------------------------------------------------*/ | 12 | *----------------------------------------------------------------------------*/ |
| 13 | 13 | ||
| 14 | #ifndef AAC_DRIVER_BUILD | 14 | #ifndef AAC_DRIVER_BUILD |
| 15 | # define AAC_DRIVER_BUILD 29801 | 15 | # define AAC_DRIVER_BUILD 30000 |
| 16 | # define AAC_DRIVER_BRANCH "-ms" | 16 | # define AAC_DRIVER_BRANCH "-ms" |
| 17 | #endif | 17 | #endif |
| 18 | #define MAXIMUM_NUM_CONTAINERS 32 | 18 | #define MAXIMUM_NUM_CONTAINERS 32 |
| 19 | 19 | ||
| 20 | #define AAC_NUM_MGT_FIB 8 | 20 | #define AAC_NUM_MGT_FIB 8 |
| 21 | #define AAC_NUM_IO_FIB (512 - AAC_NUM_MGT_FIB) | 21 | #define AAC_NUM_IO_FIB (1024 - AAC_NUM_MGT_FIB) |
| 22 | #define AAC_NUM_FIB (AAC_NUM_IO_FIB + AAC_NUM_MGT_FIB) | 22 | #define AAC_NUM_FIB (AAC_NUM_IO_FIB + AAC_NUM_MGT_FIB) |
| 23 | 23 | ||
| 24 | #define AAC_MAX_LUN (8) | 24 | #define AAC_MAX_LUN (8) |
| @@ -36,6 +36,10 @@ | |||
| 36 | #define CONTAINER_TO_ID(cont) (cont) | 36 | #define CONTAINER_TO_ID(cont) (cont) |
| 37 | #define CONTAINER_TO_LUN(cont) (0) | 37 | #define CONTAINER_TO_LUN(cont) (0) |
| 38 | 38 | ||
| 39 | #define PMC_DEVICE_S7 0x28c | ||
| 40 | #define PMC_DEVICE_S8 0x28d | ||
| 41 | #define PMC_DEVICE_S9 0x28f | ||
| 42 | |||
| 39 | #define aac_phys_to_logical(x) ((x)+1) | 43 | #define aac_phys_to_logical(x) ((x)+1) |
| 40 | #define aac_logical_to_phys(x) ((x)?(x)-1:0) | 44 | #define aac_logical_to_phys(x) ((x)?(x)-1:0) |
| 41 | 45 | ||
diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c index 8e5d3be16127..3f759957f4b4 100644 --- a/drivers/scsi/aacraid/comminit.c +++ b/drivers/scsi/aacraid/comminit.c | |||
| @@ -404,7 +404,13 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev) | |||
| 404 | dev->max_fib_size = status[1] & 0xFFE0; | 404 | dev->max_fib_size = status[1] & 0xFFE0; |
| 405 | host->sg_tablesize = status[2] >> 16; | 405 | host->sg_tablesize = status[2] >> 16; |
| 406 | dev->sg_tablesize = status[2] & 0xFFFF; | 406 | dev->sg_tablesize = status[2] & 0xFFFF; |
| 407 | host->can_queue = (status[3] & 0xFFFF) - AAC_NUM_MGT_FIB; | 407 | if (dev->pdev->device == PMC_DEVICE_S7 || |
| 408 | dev->pdev->device == PMC_DEVICE_S8 || | ||
| 409 | dev->pdev->device == PMC_DEVICE_S9) | ||
| 410 | host->can_queue = ((status[3] >> 16) ? (status[3] >> 16) : | ||
| 411 | (status[3] & 0xFFFF)) - AAC_NUM_MGT_FIB; | ||
| 412 | else | ||
| 413 | host->can_queue = (status[3] & 0xFFFF) - AAC_NUM_MGT_FIB; | ||
| 408 | dev->max_num_aif = status[4] & 0xFFFF; | 414 | dev->max_num_aif = status[4] & 0xFFFF; |
| 409 | /* | 415 | /* |
| 410 | * NOTE: | 416 | * NOTE: |
| @@ -452,6 +458,9 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev) | |||
| 452 | } | 458 | } |
| 453 | } | 459 | } |
| 454 | 460 | ||
| 461 | if (host->can_queue > AAC_NUM_IO_FIB) | ||
| 462 | host->can_queue = AAC_NUM_IO_FIB; | ||
| 463 | |||
| 455 | /* | 464 | /* |
| 456 | * Ok now init the communication subsystem | 465 | * Ok now init the communication subsystem |
| 457 | */ | 466 | */ |
