scsi: cxlflash: Use derived maximum write same length
authorMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
Wed, 25 Oct 2017 21:35:57 +0000 (16:35 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 31 Oct 2017 16:28:02 +0000 (12:28 -0400)
commit285e6670d0229b0157a9167eb8b2626b445a5a0e
treec03578d327cfd3c97450be146d01b612320b93d3
parent4a6125c5038c93dd1fd1b1b75f3463b54eca543a
scsi: cxlflash: Use derived maximum write same length

The existing write same routine within the cxlflash driver uses a
statically defined value for the maximum write same transfer length.
While this is close to the value reflected by the original device that
was supported by cxlflash, newer devices are capable of much larger
lengths. Supporting what the device is capable of offers substantial
performance improvement as the scrub routine within cxlflash operates on
'chunk size' units (256MB with a 4K sector size).

Instead of a #define, use the write same maximum length that is stored
in the block layer in units of 512 byte sectors. This value is initially
determined from the block limits VPD page during device discovery and
can also be manipulated from sysfs. As a general cleanup, designate the
timeout used when executing the write same command as constant.

Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/cxlflash/sislite.h
drivers/scsi/cxlflash/vlun.c