scsi: hisi_sas: fix SATA breakpoint memory size
authorXiang Chen <chenxiang66@hisilicon.com>
Tue, 24 Oct 2017 15:51:35 +0000 (23:51 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 25 Oct 2017 12:21:04 +0000 (08:21 -0400)
commit3297ded1dd22882d3e164932ed710442e5bb72c5
treec5ccc4c2bd0b28b15b5b5c31547ded4cda8d54f0
parent9feaf9090bac3963d1b1afeba08179a0dda9c0f2
scsi: hisi_sas: fix SATA breakpoint memory size

Currently the size of memory we allocate for SATA breakpoint buffer is
incorrect.

The breakpoint memory size should be as follows: 32 (NCQ tags) * 128 *
2048 (max #devs) = 8MB

Currently we only allocate 0.5MB, but get away with it as we never
have SATA device index > 128 typically.

To conserve precious DMA memory (8MB may not be even available), limit
the number of devices per HBA to 1024, which means 4MB of memory
required for SATA breakpoint.

The 1024 device limit applied to all HW versions. For v3 hw, we need
to configure this value.

Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas.h
drivers/scsi/hisi_sas/hisi_sas_main.c
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c