Re: [PATCH v6 19/20] cxlflash: Use new cxl_pci_read_adapter_vpd() API

2016-03-04 Thread Uma Krishnan
Looks good ! Reviewed-by: Uma Krishnan On 3/4/2016 5:26 AM, Frederic Barrat wrote: To read the adapter VPD, drivers can't rely on pci config APIs, as it wouldn't work on powerVM. cxl introduced a new kernel API especially for this, so start using it. Co-authored-by: Christop

[PATCH 0/7] Miscellaneous patches to support cxlflash in PowerVM

2016-03-04 Thread Uma Krishnan
path error cleanup Uma Krishnan (2): cxlflash: Unmap problem state area before detaching master context cxlflash: Reorder user context initialization drivers/scsi/cxlflash/common.h| 8 +- drivers/scsi/cxlflash/main.c | 72 +++--- drivers/scsi/cxlflash/superpipe.c

[PATCH 1/7] cxlflash: Simplify PCI registration

2016-03-04 Thread Uma Krishnan
From: "Manoj N. Kumar" The calls to pci_request_regions(), pci_resource_start(), pci_set_dma_mask(), pci_set_master() and pci_save_state() are all unnecessary for the IBM CXL flash adapter since data buffers are not required to be mapped to the device's memory. The use of services such as pci_se

[PATCH 2/7] cxlflash: Unmap problem state area before detaching master context

2016-03-04 Thread Uma Krishnan
master context to be detached first and the problem state area to be unmapped second. To resolve this issue, stop_afu() should be called before term_mc(). Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers

[PATCH 3/7] cxlflash: Split out context initialization

2016-03-04 Thread Uma Krishnan
From: "Matthew R. Ochs" Presently, context information structures are allocated and initialized in the same routine, create_context(). This imposes an ordering restriction such that all pieces of information needed to initialize a context must be known before the context is even allocated. This

[PATCH 4/7] cxlflash: Simplify attach path error cleanup

2016-03-04 Thread Uma Krishnan
From: "Matthew R. Ochs" The cxlflash_disk_attach() routine currently uses a cascading error gate strategy for its error cleanup path. While this strategy is commonly used to handle cleanup scenarios, it is too restrictive when function callouts need to be restructured. Problems range from inserti

[PATCH 6/7] cxlflash: Fix to avoid unnecessary scan with internal LUNs

2016-03-04 Thread Uma Krishnan
From: "Manoj N. Kumar" When switching to the internal LUN defined on the IBM CXL flash adapter, there is an unnecessary scan occurring on the second port. This scan leads to the following extra lines in the log: Dec 17 10:09:00 tul83p1 kernel: [ 3708.561134] cxlflash 0008:00:00.0: cxlflash_queu

[PATCH 5/7] cxlflash: Reorder user context initialization

2016-03-04 Thread Uma Krishnan
process element is attached. The cxlflash module is unable to create contexts without a valid process element id. To fix this problem, cxl_start_work() is called before obtaining the process element id. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/superpipe.c | 56

[PATCH 7/7] cxlflash: Increase cmd_per_lun for better throughput

2016-03-04 Thread Uma Krishnan
From: "Manoj N. Kumar" With the current value of cmd_per_lun at 16, the throughput over a single adapter is limited to around 150kIOPS. Increase the value of cmd_per_lun to 256 to improve throughput. With this change a single adapter is able to attain close to the maximum throughput (380kIOPS).

Re: [PATCH 1/7] cxlflash: Simplify PCI registration

2016-03-08 Thread Uma Krishnan
On 3/4/2016 3:55 PM, Uma Krishnan wrote: From: "Manoj N. Kumar" The calls to pci_request_regions(), pci_resource_start(), pci_set_dma_mask(), pci_set_master() and pci_save_state() are all unnecessary for the IBM CXL flash adapter since data buffers are not required to be mapped to th

Re: [PATCH 4/7] cxlflash: Simplify attach path error cleanup

2016-03-08 Thread Uma Krishnan
On 3/4/2016 3:55 PM, Uma Krishnan wrote: From: "Matthew R. Ochs" The cxlflash_disk_attach() routine currently uses a cascading error gate strategy for its error cleanup path. While this strategy is commonly used to handle cleanup scenarios, it is too restrictive when function callou

Re: [PATCH 3/7] cxlflash: Split out context initialization

2016-03-08 Thread Uma Krishnan
On 3/4/2016 3:55 PM, Uma Krishnan wrote: From: "Matthew R. Ochs" Presently, context information structures are allocated and initialized in the same routine, create_context(). This imposes an ordering restriction such that all pieces of information needed to initialize a context mus

Re: [PATCH 6/7] cxlflash: Fix to avoid unnecessary scan with internal LUNs

2016-03-08 Thread Uma Krishnan
On 3/4/2016 3:55 PM, Uma Krishnan wrote: From: "Manoj N. Kumar" When switching to the internal LUN defined on the IBM CXL flash adapter, there is an unnecessary scan occurring on the second port. This scan leads to the following extra lines in the log: Dec 17 10:09:00 tul8

Re: [PATCH 7/7] cxlflash: Increase cmd_per_lun for better throughput

2016-03-08 Thread Uma Krishnan
On 3/4/2016 3:55 PM, Uma Krishnan wrote: From: "Manoj N. Kumar" With the current value of cmd_per_lun at 16, the throughput over a single adapter is limited to around 150kIOPS. Increase the value of cmd_per_lun to 256 to improve throughput. With this change a single adapter is able

[PATCH 0/2] Fix regression and performance issue in cxlflash

2016-03-23 Thread Uma Krishnan
This series has a couple of patches in cxlflash. The first patch is critical as it fixes a regression that was introduced by Commit 6ded8b3cbd9a ("cxlflash: Unmap problem state area before detaching master context") as part of the first SCSI push for v4.6. The second patch addresses a performance

[PATCH 1/2] cxlflash: Fix regression issue with re-ordering patch

2016-03-23 Thread Uma Krishnan
From: "Manoj N. Kumar" While running 'sg_reset -H' back to back the following exception was seen: [ 735.115695] Faulting instruction address: 0xd98c0864 cpu 0x0: Vector: 300 (Data Access) at [c00afa80] pc: d98c0864: cxlflash_async_err_irq+0x84/0x5c0 [cxlflash] lr

[PATCH 2/2] cxlflash: Move to exponential back-off when cmd_room is not available

2016-03-23 Thread Uma Krishnan
From: "Manoj N. Kumar" While profiling the cxlflash_queuecommand() path under a heavy load it was found that number of retries to find cmd_room was fairly high. There are two problems with the current back-off: a) It starts with a udelay of 0 b) It backs-off linearly Tried several approaches (a

[PATCH v2 0/2] Fix regression and performance issue in cxlflash

2016-03-25 Thread Uma Krishnan
This series has a couple of patches in cxlflash. The first patch is critical as it fixes a regression that was introduced by Commit 6ded8b3cbd9a ("cxlflash: Unmap problem state area before detaching master context") as part of the first SCSI push for v4.6. The second patch addresses a performance

[PATCH v2 1/2] cxlflash: Fix regression issue with re-ordering patch

2016-03-25 Thread Uma Krishnan
on process symmetric, separate the AFU interrupt setup also to a distinct function: init_intr(). Fixes: 6ded8b3cbd9a ("cxlflash: Unmap problem state area before detaching master context") Signed-off-by: Manoj N. Kumar Acked-by: Matthew R. Ochs Reviewed-by: Johannes Thumshirn Signed

[PATCH v2 2/2] cxlflash: Move to exponential back-off when cmd_room is not available

2016-03-25 Thread Uma Krishnan
are of the problem with the initial delay (starts with 1 usec). Signed-off-by: Manoj N. Kumar Acked-by: Matthew R. Ochs Reviewed-by: Johannes Thumshirn Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/scs

[PATCH] cxl: Enable PCI device ID for future IBM CXL adapter

2015-12-07 Thread Uma Krishnan
Add support for future IBM Coherent Accelerator (CXL) device with ID of 0x0601. Signed-off-by: Uma Krishnan --- drivers/misc/cxl/pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c index 13a97f8..3171e96 100644 --- a/drivers/misc/cxl/pci.c

[PATCH 0/6] cxlflash: Miscellaneous fixes and updates

2015-12-10 Thread Uma Krishnan
wait_port_offline cxlflash: Enable device id for future IBM CXL adapter Matthew R. Ochs (1): cxlflash: Fix to avoid virtual LUN failover failure Uma Krishnan (1): cxlflash: Updated date of the driver drivers/scsi/cxlflash/common.h | 2 ++ drivers/scsi/cxlflash/main.c | 51

[PATCH 1/6] cxlflash: Fix to escalate LINK_RESET also on port 1

2015-12-10 Thread Uma Krishnan
From: Manoj Kumar The original fix to escalate a 'login timed out' error to a LINK_RESET was only made for one of the two ports on the card. This fix resolves the same issue for the second port (port 1). Signed-off-by: Manoj N. Kumar --- drivers/scsi/cxlflash/main.c | 2 +- 1 file changed, 1 i

[PATCH 2/6] cxlflash: Fix to avoid virtual LUN failover failure

2015-12-10 Thread Uma Krishnan
From: "Matthew R. Ochs" Applications which use virtual LUN's that are backed by a physical LUN over both adapter ports may experience an I/O failure in the event of a link loss (e.g. cable pull). Virtual LUNs may be accessed through one or both ports of the adapter. This access is encoded in the

[PATCH 3/6] cxlflash: Updated date of the driver

2015-12-10 Thread Uma Krishnan
This change is to update the date when last change was made to the cxlflash driver Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/cxlflash/main.h b/drivers/scsi/cxlflash/main.h index 6032456..ddc4a97

[PATCH 4/6] cxlflash: Fix to resolve cmd leak after host reset

2015-12-10 Thread Uma Krishnan
From: Manoj Kumar After a few iterations of resetting the card, either during EEH recovery, or a host_reset the following is seen in the logs. cxlflash 0008:00: cxlflash_queuecommand: could not get a free command At every reset of the card, the commands that are outstanding are being leaked. No

[PATCH 5/6] cxlflash: Resolve oops in wait_port_offline

2015-12-10 Thread Uma Krishnan
From: Manoj Kumar If an async error interrupt is generated, and the error requires the FC link to be reset, it cannot be performed in the interrupt context. So a work element is scheduled to complete the link reset in a process context. If either an EEH event or an escalation occurs in between wh

[PATCH 6/6] cxlflash: Enable device id for future IBM CXL adapter

2015-12-10 Thread Uma Krishnan
From: Manoj Kumar This drop enables a future card with a device id of 0x0600 to be recognized by the cxlflash driver. No card specific programming has been added. These card specific changes will be staged in later. Signed-off-by: Manoj N. Kumar --- drivers/scsi/cxlflash/main.c | 3 +++ driver

Re: [PATCH 3/6] cxlflash: Updated date of the driver

2015-12-14 Thread Uma Krishnan
m the code. This should be included in the second version of the patch series. Thanks, Uma Krishnan ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH v2 0/6] cxlflash: Miscellaneous fixes and updates

2015-12-14 Thread Uma Krishnan
cxlflash: Resolve oops in wait_port_offline cxlflash: Enable device id for future IBM CXL adapter Matthew R. Ochs (1): cxlflash: Fix to avoid virtual LUN failover failure Uma Krishnan (1): cxlflash: Removed driver date print drivers/scsi/cxlflash/common.h | 2 ++ drivers/scsi/cxlflash/main.c

[PATCH v2 0/6] cxlflash: Miscellaneous fixes and updates

2015-12-14 Thread Uma Krishnan
cxlflash: Resolve oops in wait_port_offline cxlflash: Enable device id for future IBM CXL adapter Matthew R. Ochs (1): cxlflash: Fix to avoid virtual LUN failover failure Uma Krishnan (1): cxlflash: Removed driver date print drivers/scsi/cxlflash/common.h | 2 ++ drivers/scsi/cxlflash/main.c

[PATCH v2 1/6] cxlflash: Fix to escalate LINK_RESET also on port 1

2015-12-14 Thread Uma Krishnan
From: Manoj Kumar The original fix to escalate a 'login timed out' error to a LINK_RESET was only made for one of the two ports on the card. This fix resolves the same issue for the second port (port 1). Signed-off-by: Manoj N. Kumar Acked-by: Matthew R. Ochs --- drivers/scsi/cxlflash/main.c

[PATCH v2 0/6] cxlflash: Miscellaneous fixes and updates

2015-12-14 Thread Uma Krishnan
cxlflash: Resolve oops in wait_port_offline cxlflash: Enable device id for future IBM CXL adapter Matthew R. Ochs (1): cxlflash: Fix to avoid virtual LUN failover failure Uma Krishnan (1): cxlflash: Removed driver date print drivers/scsi/cxlflash/common.h | 2 ++ drivers/scsi/cxlflash/main.c

[PATCH v2 2/6] cxlflash: Fix to avoid virtual LUN failover failure

2015-12-14 Thread Uma Krishnan
From: "Matthew R. Ochs" Applications which use virtual LUN's that are backed by a physical LUN over both adapter ports may experience an I/O failure in the event of a link loss (e.g. cable pull). Virtual LUNs may be accessed through one or both ports of the adapter. This access is encoded in the

[PATCH v2 3/6] cxlflash: Removed driver date print

2015-12-14 Thread Uma Krishnan
Having a date for the driver requires it to be updated quite often. Removing the date which is not necessary. Also made use of the existing symbol to print the driver name. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 3 +-- drivers/scsi/cxlflash/main.h | 1 - 2 files changed

[PATCH v2 4/6] cxlflash: Fix to resolve cmd leak after host reset

2015-12-14 Thread Uma Krishnan
From: Manoj Kumar After a few iterations of resetting the card, either during EEH recovery, or a host_reset the following is seen in the logs. cxlflash 0008:00: cxlflash_queuecommand: could not get a free command At every reset of the card, the commands that are outstanding are being leaked. No

[PATCH v2 5/6] cxlflash: Resolve oops in wait_port_offline

2015-12-14 Thread Uma Krishnan
From: Manoj Kumar If an async error interrupt is generated, and the error requires the FC link to be reset, it cannot be performed in the interrupt context. So a work element is scheduled to complete the link reset in a process context. If either an EEH event or an escalation occurs in between wh

[PATCH v2 6/6] cxlflash: Enable device id for future IBM CXL adapter

2015-12-14 Thread Uma Krishnan
From: Manoj Kumar This drop enables a future card with a device id of 0x0600 to be recognized by the cxlflash driver. As per the design, the Accelerator Function Unit (AFU) for this new IBM CXL Flash Adapter retains the same host interface as the previous generation. For the early prototypes of

Re: [PATCH 1/6] cxlflash: Fix to escalate LINK_RESET also on port 1

2015-12-17 Thread Uma Krishnan
On 12/14/2015 11:30 AM, Matthew R. Ochs wrote: Acked-by: Matthew R. Ochs Reviewed-by: Uma Krishnan ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH 2/6] cxlflash: Fix to avoid virtual LUN failover failure

2015-12-17 Thread Uma Krishnan
On 12/10/2015 4:53 PM, Uma Krishnan wrote: From: "Matthew R. Ochs" Applications which use virtual LUN's that are backed by a physical LUN over both adapter ports may experience an I/O failure in the event of a link loss (e.g. cable pull). Virtual LUNs may be accessed through on

Re: [PATCH 5/6] cxlflash: Resolve oops in wait_port_offline

2015-12-17 Thread Uma Krishnan
On 12/10/2015 4:54 PM, Uma Krishnan wrote: From: Manoj Kumar If an async error interrupt is generated, and the error requires the FC link to be reset, it cannot be performed in the interrupt context. So a work element is scheduled to complete the link reset in a process context. If either an

Re: [PATCH 1/3] scsi: cxlflash: Fix fallthrough warnings.

2019-08-29 Thread Uma Krishnan
Below commit queued up for 5.4 includes these changes.commit 657bd277c162580674ddb86a90c4aeb62639bff5Author: Gustavo A. R. Silva Date:   Sun Jul 28 19:21:19 2019 -0500Thanks,Uma KrishnanOn Aug 29, 2019, at 7:32 AM, Michal Suchanek wrote:Add fallthrough comments where missing.Signed-off-by: Michal

Re: [PATCH 1/3] scsi: cxlflash: Fix fallthrough warnings.

2019-08-29 Thread Uma Krishnan
Below commit queued up for 5.4 includes these changes. commit 657bd277c162580674ddb86a90c4aeb62639bff5 Author: Gustavo A. R. Silva Date: Sun Jul 28 19:21:19 2019 -0500 Thanks, Uma Krishnan > On Aug 29, 2019, at 7:32 AM, Michal Suchanek wrote: > > Add fallthrough comments wher

[PATCH 00/17] cxlflash: Enhancements and miscellaneous fixes

2017-04-12 Thread Uma Krishnan
cxlflash: Improve asynchronous interrupt processing cxlflash: Add hardware queues attribute cxlflash: Introduce hardware queue steering Uma Krishnan (1): cxlflash: Support multiple hardware queues Documentation/powerpc/cxlflash.txt |5 + drivers/scsi/cxlflash/common.h | 137 +++-- drivers

[PATCH 01/17] cxlflash: Separate RRQ processing from the RRQ interrupt handler

2017-04-12 Thread Uma Krishnan
pt handler. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 27 +-- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/cxlflash/main.c b/drivers/scsi/cxlflash/main.c index 3061d80..30c09593c 100644 --- a/dr

[PATCH 02/17] cxlflash: Serialize RRQ access and support offlevel processing

2017-04-12 Thread Uma Krishnan
cute on softirq context. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 2 ++ drivers/scsi/cxlflash/main.c | 42 +++--- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/cxlflash/common.h

[PATCH 03/17] cxlflash: Implement IRQ polling for RRQ processing

2017-04-12 Thread Uma Krishnan
edule this processing on softirq context. This function will be disabled by default until starting values can be established for the hardware supported by this driver. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 8 +++ drivers/scsi/cxlflash/main

[PATCH 04/17] cxlflash: Update sysfs helper routines to pass config structure

2017-04-12 Thread Uma Krishnan
From: "Matthew R. Ochs" As staging for future function, pass the config pointer instead of the AFU pointer for port-related sysfs helper routines. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 24 1 file c

[PATCH 05/17] cxlflash: Support dynamic number of FC ports

2017-04-12 Thread Uma Krishnan
From: "Matthew R. Ochs" Transition from a static number of FC ports to a value that is derived during probe. For now, a static value is used but this will later be based on the type of card being configured. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scs

[PATCH 06/17] cxlflash: Remove port configuration assumptions

2017-04-12 Thread Uma Krishnan
sting port assumptions and transition the code to support more than two ports. As a side effect, clarify the interpretation of the DK_CXLFLASH_ALL_PORTS_ACTIVE flag. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- Documentation/powerpc/cxlflash.txt | 5 +++ drivers/scsi/cxlflas

[PATCH 07/17] cxlflash: Hide FC internals behind common access routine

2017-04-12 Thread Uma Krishnan
code paths. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 14 drivers/scsi/cxlflash/main.c | 72 +++--- drivers/scsi/cxlflash/vlun.c | 16 +- 3 files changed, 61 insertions(+), 41 deletion

[PATCH 08/17] cxlflash: SISlite updates to support 4 ports

2017-04-12 Thread Uma Krishnan
k register reset value. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 25 --- drivers/scsi/cxlflash/main.c| 77 + drivers/scsi/cxlflash/sislite.h | 96 - 3 fil

[PATCH 09/17] cxlflash: Support up to 4 ports

2017-04-12 Thread Uma Krishnan
From: "Matthew R. Ochs" Update the driver to allow for future cards with 4 ports. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c| 78 - drivers/scsi/cxlflash/sislite.h | 6 ++-- 2 files c

[PATCH 10/17] cxlflash: Fence EEH during probe

2017-04-12 Thread Uma Krishnan
d orphaned threads. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h| 2 ++ drivers/scsi/cxlflash/main.c | 25 + drivers/scsi/cxlflash/superpipe.c | 8 +--- 3 files changed, 28 insertions(+), 7 deletions(-) di

[PATCH 12/17] cxlflash: Fix power-of-two validations

2017-04-12 Thread Uma Krishnan
l, related cleanup, remove the now-defunct CXLFLASH_NUM_CMDS. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 7 +-- drivers/scsi/cxlflash/main.c | 1 + 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/cxlflash/common.h

[PATCH 11/17] cxlflash: Remove unnecessary DMA mapping

2017-04-12 Thread Uma Krishnan
From: "Matthew R. Ochs" Devices supported by the cxlflash driver are fully coherent and do not require a bus address mapping. Avoid unnecessary path length by using the virtual address and length already present in the scatter-gather entry. Signed-off-by: Matthew R. Ochs Signed-o

[PATCH 13/17] cxlflash: Fix warnings/errors

2017-04-12 Thread Uma Krishnan
From: "Matthew R. Ochs" As a general cleanup, address all reasonable checkpatch warnings and errors. These include enforcement of comment styles and including named identifiers in function prototypes. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scs

[PATCH 14/17] cxlflash: Improve asynchronous interrupt processing

2017-04-12 Thread Uma Krishnan
orted. As an improvement, use the for_each_set_bit() service to iterate over the asynchronous status bits and refactor the information table such that it can be indexed by bit position. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/m

[PATCH 15/17] cxlflash: Support multiple hardware queues

2017-04-12 Thread Uma Krishnan
later series to improve the memory footprint of the driver. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h| 41 ++-- drivers/scsi/cxlflash/main.c | 426 -- drivers/scsi/cxlflash/superpipe.c | 6 +- 3 files changed, 309 insertions

[PATCH 16/17] cxlflash: Add hardware queues attribute

2017-04-12 Thread Uma Krishnan
y a system administrator. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 10 ++-- drivers/scsi/cxlflash/main.c | 112 - 2 files changed, 106 insertions(+), 16 deletions(-) diff --git a/drivers/scsi/cxlflash/

[PATCH 17/17] cxlflash: Introduce hardware queue steering

2017-04-12 Thread Uma Krishnan
and simple hash via CPU ID when SCSI-MQ is disabled. Rather than altering the existing send API, the derived hardware queue is stored in the AFU command where it can be used for sending a command to the chosen hardware queue. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- dr

Re: [PATCH v4] cxl: Force context lock during EEH flow

2017-04-17 Thread Uma Krishnan
r_context_unlock(adapter); + for (i = 0; i < adapter->slices; i++) { afu = adapter->afu[i]; Looks good. FV regressions and EEH recoveries (in parallel to I/O) were successful. Tested-by: Uma Krishnan

[PATCH 00/17] cxlflash: LUN provisioning support and miscellaneous fixes

2017-06-21 Thread Uma Krishnan
cxlflash: Introduce host ioctl support cxlflash: Refactor AFU capability checking cxlflash: Support LUN provisioning cxlflash: Support AFU debug cxlflash: Support WS16 unmap cxlflash: Remove zeroing of private command data cxlflash: Update TMF command processing Uma Krishnan (9

[PATCH 01/17] cxlflash: Combine the send queue locks

2017-06-21 Thread Uma Krishnan
regardless of the queueing model. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 3 +-- drivers/scsi/cxlflash/main.c | 9 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/cxlflash/common.h b/drivers/scsi/cxlflash/common.h index 256af81

[PATCH 02/17] cxlflash: Update cxlflash_afu_sync() to return errno

2017-06-21 Thread Uma Krishnan
The cxlflash_afu_sync() routine returns a negative one to indicate any kind of failure. This makes it impossible to establish why the error occurred. Update the return codes to clearly indicate the failure cause to the caller. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 11

[PATCH 03/17] cxlflash: Reset hardware queue context via specified register

2017-06-21 Thread Uma Krishnan
evaluating for success and return status to the caller. Also update the context reset handler parameters to pass a hardware queue reference instead of a single command to better reflect that the entire queue associated with the context is impacted by the reset. Signed-off-by: Uma Krishnan --- drivers

[PATCH 04/17] cxlflash: Schedule asynchronous reset of the host

2017-06-21 Thread Uma Krishnan
. This will be done asynchronously to allow the acting thread to return to the user with a failure. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 2 + drivers/scsi/cxlflash/main.c | 137 ++--- 2 files changed, 104 insertions(+), 35

[PATCH 05/17] cxlflash: Handle AFU sync failures

2017-06-21 Thread Uma Krishnan
failure should be acted upon. In the event of AFU sync failures, either log or cleanup as appropriate for operations that are dependent on a successful sync completion. Update documentation to reflect behavior in the event of an AFU sync failure. Signed-off-by: Uma Krishnan --- Documentation/powerpc

[PATCH 06/17] cxlflash: Track pending scsi commands in each hardware queue

2017-06-21 Thread Uma Krishnan
order to avoid this problem and to better handle error path command cleanup, introduce a linked list for each hardware queue that tracks pending commands. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 2 ++ drivers/scsi/cxlflash/main.c | 9 + 2 files changed, 11

[PATCH 07/17] cxlflash: Flush pending commands in cleanup path

2017-06-21 Thread Uma Krishnan
is acquired to prevent any data movement while the pending commands are processed. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 5 +++- drivers/scsi/cxlflash/main.c | 57 +++--- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git

[PATCH 08/17] cxlflash: Add scsi command abort handler

2017-06-21 Thread Uma Krishnan
pending I/O. This sequence is less invasive than a device or host reset and can be executed to support scsi command abort requests. Add eh_abort_handler callback support to process command timeouts and abort requests. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 61

[PATCH 09/17] cxlflash: Create character device to provide host management interface

2017-06-21 Thread Uma Krishnan
character device will be created during probe of each adapter. This device will support a set of ioctls defined in the SISLite specification from which administrators can manage the adapter. Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 6 +- drivers/scsi/cxlflash/main.c | 207

[PATCH 10/17] cxlflash: Separate AFU internal command handling from AFU sync specifics

2017-06-21 Thread Uma Krishnan
of a magic number. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c| 79 ++--- drivers/scsi/cxlflash/sislite.h | 2 ++ 2 files changed, 53 insertions(+), 28 deletions(-) diff --git a/drivers/scsi/cxlflash/main.c b/dr

[PATCH 11/17] cxlflash: Introduce host ioctl support

2017-06-21 Thread Uma Krishnan
ost ioctls. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- Documentation/ioctl/ioctl-number.txt | 2 +- Documentation/powerpc/cxlflash.txt | 19 +- drivers/scsi/cxlflash/main.c | 121 ++- include/uapi/scsi/cxlflash_ioctl.h | 31 ++

[PATCH 12/17] cxlflash: Refactor AFU capability checking

2017-06-21 Thread Uma Krishnan
From: "Matthew R. Ochs" The existing AFU capability checking infrastructure is closely tied to the command mode capability bits. In order to support new capabilities, refactor the existing infrastructure to be more generic. Signed-off-by: Matthew R. Ochs Signed-off-by: Um

[PATCH 13/17] cxlflash: Support LUN provisioning

2017-06-21 Thread Uma Krishnan
management software. Also update the cxlflash documentation to describe this new host ioctl. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- Documentation/powerpc/cxlflash.txt | 31 +++ drivers/scsi/cxlflash/common.h | 5 ++ drivers/scsi/cxlflash/main.c

[PATCH 14/17] cxlflash: Support AFU debug

2017-06-21 Thread Uma Krishnan
lso update the cxlflash documentation to describe this new host ioctl. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- Documentation/powerpc/cxlflash.txt | 14 ++ drivers/scsi/cxlflash/common.h | 5 ++ drivers/scsi/cxlflash/main.c

[PATCH 15/17] cxlflash: Support WS16 unmap

2017-06-21 Thread Uma Krishnan
ap support during cxlflash initialization by reading the context control register associated with the primary hardware queue. Update the existing write_same16() routine to set the unmap bit in the CDB when unmap is supported by the host. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --

[PATCH 16/17] cxlflash: Remove zeroing of private command data

2017-06-21 Thread Uma Krishnan
akes place in the device reset path remains intact as the private command data associated with the specified SCSI command is not guaranteed to be cleared. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/common.h | 11 +-- drivers/scsi/cxlflash/mai

[PATCH 17/17] cxlflash: Update TMF command processing

2017-06-21 Thread Uma Krishnan
TMF processing paths to describe the new behavior. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 65 ++-- 1 file changed, 44 insertions(+), 21 deletions(-) diff --git a/drivers/scsi/cxlflash/main.c b/d

[PATCH 0/3] cxlflash: Miscellaneous fixes

2017-10-25 Thread Uma Krishnan
This patch series contains miscellaneous fixes. All three patches resolve minor issues. This series is intended for 4.15 and is bisectable. Matthew R. Ochs (3): cxlflash: Use derived maximum write same length cxlflash: Allow cards without WWPN VPD to configure cxlflash: Derive pid through a

[PATCH 1/3] cxlflash: Use derived maximum write same length

2017-10-25 Thread Uma Krishnan
ayer 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

[PATCH 2/3] cxlflash: Allow cards without WWPN VPD to configure

2017-10-25 Thread Uma Krishnan
ards are expected to have it in order to configure properly. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 24 +--- drivers/scsi/cxlflash/main.h | 3 ++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/sc

[PATCH 3/3] cxlflash: Derive pid through accessors

2017-10-25 Thread Uma Krishnan
it is incorrect when the parent process ID is needed as the access requires serialization. To address the incorrect issue and provide a consistent means of deriving the process ID within the cxlflash driver, use the task accessors defined linux/sched.h. Signed-off-by: Matthew R. Ochs Signed-

[PATCH 0/4] cxlflash: Enhancements, cleanup and fixes

2017-01-06 Thread Uma Krishnan
context reset to share reset logic cxlflash: Support SQ Command Mode cxlflash: Cleanup prints Uma Krishnan (1): cxlflash: Cancel scheduled workers before stopping AFU drivers/scsi/cxlflash/common.h | 32 ++- drivers/scsi/cxlflash/lunmgt.c | 31 +-- drivers/scsi/cxlflash/main.c

[PATCH 1/4] cxlflash: Refactor context reset to share reset logic

2017-01-06 Thread Uma Krishnan
From: "Matthew R. Ochs" As staging for supporting hardware with different context reset registers but a similar reset procedure, refactor the existing context reset routine to move the reset logic to a common routine. This will allow hardware with a different reset register to leverage existing c

[PATCH 2/4] cxlflash: Support SQ Command Mode

2017-01-06 Thread Uma Krishnan
From: "Matthew R. Ochs" The SISLite specification outlines a new queuing model to improve over the MMIO-based IOARRIN model that exists today. This new model uses a submission queue that exists in host memory and is shared with the device. Each entry in the queue is an IOARCB that describes a tra

[PATCH 3/4] cxlflash: Cleanup prints

2017-01-06 Thread Uma Krishnan
From: "Matthew R. Ochs" The usage of prints within the cxlflash driver is inconsistent. This hinders debug and makes the driver source and log output appear sloppy. The following cleanups help unify the prints within cxlflash: - move all prints to dev-* where possible - transition all hex prin

[PATCH 4/4] cxlflash: Cancel scheduled workers before stopping AFU

2017-01-06 Thread Uma Krishnan
is problem and to simplify things, this commit removes the mapcount solution. Instead, the scheduled worker thread is cancelled after interrupts have been disabled and prior to the mapping being freed. Fixes: b45cdbaf9f7f ("cxlflash: Resolve oops in wait_port_offline") Signed-

Re: [PATCH 0/4] cxlflash: Enhancements, cleanup and fixes

2017-01-10 Thread Uma Krishnan
On 1/9/2017 11:00 PM, Martin K. Petersen wrote: "Uma" == Uma Krishnan writes: Uma, Uma> This patch series includes an enhancement to support a new command Uma> queuing model and also cleans up prints throughout the driver. The Uma> last patch in the series fixes a raci

[PATCH v2 0/4] cxlflash: Enhancements, cleanup and fixes

2017-01-11 Thread Uma Krishnan
submitted patches Matthew R. Ochs (3): cxlflash: Refactor context reset to share reset logic cxlflash: Support SQ Command Mode cxlflash: Cleanup prints Uma Krishnan (1): cxlflash: Cancel scheduled workers before stopping AFU drivers/scsi/cxlflash/common.h | 32 ++- drivers/scsi/cxlflash

[PATCH v2 1/4] cxlflash: Refactor context reset to share reset logic

2017-01-11 Thread Uma Krishnan
e existing code. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 20 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/cxlflash/main.c b/drivers/scsi/cxlflash/main.c index b17ebf6..a990efb 100644 --- a/dr

[PATCH v2 2/4] cxlflash: Support SQ Command Mode

2017-01-11 Thread Uma Krishnan
escribes a transfer request. When requests are submitted, IOARCBs ('current' position tracked in host software) are populated and the submission queue tail pointer is then updated via MMIO to make the device aware of the requests. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishna

[PATCH v2 3/4] cxlflash: Cleanup prints

2017-01-11 Thread Uma Krishnan
on all hex prints to lowercase - standardize variable prints in debug output - derive pointers in a consistent manner - change int to bool where appropriate - remove superfluous data from prints and print statements that do not make sense Signed-off-by: Matthew R. Ochs Signed-off-by: Um

[PATCH v2 4/4] cxlflash: Cancel scheduled workers before stopping AFU

2017-01-11 Thread Uma Krishnan
is problem and to simplify things, this commit removes the mapcount solution. Instead, the scheduled worker thread is cancelled after interrupts have been disabled and prior to the mapping being freed. Fixes: b45cdbaf9f7f ("cxlflash: Resolve oops in wait_port_offline") Signed-off-by: Um

[PATCH] cxlflash: Enable PCI device ID for future IBM CXL Flash AFU

2017-02-16 Thread Uma Krishnan
From: "Matthew R. Ochs" Add support for a future IBM Coherent Accelerator (CXL) flash AFU with an ID of 0x0624. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 4 drivers/scsi/cxlflash/main.h | 1 + 2 files changed, 5 insertion

[PATCH] cxl: Enable PCI device ID for future IBM CXL adapter

2017-02-16 Thread Uma Krishnan
From: "Matthew R. Ochs" Add support for a future IBM Coherent Accelerator (CXL) device with an ID of 0x0623. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan --- drivers/misc/cxl/pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/misc/cxl/pci.c b/driver

Re: [PATCH] cxl: Enable PCI device ID for future IBM CXL adapter

2017-02-21 Thread Uma Krishnan
On 2/19/2017 4:54 AM, Andrew Donnellan wrote: On 17/02/17 14:45, Uma Krishnan wrote: From: "Matthew R. Ochs" Add support for a future IBM Coherent Accelerator (CXL) device with an ID of 0x0623. Signed-off-by: Matthew R. Ochs Signed-off-by: Uma Krishnan Is this a CAIA 1 or CAI

[PATCH 0/6] cxlflash: Miscellaneous patches

2018-01-03 Thread Uma Krishnan
context cxlflash: Remove embedded CXL work structures cxlflash: Staging to support future accelerators Uma Krishnan (3): cxlflash: Reset command ioasc cxlflash: Update cxl-specific arguments to generic cookie cxlflash: Adapter context init can return error drivers/scsi/cxlflash/Makefile

[PATCH 1/6] cxlflash: Reset command ioasc

2018-01-03 Thread Uma Krishnan
("scsi: cxlflash: Remove zeroing of private command data") Signed-off-by: Uma Krishnan --- drivers/scsi/cxlflash/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/scsi/cxlflash/main.c b/drivers/scsi/cxlflash/main.c index 38b3a9c..48d3663 100644 --- a/drivers/scsi/cxlfl

  1   2   3   4   >