aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/cxl/debugfs.c
diff options
context:
space:
mode:
authorVaibhav Jain <vaibhav@linux.vnet.ibm.com>2017-10-11 08:30:20 -0400
committerMichael Ellerman <mpe@ellerman.id.au>2017-11-06 00:48:17 -0500
commitcbb55eeb49b116bb3880137661ad8ce1ed45d672 (patch)
treeb32d3ed818fe08fd642d02b9df22616ee87a7af5 /drivers/misc/cxl/debugfs.c
parentac0761ebcb08830d8f64b9181f6736b1a00bf746 (diff)
cxl: Rework the implementation of cxl_stop_trace_psl9()
Presently the PSL9 specific cxl_stop_trace_psl9() only stops the RX0 traces on the CXL adapter when a PSL error irq is triggered. The patch updates the function to stop all the traces arrays and move them to the FIN state. The implementation issues the mmio to TRACECFG register to stop the trace array iff it already not in FIN state. This prevents the issue of trace data being reset in case of multiple stop mmio issued for a single trace array. Also the patch does some refactoring of existing cxl_stop_trace_psl9() and cxl_stop_trace_psl8() functions by moving them to 'pci.c' from 'debugfs.c' file and marking them as static. Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com> Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers/misc/cxl/debugfs.c')
-rw-r--r--drivers/misc/cxl/debugfs.c22
1 files changed, 0 insertions, 22 deletions
diff --git a/drivers/misc/cxl/debugfs.c b/drivers/misc/cxl/debugfs.c
index dbb9b58077f6..1643850d2302 100644
--- a/drivers/misc/cxl/debugfs.c
+++ b/drivers/misc/cxl/debugfs.c
@@ -15,28 +15,6 @@
15 15
16static struct dentry *cxl_debugfs; 16static struct dentry *cxl_debugfs;
17 17
18void cxl_stop_trace_psl9(struct cxl *adapter)
19{
20 /* Stop the trace */
21 cxl_p1_write(adapter, CXL_PSL9_TRACECFG, 0x4480000000000000ULL);
22}
23
24void cxl_stop_trace_psl8(struct cxl *adapter)
25{
26 int slice;
27
28 /* Stop the trace */
29 cxl_p1_write(adapter, CXL_PSL_TRACE, 0x8000000000000017LL);
30
31 /* Stop the slice traces */
32 spin_lock(&adapter->afu_list_lock);
33 for (slice = 0; slice < adapter->slices; slice++) {
34 if (adapter->afu[slice])
35 cxl_p1n_write(adapter->afu[slice], CXL_PSL_SLICE_TRACE, 0x8000000000000000LL);
36 }
37 spin_unlock(&adapter->afu_list_lock);
38}
39
40/* Helpers to export CXL mmaped IO registers via debugfs */ 18/* Helpers to export CXL mmaped IO registers via debugfs */
41static int debugfs_io_u64_get(void *data, u64 *val) 19static int debugfs_io_u64_get(void *data, u64 *val)
42{ 20{