On 2/23/2018 10:40 AM, Kyuho Choi wrote:
Hi Asutosh,
I've simple question in below.
On 2/21/18, Asutosh Das wrote:
From: Yaniv Gardi
Due to M-PHY issues, moving from HS to any other mode or gear or
even Hibern8 causes some un-predicted behavior of the device.
This patch fixes this issues.
> This happens on a HP DL360 G6 with Smart Array 410i.
>
> Will try to bisect.
>
> IO completion timeout could be because of some IRQ toubles?
Reverting 84676c1f21e8ff54befe985f4f14dc1edc10046b fixes it for me (as
suggested by Laurence Oberman).
--
Meelis Roos (mr...@linux.ee)
Hi Asutosh,
I've simple question in below.
On 2/21/18, Asutosh Das wrote:
> From: Yaniv Gardi
>
> Due to M-PHY issues, moving from HS to any other mode or gear or
> even Hibern8 causes some un-predicted behavior of the device.
> This patch fixes this issues.
>
> Signed-off-by: Yaniv Gardi
> Si
On 23/02/18 09:22, Uma Krishnan wrote:
Add initial infrastructure to support a new cxlflash transport, OpenCXL.
Claim a dependency on OpenCXL (OCXL) and add a new file, ocxl_hw.c, which
will host the backend routines that are specific to OpenCXL.
Signed-off-by: Uma Krishnan
Is it necessary t
On 23/02/18 09:20, Uma Krishnan wrote:
This patch series adds OpenCXL support to the cxlflash driver. With
this support, new devices using the OpenCXL transport will be supported
by the cxlflash driver along with the existing CXL devices. An effort is
made to keep this transport specific function
On Thu, 2018-02-22 at 16:37 -0800, Linus Torvalds wrote:
> On Thu, Feb 22, 2018 at 11:28 AM, James Bottomley
> wrote:
> >
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-
> > fixes
>
> When I pull that, I get something completely different from what you
> claim I should
On 2/21/2018 6:48 PM, Stanislav Nijnikov wrote:
-Original Message-
From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi-
ow...@vger.kernel.org] On Behalf Of Asutosh Das
Sent: Wednesday, February 21, 2018 6:57 AM
To: subha...@codeaurora.org; c...@codeaurora.org;
vivek.gau...@codeau
> From: Xiaofei Tan
>
> For some new boards with hip07 chipset we are required to
> set PHY config registers differently. The hw property which
> determines how to set these registers is in the PHY signal
> attenuation readings.
>
> This patch add an devicetree property, signal-attenuation, which
James,
> This patch set adds support for Broadcom's new G7 product that
> supports G4G FC.
Applied to 4.17/scsi-queue. Thank you!
--
Martin K. Petersen Oracle Linux Engineering
Hannes,
> with the latest updates the qla2xxx driver fails to log into remote
> ports, whereas P2P connections continued to work.
> After a lengthy debugging session I found that latest update has
> several less-than-perfect patches, all of which contributing to
> the failed (or, rather, not atte
Souptick,
> Use dma_pool_zalloc() instead of dma_pool_alloc + memset
Applied to 4.17/scsi-queue.
--
Martin K. Petersen Oracle Linux Engineering
Himanshu,
> Can you please queue this patch for 4.16-rc3
Applied to 4.16/scsi-fixes with the missing Fixes: tag. Thank you!
--
Martin K. Petersen Oracle Linux Engineering
Hi Martin,
> On Feb 14, 2018, at 11:58 AM, Madhani, Himanshu
> wrote:
>
> Hi John,
>
>> On Feb 13, 2018, at 2:54 AM, John Garry wrote:
>>
>> On 12/02/2018 18:28, Himanshu Madhani wrote:
>>> This patch fixes NULL pointer crash due to active timer running
>>> for abort IOCB.
>>>
From cr
Hi Nicholas,
I posted several patches for target documentation cleanups and adding
a chapter to the driver-api chapter back in December.
Do I need to repost those? Do you want someone else to merge them, even
though several of them are in drivers/target/ ?
[PATCH] target: fix kernel-doc warnin
On Thu, Feb 22, 2018 at 11:28 AM, James Bottomley
wrote:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes
When I pull that, I get something completely different from what you
claim I should get. Much bigger, and a lot more commits.
Hmm?
Dropped.
Linus
This commit enables the OpenCXL operations for the OpenCXL devices.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/main.c | 9 +++--
drivers/scsi/cxlflash/main.h | 1 +
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/cxlflash/main.c b/drivers/scsi/cxlflash/
OpenCXL requires that AFUs use an opaque object handle to represent
an AFU interrupt. The specification does not provide a common means
to communicate the object handle to the AFU - each AFU must define
this within the AFU specification. To support this model, the object
handle must be passed back
While enabling a context on the link, a predefined callback can be
registered with the OCXL provider services to be notified on translation
errors. These errors can in turn be passed back to the user on a read
operation.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 31 ++
The SISLite specification has been updated for OpenCXL to support
communicating data to generate AFU interrupts to the AFU. This includes
a new capability bit that is advertised for OpenCXL AFUs and new registers
to hold the object handle and translation PASID of each interrupt. For
Power, the obje
In order to protect the OCXL hardware contexts from getting clobbered,
a simple state machine is added to indicate when a context is in open,
close or start state. The expected states are validated throughout the
code to prevent illegal operations on a context. A mutex is added to
protect writes to
The cxlflash core driver resets the AFU when the master contexts are
created in the initialization or recovery paths. Today, the OCXL
provider service to perform this operation is pending implementation.
To avoid a crash due to a missing fop, log an error once and return
success to continue with ex
The SISLite specification has been updated to define new synchronous
interrupt status bits. These bits are set by the AFU when a given PASID or
EA is bad and a synchronous interrupt is triggered.
The SISLite header file is updated to support these new bits. Note that
there are also some formatting
Similar to user contexts, master contexts also require that the per-context
LISN registers be programmed for certain AFUs. The mapped trigger page is
obtained from underlying transport and registered with AFU for each master
context.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/main.c |
The cxlflash userspace API requires that users be able to mmap and release
the adapter context. Support mapping by implementing the AFU mmap fop to
map the context MMIO space and install the corresponding page table entry
upon page fault. Similarly, implement the AFU release fop to terminate and
cl
User contexts request interrupts and are started using the "start work"
interface. Populate the start_work() fop to allocate and map interrupts
before starting the user context. As part of starting the context, update
the user process identification logic to properly derive the data required
by the
The cxlflash core fop API requires a way to invoke the fault and release
handlers of underlying transports using their native file-based APIs. This
provides the core with the ability to insert selectively itself into the
processing stream of these operations for cleanup. Implement these two
fops to
The cxlflash userspace API requires that users be able to read the adapter
context for any pending events or interrupts from the AFU. Support reading
various events by implementing the AFU read fop to copy out event data.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 94 +
The cxlflash userspace API requires that users be able to poll the adapter
context for any pending events or interrupts from the AFU. Support polling
on various events by implementing the AFU poll fop using a waitqueue.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 57 +++
Add support to map and unmap the irq space and manage irq registrations
with the kernel for each allocated AFU interrupt. Also support mapping
the physical trigger page to obtain an effective address that will be
provided to the cxlflash core in a future commit.
Signed-off-by: Uma Krishnan
---
d
After reading and modifying the function configuration, setup the OpenCXL
link using the OCXL provider services. The link is released when the
adapter is unconfigured.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 25 ++---
drivers/scsi/cxlflash/ocxl_hw.h
The first function of the link needs to configure the transaction layer
between the host and device. This is accomplished by a call to the OCXL
provider services.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/drive
As part of the context lifecycle, the associated process element within
the Shared Process Area (SPA) of the link must be updated. Each process
is defined by various parameters (pid, tid, PASID mm) that are stored in
the SPA upon starting a context and invalidated when a context is stopped.
Use th
Add support to allocate and free AFU interrupts using the OCXL provider
services. The trigger page returned upon successful allocation will be
mapped and exposed to the cxlflash core in a future commit.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 104 +++
Use the PCI VPD services to support reading the VPD data of the
underlying adapter.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_hw.c
index 7279f67
The AFU should be enabled following a successful configuration and
disabled near the end of the cleanup path.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_
Once the context is started, the assigned MMIO space can be mapped
and unmapped. Provide means to map and unmap the context MMIO space.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 24
1 file changed, 24 insertions(+)
diff --git a/drivers/scsi/cxlfl
Provide means to obtain the process element of an adapter context as well
as locate an adapter context by file.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 26 ++
1 file changed, 26 insertions(+)
diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/driver
Once the adapter context is created, it needs to be started by assigning
the MMIO space for the context and by enabling the process element in the
link. This commit adds the skeleton for starting the context and assigns
the context specific MMIO space. Master contexts have access to the global
MMIO
Add support to create and release the adapter contexts for OpenCXL and
provide means to specify certain contexts as a master.
The existing cxlflash core has a design requirement that each host will
have a single host context available by default. To satisfy this
requirement, one host adapter conte
On a PERST, the AFU image can be reloaded or left intact. Provide means to
set this image reload policy.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 13 +
drivers/scsi/cxlflash/ocxl_hw.h | 1 +
2 files changed, 14 insertions(+)
diff --git a/drivers/scsi/cxlfla
The OpenCXL specification supports distributing acTags amongst different
AFUs and functions on the link. As cxlflash devices are expected to only
support a single AFU and function, the entire range that was assigned to
the function is also assigned to the AFU.
Signed-off-by: Uma Krishnan
---
dri
A range of PASIDs are used as identifiers for the adapter contexts. These
contexts may be destroyed and created randomly. Use an IDR to keep track
of contexts that are in use and assign a unique identifier to new ones.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 20
When the AFU is configured, the global and per process MMIO regions
are presented by the configuration space. Save these regions and
map the global MMIO region that is used to access all of the control
and provisioning data in the AFU.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_h
Allocate a file descriptor for an adapter context when requested. In order
to allocate inodes for the file descriptors, a pseudo filesystem is created
and used.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 200
drivers/scsi/cxlflash/o
Per the OpenCXL specification, the maximum PASID supported by the AFU is
indicated by a field within the configuration space. Similar to acTags,
implementations can choose to use any sub-range of PASID within their
assigned range. For cxlflash, the entire range is used.
Signed-off-by: Uma Krishnan
The host AFU configuration is read on the initialization path to identify
the features and configuration of the AFU. This data is cached for use in
later configuration steps.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/ocxl_hw.c | 34 ++
drivers/scsi/cxl
The OpenCXL specification supports distributing acTags amongst different
AFUs and functions on the link. The platform-specific acTag range for the
link is obtained using the OCXL provider services and then assigned to the
host function based on implementation. For cxlflash devices only a single
fun
When an adapter is initialized, transport specific configuration and MMIO
mapping details need to be saved. For CXL, this data is managed by the
underlying kernel module. To maintain a separation between the cxlflash
core and underlying transports, introduce a new structure to store data
specific t
Per the OpenCXL specification, the underlying host can have multiple AFUs
per function with each function supporting its own configuration. The host
function configuration is read on the initialization path to evaluate the
number of functions present and identify the features and configuration of
t
Add initial infrastructure to support a new cxlflash transport, OpenCXL.
Claim a dependency on OpenCXL (OCXL) and add a new file, ocxl_hw.c, which
will host the backend routines that are specific to OpenCXL.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/Kconfig | 2 +-
drivers/scsi/c
From: "Matthew R. Ochs"
The SISLite specification originally defined the context control
register with a single field of bits to represent the LISN and
also stipulated that the register reset value be 0. The cxlflash
driver took advantage of this when programming the LISN for the
master contexts
Checkpatch throws a warning when the argument identifier names are not
included in the function definitions.
To avoid these warnings, argument identifiers are added in the existing
function definitions.
Signed-off-by: Uma Krishnan
---
drivers/scsi/cxlflash/backend.h | 47 ++-
The number of interrupts requested for user contexts are stored in the
context specific structures and utilized to manage the interrupts. For the
master contexts, this number is only used once and therefore not saved.
To prepare for future commits where the number of interrupts will be
required in
This patch series adds OpenCXL support to the cxlflash driver. With
this support, new devices using the OpenCXL transport will be supported
by the cxlflash driver along with the existing CXL devices. An effort is
made to keep this transport specific function independent of the existing
core driver
Avoid that building with W=1 causes the kernel-doc tool to complain
about function arguments that have not been documented in the libsas
kernel-doc headers. Avoid that the short description starts with a
hyphen by changing "--" into "-" in the first line of the kernel-doc
headers.
Signed-off-by: B
On Wed, 2018-02-14 at 16:29 +, John Garry wrote:
> On 13/02/2018 17:49, Bart Van Assche wrote:
> > On 02/13/18 02:17, John Garry wrote:
> > > On 12/02/2018 18:45, Bart Van Assche wrote:
> > > > -/**
> > > > +/*
> > > > * sas_configure_parent -- configure routing table of parent
> > > > - * pa
Avoid that the recently introduced call_rcu() call in the SCSI core
triggers a double call_rcu() call.
Reported-by: Natanael Copa
Reported-by: Damien Le Moal
References: https://bugzilla.kernel.org/show_bug.cgi?id=198861
Fixes: 3bd6f43f5cb3 ("scsi: core: Ensure that the SCSI error handler gets w
These are mostly fixes for problems with merge window code. In
addition we have one doc update (alua) and two dead code removals
(aiclib and octogon) a spurious assignment removal (csiostor) and a
performance improvement for storvsc involving better interrupt
spreading and increasing the command p
On Wed, 14 Feb 2018, 12:10pm, Souptick Joarder wrote:
> Use dma_pool_zalloc() instead of dma_pool_alloc + memset
>
> Signed-off-by: Souptick Joarder
> ---
>
> v2: Remove extra line and comment
>
> drivers/scsi/qla2xxx/qla_bsg.c| 3 +--
> drivers/scsi/qla2xxx/qla_iocb.c | 10 ++---
This happens on a HP DL360 G6 with Smart Array 410i.
Will try to bisect.
IO completion timeout could be because of some IRQ toubles?
(sorry, the rest has scrolled away in ilo2 textcons)
[ 242.655025] Call Trace:
[ 242.655077] ? __schedule
On Thu, 22 Feb 2018, 12:49am, Hannes Reinecke wrote:
> The fcport flags FCF_ASYNC_ACTIVE and FCF_ASYNC_SENT are used
> to throttle the state machine, so we need to ensure to always
> set and unset them correctly. Not doing so will lead to the
> state machine getting confused and no login attempt
On Thu, 22 Feb 2018, 12:49am, Hannes Reinecke wrote:
> When no loop id is assigned in qla24xx_fcport_handle_login()
> the login state needs to be ignored; it will get set later on
> in qla_chk_n2n_b4_login().
>
> Cc: Quinn Tran
> Cc: Himanshu Madhani
> Fixes: 040036bb0bc1 ("scsi: qla2xxx: Del
On Thu, 22 Feb 2018, 12:49am, Hannes Reinecke wrote:
> Commit d8630bb95f46 ('Serialize session deletion by using work_lock') tries
> to fixup a deadlock when deleting sessions, but fails to take
> into account the locking rules. This patch resolves the situation
> by introducing a separate lock
On Thu, 22 Feb 2018 03:53:19 +
Bart Van Assche wrote:
> On Thu, 2018-02-22 at 02:23 +, Damien Le Moal wrote:
> > On Wed, 2018-02-21 at 09:23 -0800, Bart Van Assche wrote:
> > > [ ... ]
> > This does not compile.
>
> This patch depends on another patch that is not yet in Martin's tr
https://bugzilla.kernel.org/show_bug.cgi?id=198861
--- Comment #1 from nc...@alpinelinux.org ---
Those two patches fixes the issue:
https://patchwork.kernel.org/patch/10181165/
https://patchwork.kernel.org/patch/10233617/
--
You are receiving this mail because:
You are the assignee for the bug.
The current driver isn't taking advantage of a performance hint whereby
the initial data buffer descriptor can be placed in the WQE as well as
the SGL.
Add the logic to detect support for the feature and to use it when
supported.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-b
Update the driver version to 12.0.0.0
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Johannes Thumshirn
---
drivers/scsi/lpfc/lpfc_version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_versio
New if_type=6 adapters support an additional BAR that provides
apertures to allow direct WQE to adapter push support - termed
Direct Packet Push (DPP). WQ creation differs slightly to ask for
a WQ to be DPP-ized. When submitting a WQE to a DPP WQ, it is
submitted to the host memory for the WQ norma
Newer hardware more strictly enforces buffer lenghts, causing an
mis-set value to be identified. Older hardware won't catch it.
The difference is benign on old hardware.
Set the right embedded buffer length for nvme ios.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Johann
Add PCI ids for the new G7 adapter
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Johannes Thumshirn
---
v3:
Add default adapter id string for G7 adapter
---
drivers/scsi/lpfc/lpfc_hw.h | 1 +
drivers/scsi/lpfc/lpfc_ids.h | 2 ++
drivers/scsi/lpfc/lpfc_init.c | 3 +++
This patch set adds support for Broadcom's new G7 product that
supports G4G FC.
The patches were cut against the Martin's 4.17/scsi-queue tree.
v2:
Address comments:
patch 1, 2, 4, 7: patch description typos
patch 6: typo on 256GBit speed define
v3:
Add review tags
Address comments:
Traditional SLI4 required the driver to clear Valid bits on
EQEs and CQEs after consuming them.
The new if_type=6 hardware will cycle the value for what is
valid on each queue itteration. The driver no longer has to
touch the valid bits. This also means all the cpu cache
dirtying and perhaps flush
The G7 adapter supports 64G link speeds. Add support to the driver.
In addition, a small cleanup to replace the odd bitmap logic with
a switch case.
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Johannes Thumshirn
---
v2:
address review comment of typo in define name.
The hardware offload for NVME commands was created when the
FC-NVME standard was setting SGL Descriptor Type to SGL Data
Block Descriptor (0h) and SGL Descriptor Sub Type to Address (0h).
A late change in NVMe-over-Fabrics obsoleted these values, creating
a transport SGL descriptor type with new v
Current code is very explicit in what it allows to be downloaded.
The driver checking prevented G7 firmware download. The driver
checking is unnecessary as the device will validate what it receives.
Revise the firmware download interface checking.
Added a little debug support in case there is stil
Updated Copyright in files updated as part of 12.0.0.0
Signed-off-by: Dick Kennedy
Signed-off-by: James Smart
Reviewed-by: Johannes Thumshirn
---
v3:
patch title
---
drivers/scsi/lpfc/lpfc_bsg.c | 2 +-
drivers/scsi/lpfc/lpfc_ct.c | 2 +-
drivers/scsi/lpfc/lpfc_debugfs.c | 2 +-
dr
Up until now, an SLI-4 device had no variance in the way it handled
its EQs and CQs. With newer hardware, there are now differences in
doorbells and some differences in how entries are valid.
Prepare the code for new hardware by creating a sli4-based callout
table that can be set based on if_type.
New hardware supports a SLI-4 interface, but with a new if_type
variant of 6.
If_type=6 has a different PCI BAR map, separate EQ/CQ doorbells,
and some changes in doorbell formats.
Add the changes for the if_type into headers, adapter initialization
and control flows. Add new eq and cq handlers.
Up until now, all SLI-4 devices had the same doorbells at the same
bar locations. With newer hardware, there are now independent EQ and
CQ doorbells and the bar locations differ.
Prepare the code for new hardware by separating the eq/cq doorbell into
separate components. The components can be set
Hi all,
with the latest updates the qla2xxx driver fails to log into remote
ports, whereas P2P connections continued to work.
After a lengthy debugging session I found that latest update has
several less-than-perfect patches, all of which contributing to
the failed (or, rather, not attempted) logi
When no loop id is assigned in qla24xx_fcport_handle_login()
the login state needs to be ignored; it will get set later on
in qla_chk_n2n_b4_login().
Cc: Quinn Tran
Cc: Himanshu Madhani
Fixes: 040036bb0bc1 ("scsi: qla2xxx: Delay loop id allocation at login")
Signed-off-by: Hannes Reinecke
---
The fcport flags FCF_ASYNC_ACTIVE and FCF_ASYNC_SENT are used
to throttle the state machine, so we need to ensure to always
set and unset them correctly. Not doing so will lead to the
state machine getting confused and no login attempt into
remote ports.
Cc: Quinn Tran
Cc: Himanshu Madhani
Fixes
Commit d8630bb95f46 ('Serialize session deletion by using work_lock') tries
to fixup a deadlock when deleting sessions, but fails to take
into account the locking rules. This patch resolves the situation
by introducing a separate lock for processing the GNLIST response, and
ensures that sess_lock i
83 matches
Mail list logo