mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
trace: platform/x86/intel/ifs: Add trace point to track Intel IFS operations
Add tracing support which may be useful for debugging systems that fail to complete In Field Scan tests. Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> Reviewed-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20220506225410.1652287-11-tony.luck@intel.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
@@ -9865,6 +9865,7 @@ R: Ashok Raj <ashok.raj@intel.com>
|
|||||||
R: Tony Luck <tony.luck@intel.com>
|
R: Tony Luck <tony.luck@intel.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/platform/x86/intel/ifs
|
F: drivers/platform/x86/intel/ifs
|
||||||
|
F: include/trace/events/intel_ifs.h
|
||||||
|
|
||||||
INTEL INTEGRATED SENSOR HUB DRIVER
|
INTEL INTEGRATED SENSOR HUB DRIVER
|
||||||
M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||||
|
@@ -17,6 +17,9 @@
|
|||||||
* core will update results of the test.
|
* core will update results of the test.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define CREATE_TRACE_POINTS
|
||||||
|
#include <trace/events/intel_ifs.h>
|
||||||
|
|
||||||
/* Max retries on the same chunk */
|
/* Max retries on the same chunk */
|
||||||
#define MAX_IFS_RETRIES 5
|
#define MAX_IFS_RETRIES 5
|
||||||
|
|
||||||
@@ -191,6 +194,8 @@ static void ifs_test_core(int cpu, struct device *dev)
|
|||||||
|
|
||||||
status.data = msrvals[1];
|
status.data = msrvals[1];
|
||||||
|
|
||||||
|
trace_ifs_status(cpu, activate, status);
|
||||||
|
|
||||||
/* Some cases can be retried, give up for others */
|
/* Some cases can be retried, give up for others */
|
||||||
if (!can_restart(status))
|
if (!can_restart(status))
|
||||||
break;
|
break;
|
||||||
|
41
include/trace/events/intel_ifs.h
Normal file
41
include/trace/events/intel_ifs.h
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#undef TRACE_SYSTEM
|
||||||
|
#define TRACE_SYSTEM intel_ifs
|
||||||
|
|
||||||
|
#if !defined(_TRACE_IFS_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||||
|
#define _TRACE_IFS_H
|
||||||
|
|
||||||
|
#include <linux/ktime.h>
|
||||||
|
#include <linux/tracepoint.h>
|
||||||
|
|
||||||
|
TRACE_EVENT(ifs_status,
|
||||||
|
|
||||||
|
TP_PROTO(int cpu, union ifs_scan activate, union ifs_status status),
|
||||||
|
|
||||||
|
TP_ARGS(cpu, activate, status),
|
||||||
|
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__field( u64, status )
|
||||||
|
__field( int, cpu )
|
||||||
|
__field( u8, start )
|
||||||
|
__field( u8, stop )
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_fast_assign(
|
||||||
|
__entry->cpu = cpu;
|
||||||
|
__entry->start = activate.start;
|
||||||
|
__entry->stop = activate.stop;
|
||||||
|
__entry->status = status.data;
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_printk("cpu: %d, start: %.2x, stop: %.2x, status: %llx",
|
||||||
|
__entry->cpu,
|
||||||
|
__entry->start,
|
||||||
|
__entry->stop,
|
||||||
|
__entry->status)
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif /* _TRACE_IFS_H */
|
||||||
|
|
||||||
|
/* This part must be outside protection */
|
||||||
|
#include <trace/define_trace.h>
|
Reference in New Issue
Block a user