[PATCH 00/10] mpt3sas driver Enhancements and

2016-10-20 Thread Suganath Prabu S
Descriptors for SAS35 devices. * For SAS35 devices MSIX vectors are inceased to 128 from 96. * Fixing Endianness issue. * Updated driver version to 14.100.00.00 Suganath Prabu S (10): mpt3sas: Fix for improper info displayed in var log, while blocking or unblocking the device.

[PATCH 01/10] mpt3sas: Fix for improper info displayed in var log, while blocking or unblocking the device.

2016-10-20 Thread Suganath Prabu S
Return value and Device_handle Arguments passed in correct order to match with its format string. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 8 1 file changed, 4 insertions(+), 4 deletions

[PATCH 02/10] mpt3sas: Fix for incorrect numbers for MSIX vectors enabled when non RDPQ card is enumerated first.

2016-10-20 Thread Suganath Prabu S
B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index a1a5ceb..4ea81e1 100644 --- a/d

[PATCH 04/10] mpt3sas: Removing unused macro "MPT_DEVICE_TLR_ON"

2016-10-20 Thread Suganath Prabu S
Removing macro "MPT_DEVICE_TLR_ON" defined in header file as its unused Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas

[PATCH 08/10] mpt3sas: set EEDP-escape-flags for SAS35 devices.

2016-10-20 Thread Suganath Prabu S
x and the Logical Block Reference Tag is 0x for PI type 3. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih

[PATCH 05/10] mpt3sas: Bump driver version as "14.100.00.00"

2016-10-20 Thread Suganath Prabu S
Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h index e923c91

[PATCH 07/10] mpt3sas: Increased/Additional MSIX support for SAS35 devices.

2016-10-20 Thread Suganath Prabu S
. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 14 +++--- drivers/scsi/mpt3sas/mpt3sas_base.h | 8 +--- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 11 +-- 3 files changed, 21 insertions

[PATCH 10/10] mpt3sas: Fix for Endianness issue.

2016-10-20 Thread Suganath Prabu S
Use le16_to_cpu only for accessing two byte data provided by controller. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers

[PATCH 09/10] mpt3sas: Use the new MPI 2.6 32-bit Atomic Request Descriptors for SAS35 devices.

2016-10-20 Thread Suganath Prabu S
Support Atomic Request Descriptors for Ventura/SAS35 devices. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 141 +++ drivers/scsi/mpt3sas/mpt3sas_base.h | 18

[PATCH 06/10] mpt3sas: Added Device ID's for SAS35 devices and updated MPI header.

2016-10-20 Thread Suganath Prabu S
Added Device ID's for SAS35 devices (Ventura, Crusader, Harpoon & Tomcat) and updated mpi header file for the same. Also added "is_gen35_ioc" to MPT3SAS_ADAPTER structure for identifying SAS35 adapters. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-b

[PATCH 03/10] mpt3sas: Implement device_remove_in_progress check in IOCTL path

2016-10-20 Thread Suganath Prabu S
: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 19 +++ drivers/scsi/mpt3sas/mpt3sas_base.h | 5 drivers/scsi/mpt3sas/mpt3sas_ctl.c | 46 ++-- drivers/scsi/mpt3sas/mpt3sas_scsih.c

[PATCH v2 03/11] mpt3sas: Implement device_remove_in_progress check in IOCTL path

2016-10-26 Thread Suganath Prabu S
: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 19 +++ drivers/scsi/mpt3sas/mpt3sas_base.h | 5 drivers/scsi/mpt3sas/mpt3sas_ctl.c | 46 ++-- drivers/scsi/mpt3sas/mpt3sas_scsih.c

[PATCH v2 05/11] mpt3sas: Bump driver version as "14.100.00.00"

2016-10-26 Thread Suganath Prabu S
Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h index e923c91

[PATCH v2 06/11] mpt3sas: Added Device ID's for SAS35 devices and updated MPI header.

2016-10-26 Thread Suganath Prabu S
Added Device ID's for SAS35 devices (Ventura, Crusader, Harpoon & Tomcat) and updated mpi header file for the same. Also added "is_gen35_ioc" to MPT3SAS_ADAPTER structure for identifying SAS35 adapters. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-b

[PATCH v2 08/11] mpt3sas: set EEDP-escape-flags for SAS35 devices.

2016-10-26 Thread Suganath Prabu S
x and the Logical Block Reference Tag is 0x for PI type 3. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S Reviewed-by: Hannes Reinecke Reviewed-by: Tomas Henzl --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 3 +++ 1 file changed, 3 inser

[PATCH v2 07/11] mpt3sas: Increased/Additional MSIX support for SAS35 devices.

2016-10-26 Thread Suganath Prabu S
. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S Reviewed-by: Hannes Reinecke Reviewed-by: Tomas Henzl --- drivers/scsi/mpt3sas/mpt3sas_base.c | 14 +++--- drivers/scsi/mpt3sas/mpt3sas_base.h | 8 +--- drivers/scsi/mpt3sas

[PATCH v2 00/11] mpt3sas driver Enhancements and

2016-10-26 Thread Suganath Prabu S
Descriptors for SAS35 devices. * For SAS35 devices MSIX vectors are inceased to 128 from 96. * Fixing Endianness issue. * Updated driver version to 14.100.00.00 at the end of SAS3 changes and updated driver minor version to 14.101.00.00 after SAS35 changes. Suganath Prabu S (11):

[PATCH v2 10/11] mpt3sas: Fix for Endianness issue.

2016-10-26 Thread Suganath Prabu S
Use le16_to_cpu only for accessing two byte data provided by controller. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S Reviewed-by: Hannes Reinecke Reviewed-by: Tomas Henzl --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 12 +++- 1 file changed

[PATCH v2 02/11] mpt3sas: Fix for incorrect numbers for MSIX vectors enabled when non RDPQ card is enumerated first.

2016-10-26 Thread Suganath Prabu S
B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S Reviewed-by: Hannes Reinecke Reviewed-by: Tomas Henzl --- drivers/scsi/mpt3sas/mpt3sas_base.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3s

[PATCH v2 01/11] mpt3sas: Fix for improper info displayed in var log, while blocking or unblocking the device.

2016-10-26 Thread Suganath Prabu S
Return value and Device_handle Arguments passed in correct order to match with its format string. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S Reviewed-by: Hannes Reinecke Reviewed-by: Tomas Henzl --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 8

[PATCH v2 09/11] mpt3sas: Use the new MPI 2.6 32-bit Atomic Request Descriptors for SAS35 devices.

2016-10-26 Thread Suganath Prabu S
Support Atomic Request Descriptors for Ventura/SAS35 devices. Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S Reviewed-by: Hannes Reinecke Reviewed-by: Tomas Henzl --- drivers/scsi/mpt3sas/mpt3sas_base.c | 141

[PATCH v2 11/11] mpt3sas: Bump driver version as "14.101.00.00"

2016-10-26 Thread Suganath Prabu S
Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h index 5d9ae15

[PATCH v2 04/11] mpt3sas: Removing unused macro "MPT_DEVICE_TLR_ON"

2016-10-26 Thread Suganath Prabu S
Removing macro "MPT_DEVICE_TLR_ON" defined in header file as its unused Signed-off-by: Chaitra P B Signed-off-by: Sathya Prakash Signed-off-by: Suganath Prabu S Reviewed-by: Hannes Reinecke Reviewed-by: Tomas Henzl --- drivers/scsi/mpt3sas/mpt3sas_base.h | 1 - 1 file changed,

[PATCH] mpt3sas: Fix for SATA drive in blocked state, after diag reset while ATA Passthrough command is outstanding.

2016-11-17 Thread Suganath Prabu S
anath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index a250cfd..5c8f752 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers

[PATCH] mpt2sas: Fix secure erase premature termination.

2016-11-18 Thread Suganath Prabu S
other command. P.S This is a backport from the same fix for mpt3sas driver intended for pre-4.4 stable trees. Signed-off-by: Suganath Prabu S Cc: sta...@vger.kernel.org --- drivers/scsi/mpt2sas/mpt2sas_scsih.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/drivers/scsi

[PATCH 2/4] mpt3sas: Add support for NVMe Switch Adapter

2019-01-29 Thread Suganath Prabu S
Added device ID for NVMe Switch Adapter (Ambrosia). VID: 0x1000 DID: 0x02B1 Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 1 + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 2 files changed, 5 insertions(+) diff --git a/drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h b

[PATCH 1/4] mpt3sas: Rename mpi endpoint device ID macro.

2019-01-29 Thread Suganath Prabu S
MPI Endpoint is a PCIe switch based on MPI2, Renaming device ID macro from MPI2_MFGPAGE_DEVID_SAS2308_MPI_EP to MPI2_MFGPAGE_DEVID_SWITCH_MPI_EP Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 2 +- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 6 +++--- 2 files changed, 4

[PATCH 0/4] mpt3sas: Add Atlas and Ambrosia device support.

2019-01-29 Thread Suganath Prabu S
MPI2.6 and it exposes one SES device to accept management commands. Suganath Prabu S (4): mpt3sas: Rename mpi endpoint device ID macro. mpt3sas: Add support for NVMe Switch Adapter mpt3sas: Add support for ATLAS PCIe switch. mpt3sas: Update driver version to 27.102.00.00 drivers/scsi

[PATCH 3/4] mpt3sas: Add support for ATLAS PCIe switch.

2019-01-29 Thread Suganath Prabu S
Add Atlas PCIe Switch Management Port device PNPID, Vendor Id: 0x1000 device Id: 0x00B2 This device is based on MPI 2.6 spec and it exposes one SES device to accept management commands for the PCIe switch. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 3

[PATCH 4/4] mpt3sas: Update driver version to 27.102.00.00

2019-01-29 Thread Suganath Prabu S
Updated driver version to 27.102.00.00 from 27.101.00.00. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h index db12c1b

[PATCH 00/10] mpt3sas: Aero/Sea HBA feature addition

2019-05-17 Thread Suganath Prabu S
(i.e use low latency reply queue). If outstanding IOs per scsi device is more than 8 - Driver should do round robin io submission in batches on high iops queue. Example: Batches of the 16. “First 16 IOS submitted to reply queue 0, next 16 IOS submitted to reply queue 1 etc”. Suganath Prabu S (10

[PATCH 02/10] mpt3sas: Add Atomic Request Descriptor support on Aero

2019-05-17 Thread Suganath Prabu S
Request Descriptor is an atomic operation, providing a safe mechanism for multiple processors on the host to post requests without synchronization. This Atomic Request Descriptor format is identical to first 32 bits of Default Request Descriptor and uses only 32 bits Signed-off-by: Suganath Prabu S

[PATCH 01/10] mpt3sas: function pointers of request descriptor

2019-05-17 Thread Suganath Prabu S
statements Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 32 ++-- drivers/scsi/mpt3sas/mpt3sas_base.h | 3 +++ drivers/scsi/mpt3sas/mpt3sas_config.c| 2 +- drivers/scsi/mpt3sas/mpt3sas_ctl.c | 20

[PATCH 03/10] mpt3sas: Add flag high_iops_queues

2019-05-17 Thread Suganath Prabu S
max_msix_vectors module parameter and - System booted in non kdump mode. Reply queues with interrupt coalescing enabled are called "high iops reply queues" and reply queues with interrupt coalescing disabled are called "low latency reply queues". Signed-off-by: Suganath Prabu

[PATCH 04/10] mpt3sas: change _base_get_msix_index prototype

2019-05-17 Thread Suganath Prabu S
Code refactoring. In function _base_get_msix_index add scmd as second argument. This change is required for creating function pointer in next patch, where we introduce new function to get the msix index for high iops queues Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas

[PATCH 05/10] mpt3sas: Use highiops queues if more in-flights

2019-05-17 Thread Suganath Prabu S
Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 36 +++- drivers/scsi/mpt3sas/mpt3sas_base.h | 14 +- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index

[PATCH 06/10] mpt3sas: save msix index and use same while posting RD

2019-05-17 Thread Suganath Prabu S
descriptor and save determined msix index in msix_io field. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 42 drivers/scsi/mpt3sas/mpt3sas_base.h | 1 + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 1 + 3 files changed, 35 insertions

[PATCH 07/10] mpt3sas: Affinity high iops queues IRQs to local node

2019-05-17 Thread Suganath Prabu S
. In general, high iops queue and low latency queue together should fit into 128 reply queue (max reply queue supported by Aero/Sea) Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 73 +++-- 1 file changed, 62 insertions(+), 11 deletions

[PATCH 08/10] mpt3sas: Enable interrupt coalescing on high iops

2019-05-17 Thread Suganath Prabu S
user), current modified changes on ioc page1 won't take effect. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 2 +- drivers/scsi/mpt3sas/mpt3sas_base.c | 16 drivers/scsi/mpt3sas/mpt3sas_base.h | 5 +++ drivers/scsi/mpt3sas/mpt3sas_config.c

[PATCH 09/10] mpt3sas: Introduce perf_mode module parameter

2019-05-17 Thread Suganath Prabu S
498.10 usec | |-|--|--| |latency | 97.10 usec |689.26 usec | - Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 144 +++

[PATCH 10/10] mpt3sas: Update driver version to 29.100.00.00

2019-05-17 Thread Suganath Prabu S
Update driver version from 28.100.00.00 to 29.100.00.00 This is equivalent to Phase 10 OOB driver. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi

[PATCH v2 08/10] mpt3sas: Enable interrupt coalescing on high iops

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu Enable interrupt coalescing only on high iops queues when high iops queues are enabled. In ioc config page 1, offset 0x14 (ProductSpecific field) is used to determine interrupt coalescing enabled/disabled on per reply descriptor post queue group(8) basis. If 31st bit is zero

[PATCH v2 02/10] mpt3sas: Add Atomic RequestDescriptor support on Aero

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu If the Aero HBA supports Atomic Request Descriptors, it sets the Atomic Request Descriptor Capable bit in the IOCCapabilities field of the IOCFacts Reply message. Driver uses an Atomic Request Descriptor as an alternative method for posting an entry onto a request queue. The

[PATCH v2 05/10] mpt3sas: Use highiops queues if more in-flights

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu Driver will use round robin method for io submission in batches within the high iops queues when in-flight ios on the target device is more than 8. If in-flight ios per SCSI device more than 8, driver will use high iops queue else driver will use low latency reply queues. S

[PATCH v2 00/10] mpt3sas: Aero/Sea HBA feature addition

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu In this patch series we are adding below two features for Aero/Sea HBA device. Aero/Sea series HBA is PCI4.0 based controllers. 1. Add Atomic Request descriptor support: Atomic Request Descriptor is an alternative method for posting an entry onto a request queue. The posting

[PATCH v2 10/10] mpt3sas: Update driver version to 29.100.00.00

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu Update driver version from 28.100.00.00 to 29.100.00.00 This is equivalent to Phase 10 OOB driver. Signed-off-by: Suganath Prabu --- drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_bas

[PATCH v2 06/10] mpt3sas:save msix index and use same while posting RD

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu Code refactor: In the IO submission path _base_get_msix_index is called twice, one while getting the smid; msix index is saved in msix_io filed in scsiio tracker and anther while posting the request descriptor(RD). now code refactor is done to determine msix index only while

[PATCH v2 09/10] mpt3sas: Introduce perf_mode module parameter

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu 1. Introduce module parameter perf_mode for only Aero/Sea generation HBAs. 2. Update IOC page1 fields according to performance mode. Below are the performance modes that can be enabled with module parameter perf_mode. 0: Balanced - Few high iops reply queues will be enab

[PATCH v2 07/10] mpt3sas: Affinity high iops queues IRQs to local node

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu High iops queues are mapped to non-managed irqs. Set affinity of non-managed irqs to local numa node. Low latency queues are mapped to managed irq. Driver reserves some reply queues (pci_alloc_irq_vectors_affinity and .pre_vectors interface is used to meet the goal) for max

[PATCH v2 04/10] mpt3sas: change _base_get_msix_index prototype

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu Code refactoring. In function _base_get_msix_index add scmd as second argument. This change is required for creating function pointer in next patch, where we introduce new function to get the msix index for high iops queues Signed-off-by: Suganath Prabu --- drivers/scsi/m

[PATCH v2 03/10] mpt3sas: Add flag high_iops_queues

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu Aero controllers supports balanced performance mode and driver enables set of high iops and low latency reply queue only if, - HBA is an AERO controller, - MSIXs vector supported by the HBA is 128, - Total CPU count in the system more than high iops queue count, - Loaded

[PATCH v2 01/10] mpt3sas: function pointers of request descriptor

2019-05-20 Thread Suganath Prabu S
From: Suganath Prabu This code refactoring introduces function pointers. Host uses Request Descriptors of different types for posting an entry onto a request queue. Based on controller type and capabilities, host can also use atomic descriptors other than normal descriptors. Using function point

[V3 09/10] mpt3sas: Introduce perf_mode module parameter

2019-05-31 Thread Suganath Prabu S
498.10 usec | |-|--|--| |latency | 97.10 usec |689.26 usec | - Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 144

[V3 03/10] mpt3sas: Add flag high_iops_queues

2019-05-31 Thread Suganath Prabu S
max_msix_vectors module parameter and - System booted in non kdump mode. Reply queues with interrupt coalescing enabled are called "high iops reply queues" and reply queues with interrupt coalescing disabled are called "low latency reply queues". Signed-off-by: Suganath Prabu

[V3 07/10] mpt3sas: Affinity high iops queues IRQs to local node

2019-05-31 Thread Suganath Prabu S
. In general, high iops queue and low latency queue together should fit into 128 reply queue (max reply queue supported by Aero/Sea). Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 73 - 1 file changed, 62 insertions(+), 11 deletions(-) diff

[V3 10/10] mpt3sas: Update driver version to 29.100.00.00

2019-05-31 Thread Suganath Prabu S
Update driver version from 28.100.00.00 to 29.100.00.00 This is equivalent to Phase 10 OOB driver. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi

[V3 05/10] mpt3sas: Use highiops queues if more in-flights

2019-05-31 Thread Suganath Prabu S
Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 36 - drivers/scsi/mpt3sas/mpt3sas_base.h | 14 ++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index 57d0e7d

[V3 06/10] mpt3sas:save msix index and use same while posting RD

2019-05-31 Thread Suganath Prabu S
descriptor and save determined msix index in msix_io field. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 42 ++-- drivers/scsi/mpt3sas/mpt3sas_base.h | 1 + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 1 + 3 files changed, 35 insertions(+), 9

[V3 08/10] mpt3sas: Enable interrupt coalescing on high iops

2019-05-31 Thread Suganath Prabu S
user), current modified changes on ioc page1 won't take effect. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 2 +- drivers/scsi/mpt3sas/mpt3sas_base.c | 16 ++ drivers/scsi/mpt3sas/mpt3sas_base.h | 5 ++ drivers/scsi/mpt3sas/mpt3sas_config.c

[V3 04/10] mpt3sas: change _base_get_msix_index prototype

2019-05-31 Thread Suganath Prabu S
Code refactoring. In function _base_get_msix_index add scmd as second argument. This change is required for creating function pointer in next patch, where we introduce new function to get the msix index for high iops queues Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas

[V3 01/10] mpt3sas: function pointers of request descriptor

2019-05-31 Thread Suganath Prabu S
statements Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 38 +--- drivers/scsi/mpt3sas/mpt3sas_base.h | 3 ++ drivers/scsi/mpt3sas/mpt3sas_config.c| 2 +- drivers/scsi/mpt3sas/mpt3sas_ctl.c | 20 ++--- drivers/scsi

[V3 02/10] mpt3sas: Add Atomic RequestDescriptor support on Aero

2019-05-31 Thread Suganath Prabu S
Request Descriptor is an atomic operation, providing a safe mechanism for multiple processors on the host to post requests without synchronization. This Atomic Request Descriptor format is identical to first 32 bits of Default Request Descriptor and uses only 32 bits Signed-off-by: Suganath Prabu S

[V3 00/10] mpt3sas: Aero/Sea HBA feature addition

2019-05-31 Thread Suganath Prabu S
warnings reported by kbuild test robot v3: - In patch6, For readability use if statement instead of ternary operator. Suganath Prabu S (10): mpt3sas: function pointers of request descriptor mpt3sas: Add Atomic RequestDescriptor support on Aero mpt3sas: Add flag high_iops_queues mpt3sas: change

[PATCH 1/6] mpt3sas: Add PCI device ID for Andromeda.

2018-01-19 Thread Suganath Prabu S
Add device ID and flag for Andromeda/MPI Emdpont. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 1 + drivers/scsi/mpt3sas/mpt3sas_base.h | 1 + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 14 -- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git

[PATCH 2/6] mpt3sas: Configure reply post queue depth, DMA and sgl tablesize.

2018-01-19 Thread Suganath Prabu S
This configures shost max sector to 128, single reply descriptor post queue, sgl table size to 16 and 32 bit DMA for MPI Endpoint and it supports 64K as max IO. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 47 +++- drivers/scsi

[PATCH 6/6] mpt3sas: Introduce function to clone mpi reply.

2018-01-19 Thread Suganath Prabu S
If the posted request has an error of any type, the IOC writes a Reply message into a host-based system reply message frame. This functions clone it in the BAR0 mapped region. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 34 +- 1 file

[PATCH 3/6] mpt3sas: Introduce API's to get BAR0 mapped buffer address.

2018-01-19 Thread Suganath Prabu S
uffer directly to the mCPU memory region via BAR-0 region. Introduced API's to calculate and return BAR0 mapped host buffer's physical and virtual address for the provided smid. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 93 +++

[PATCH 5/6] mpt3sas: Introduce function to clone mpi request.

2018-01-19 Thread Suganath Prabu S
Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 131 +--- 1 file changed, 123 insertions(+), 8 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index 40a1806..0248058 100644 --- a/drivers/scsi/mpt3sas

[PATCH 0/6] mpt3sas: Adding MPI Endpoint device support.

2018-01-19 Thread Suganath Prabu S
as possible to avoid any TLP timeout. Suganath Prabu S (6): mpt3sas: Add PCI device ID for Andromeda. mpt3sas: Configure reply post queue depth, DMA and sgl tablesize. mpt3sas: Introduce API's to get BAR0 mapped buffer address. mpt3sas: Introduce Base function for cloning. mpt3sas: I

[PATCH 4/6] mpt3sas: Introduce Base function for cloning.

2018-01-19 Thread Suganath Prabu S
All scsi IO's and config requests data buffer and sgl are cloned to system memory in _clone_sg_entries before submitting it to Firmware. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 212 +- drivers/scsi/mpt3sas/mpt3sas_b

[V1 2/6] mpt3sas: Configure reply post queue depth, DMA and sgl tablesize.

2018-02-07 Thread Suganath Prabu S
This configures shost max sector to 128, single reply descriptor post queue, sgl table size to 16 and 32 bit DMA for MPI Endpoint and it supports 64K as max IO. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 47 +++- drivers/scsi

[V1 1/6] mpt3sas: Add PCI device ID for Andromeda.

2018-02-07 Thread Suganath Prabu S
Add device ID and flag for Andromeda/MPI Emdpont. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 1 + drivers/scsi/mpt3sas/mpt3sas_base.h | 1 + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 14 -- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git

[V1 3/6] mpt3sas: Introduce API's to get BAR0 mapped buffer address.

2018-02-07 Thread Suganath Prabu S
uffer directly to the mCPU memory region via BAR-0 region. Introduced API's to calculate and return BAR0 mapped host buffer's physical and virtual address for the provided smid Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 93 +++

[V1 6/6] mpt3sas: Introduce function to clone mpi reply.

2018-02-07 Thread Suganath Prabu S
If the posted request has an error of any type, the IOC writes a Reply message into a host-based system reply message frame. This functions clone it in the BAR0 mapped region. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 37 - 1

[V1 0/6] mpt3sas: Adding MPI Endpoint device support.

2018-02-07 Thread Suganath Prabu S
the entry point in IOC FW module. Once PLX management calls relevant callbackfrom IOC FW, rest of the processing will behandled within IOC FW. IOC FW should release TLP packet as soon as possible to avoid any TLP timeout. Suganath Prabu S (6): mpt3sas: Add PCI device ID for Andromeda. mpt3

[V1 5/6] mpt3sas: Introduce function to clone mpi request.

2018-02-07 Thread Suganath Prabu S
,_base_writeq function is identical to _base_mpi_ep_writeq, Removed duplicate code as suggested. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 140 1 file changed, 125 insertions(+), 15 deletions(-) diff --git a/drivers/scsi/mpt3sas

[V1 4/6] mpt3sas: Introduce Base function for cloning.

2018-02-07 Thread Suganath Prabu S
All scsi IO's and config requests data buffer and sgl are cloned to system memory in _clone_sg_entries before submitting it to Firmware. Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 215 +- drivers/scsi/mpt3sas/mpt3sas_b

[V1] mpt3sas: Do not use 32-bit atomic request descriptor for Ventura controllers.

2018-02-14 Thread Suganath Prabu S
and use 64 bit Descriptors V1 Change set: 1) In this patch removed callbacks as suggested by Hannes. Note: This patch Should be applied on top of https://www.spinics.net/lists/linux-scsi/msg117405.html "Adding MPI Endpoint device support" patches. Signed-off-by: Suganath Prabu S --

[PATCH 00/13]mpt3sas driver NVMe support:

2017-06-29 Thread Suganath Prabu S
Ventura Series controller are Tri-mode. The controller and firmware are capable of supporting NVMe devices and PCIe switches to be connected with the controller. This patch set adds driver level support for NVMe devices and PCIe switches. Suganath Prabu S (13): mpt3sas: Add nvme device support

[PATCH 01/13] mpt3sas: Add nvme device support in slave alloc, target alloc and probe

2017-06-29 Thread Suganath Prabu S
estroy are called when driver unregisters or removes device. Also frees allocated resources and info. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 68 +++- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 291 ++

[PATCH 13/13] mpt3sas: Update mpt3sas driver version.

2017-06-29 Thread Suganath Prabu S
Updated mpt3sas driver version to 15.101.00.00 Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas

[PATCH 12/13] mpt3sas: Update MPI Header

2017-06-29 Thread Suganath Prabu S
Update MPI Files for NVMe support Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpi/mpi2.h | 43 +++- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 647 +- drivers/scsi/mpt3sas/mpi/mpi2_init.h | 11 +- drivers/scsi

[PATCH 10/13] mpt3sas: NVMe drive support for BTDHMAPPING ioctl command and log info

2017-06-29 Thread Suganath Prabu S
* Added debug prints for pcie devices in ioctl debug path. Which will be helpful for debugging. * Added PCIe device support for ioctl BTDHMAPPING ioctl. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h |3 +- drivers/scsi/mpt3sas

[PATCH 11/13] mpt3sas: Fix nvme drives checking for tlr.

2017-06-29 Thread Suganath Prabu S
Check for NVMe drives before enabling or checking tlr. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 22 -- 1 files changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b

[PATCH 09/13] mpt3as: Add-Task-management-debug-info-for-NVMe-drives.

2017-06-29 Thread Suganath Prabu S
Added debug information for NVMe/PCIe drives in target rest path. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 86 -- 1 files changed, 72 insertions(+), 14 deletions(-) diff --git a/drivers/scsi/mpt3sas

[PATCH 07/13] mpt3sas: API's to remove nvme drive from sml

2017-06-29 Thread Suganath Prabu S
Below API's are included in nvme drive remove path. _scsih_pcie_device_remove _scsih_pcie_device_remove_by_handle _scsih_pcie_device_remove_from_sml Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 190

[PATCH 08/13] mpt3sas: scan and add nvme device after controller reset

2017-06-29 Thread Suganath Prabu S
After Controller reset, Scan and add nvme device back to the topology. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 196 +- 1 files changed, 191 insertions(+), 5 deletions(-) diff --git a/drivers/scsi

[PATCH 05/13] mpt3sas: Set NVMe device queue depth as 128

2017-06-29 Thread Suganath Prabu S
Sets nvme device queue depth, name and displays device capabilities. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h |2 +- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 40 ++ 2 files changed, 41 insertions

[PATCH 06/13] mpt3sas: API 's to support NVMe drive addition to SML

2017-06-29 Thread Suganath Prabu S
mpt3sas_config_get_pcie_device_pg0 mpt3sas_config_get_pcie_device_pg2 Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 53 +++ drivers/scsi/mpt3sas/mpt3sas_config.c | 100 ++ drivers/scsi/mpt3sas/mpt3sas_scsih.c | 568

[PATCH 03/13] mpt3sas: Added support for nvme encapsulated request message.

2017-06-29 Thread Suganath Prabu S
. * This encapsulated NVMe command is used by applications to send direct NVMe commands to NVMe drives or for handling unmap where the translation at controller/firmware level is having performance issues. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas

[PATCH 04/13] mpt3sas: Handle NVMe PCIe device related events generated from firmware.

2017-06-29 Thread Suganath Prabu S
igned-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.c | 30 ++- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 468 +- 2 files changed, 492 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_b

[PATCH 02/13] mpt3sas: SGL to PRP Translation for I/Os to NVMe devices

2017-06-29 Thread Suganath Prabu S
translate it. And this will have a performance reduction. To avoid that driver proactively checks whether the translation will be done in hardware or not, if not then driver try to translate inside the driver. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas

[PATCH 00/13]mpt3sas driver NVMe support:

2017-07-11 Thread Suganath Prabu S
Ventura Series controller are Tri-mode. The controller and firmware are capable of supporting NVMe devices and PCIe switches to be connected with the controller. This patch set adds driver level support for NVMe devices and PCIe switches. Suganath Prabu S (13): mpt3sas: Add nvme device support

[PATCH 06/13] mpt3sas: API 's to support NVMe drive addition to SML

2017-07-11 Thread Suganath Prabu S
mpt3sas_config_get_pcie_device_pg0 mpt3sas_config_get_pcie_device_pg2 Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 53 +++ drivers/scsi/mpt3sas/mpt3sas_config.c | 100 ++ drivers/scsi/mpt3sas/mpt3sas_scsih.c | 568

[PATCH 01/13] mpt3sas: Add nvme device support in slave alloc, target alloc and probe

2017-07-11 Thread Suganath Prabu S
estroy are called when driver unregisters or removes device. Also frees allocated resources and info. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 68 +++- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 291 ++

[PATCH 10/13] mpt3sas: NVMe drive support for BTDHMAPPING ioctl command and log info

2017-07-11 Thread Suganath Prabu S
* Added debug prints for pcie devices in ioctl debug path. Which will be helpful for debugging. * Added PCIe device support for ioctl BTDHMAPPING ioctl. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h |3 +- drivers/scsi/mpt3sas

[PATCH 13/13] mpt3sas: Update mpt3sas driver version.

2017-07-11 Thread Suganath Prabu S
Updated mpt3sas driver version to 15.101.00.00 Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas

[PATCH 08/13] mpt3sas: scan and add nvme device after controller reset

2017-07-11 Thread Suganath Prabu S
After Controller reset, Scan and add nvme device back to the topology. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 196 +- 1 files changed, 191 insertions(+), 5 deletions(-) diff --git a/drivers/scsi

[PATCH 12/13] mpt3sas: Update MPI Header

2017-07-11 Thread Suganath Prabu S
Update MPI Files for NVMe support Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpi/mpi2.h | 43 +++- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 647 +- drivers/scsi/mpt3sas/mpi/mpi2_init.h | 11 +- drivers/scsi

[PATCH 11/13] mpt3sas: Fix nvme drives checking for tlr.

2017-07-11 Thread Suganath Prabu S
Check for NVMe drives before enabling or checking tlr. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 22 -- 1 files changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b

  1   2   3   >