linux-stable/drivers/misc/cxl
Vaibhav Jain 94322ed8e8 cxl: Check if PSL data-cache is available before issue flush request
PSL9D doesn't have a data-cache that needs to be flushed before
resetting the card. However when cxl tries to flush data-cache on such
a card, it times-out as PSL_Control register never indicates flush
operation complete due to missing data-cache. This is usually
indicated in the kernel logs with this message:

"WARNING: cache flush timed out"

To fix this the patch checks PSL_Debug register CDC-Field(BIT:27)
which indicates the absence of a data-cache and sets a flag
'no_data_cache' in 'struct cxl_native' to indicate this. When
cxl_data_cache_flush() is called it checks the flag and if set bails
out early without requesting a data-cache flush operation to the PSL.

Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-03-13 15:50:26 +11:00
..
api.c the rest of drivers/*: annotate ->poll() instances 2017-11-28 11:06:58 -05:00
base.c
context.c cxl: Add support for ASB_Notify on POWER9 2018-01-19 23:19:37 +11:00
cxl.h cxl: Check if PSL data-cache is available before issue flush request 2018-03-13 15:50:26 +11:00
cxllib.c cxl: Add support for ASB_Notify on POWER9 2018-01-19 23:19:37 +11:00
debugfs.c cxl: Rework the implementation of cxl_stop_trace_psl9() 2017-11-06 16:48:17 +11:00
fault.c cxl: Add support for POWER9 DD2 2017-10-06 20:52:43 +11:00
file.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
flash.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
guest.c cxl: Add psl9 specific code 2017-04-13 23:34:31 +10:00
hcalls.c cxl: Remove unused values in bare-metal environment. 2017-04-13 23:34:28 +10:00
hcalls.h
irq.c cxl: Add psl9 specific code 2017-04-13 23:34:31 +10:00
Kconfig cxl: Export library to support IBM XSL 2017-07-03 23:07:03 +10:00
main.c cxl: Fixes for Coherent Accelerator Interface Architecture 2.0 2017-06-23 16:26:23 +10:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
native.c cxl: Check if PSL data-cache is available before issue flush request 2018-03-13 15:50:26 +11:00
of.c cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put() 2016-10-04 16:19:23 +11:00
pci.c cxl: Check if PSL data-cache is available before issue flush request 2018-03-13 15:50:26 +11:00
phb.c cxl: Fix error handling in _cxl_pci_associate_default_context() 2016-11-18 22:41:08 +11:00
sysfs.c cxl: Prevent adapter reset if an active context exists 2016-10-19 20:35:39 +11:00
trace.c
trace.h cxl: Add psl9 specific code 2017-04-13 23:34:31 +10:00
vphb.c powerpc: rename dma_direct_ to dma_nommu_ 2018-01-10 16:41:14 +01:00