scsi: qedf: Simplify s/g list mapping
authorChad Dupuis <cdupuis@marvell.com>
Tue, 26 Mar 2019 07:38:36 +0000 (00:38 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 28 Mar 2019 01:54:51 +0000 (21:54 -0400)
commit3e2c11b3fb7a237683f9405f14482a6f089b7e37
treee4af67b5fd1f7dfbdbea9f37ce5da42a7e0680d9
parentc5e06ba2f76809ad1492fdad312e81335df46bc5
scsi: qedf: Simplify s/g list mapping

When mapping the pages from a scatter/gather list from the SCSI layer we
only need to follow these rules:

 - Max SGEs for each I/O request is 256
 - No size limit on each SGE
 - No need to split OS provided SGEs to 4K before sending to firmware.
 - Slow SGE is applicable only when:
   - There are > 8 SGEs and any middle SGE is less than a page size (4K)

Make necessary changes so that driver follows these rules. Applicable only
for Write requests (not for Read requests). No need to check SGE address
alignment requirements (first, middle or last) before declaring slow SGE.

Signed-off-by: Chad Dupuis <cdupuis@marvell.com>
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf.h
drivers/scsi/qedf/qedf_debugfs.c
drivers/scsi/qedf/qedf_io.c