diff options
-rw-r--r-- | drivers/block/cciss.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 62b6c2cc80b5..d2d95ff5353b 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c | |||
@@ -4258,6 +4258,13 @@ static void cciss_find_board_params(ctlr_info_t *h) | |||
4258 | h->nr_cmds = h->max_commands - 4 - cciss_tape_cmds; | 4258 | h->nr_cmds = h->max_commands - 4 - cciss_tape_cmds; |
4259 | h->maxsgentries = readl(&(h->cfgtable->MaxSGElements)); | 4259 | h->maxsgentries = readl(&(h->cfgtable->MaxSGElements)); |
4260 | /* | 4260 | /* |
4261 | * The P600 may exhibit poor performnace under some workloads | ||
4262 | * if we use the value in the configuration table. Limit this | ||
4263 | * controller to MAXSGENTRIES (32) instead. | ||
4264 | */ | ||
4265 | if (h->board_id == 0x3225103C) | ||
4266 | h->maxsgentries = MAXSGENTRIES; | ||
4267 | /* | ||
4261 | * Limit in-command s/g elements to 32 save dma'able memory. | 4268 | * Limit in-command s/g elements to 32 save dma'able memory. |
4262 | * Howvever spec says if 0, use 31 | 4269 | * Howvever spec says if 0, use 31 |
4263 | */ | 4270 | */ |