Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) #define TRACE_SYSTEM rpm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) #if !defined(_TRACE_RUNTIME_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) #define _TRACE_RUNTIME_POWER_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #include <linux/ktime.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) struct device;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)  * The rpm_internal events are used for tracing some important
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16)  * runtime pm internal functions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) DECLARE_EVENT_CLASS(rpm_internal,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	TP_PROTO(struct device *dev, int flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	TP_ARGS(dev, flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 		__string(       name,		dev_name(dev)	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 		__field(        int,            flags           )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 		__field(        int ,   	usage_count	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 		__field(        int ,   	disable_depth   )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 		__field(        int ,   	runtime_auto	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 		__field(        int ,   	request_pending	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 		__field(        int ,   	irq_safe	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 		__field(        int ,   	child_count 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 		__assign_str(name, dev_name(dev));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 		__entry->flags = flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 		__entry->usage_count = atomic_read(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 			&dev->power.usage_count);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 		__entry->disable_depth = dev->power.disable_depth;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 		__entry->runtime_auto = dev->power.runtime_auto;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 		__entry->request_pending = dev->power.request_pending;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 		__entry->irq_safe = dev->power.irq_safe;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 		__entry->child_count = atomic_read(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 			&dev->power.child_count);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	TP_printk("%s flags-%x cnt-%-2d dep-%-2d auto-%-1d p-%-1d"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 			" irq-%-1d child-%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 			__get_str(name), __entry->flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 			__entry->usage_count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 			__entry->disable_depth,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 			__entry->runtime_auto,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 			__entry->request_pending,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 			__entry->irq_safe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 			__entry->child_count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 		 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) DEFINE_EVENT(rpm_internal, rpm_suspend,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	TP_PROTO(struct device *dev, int flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	TP_ARGS(dev, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) DEFINE_EVENT(rpm_internal, rpm_resume,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	TP_PROTO(struct device *dev, int flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	TP_ARGS(dev, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) DEFINE_EVENT(rpm_internal, rpm_idle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	TP_PROTO(struct device *dev, int flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	TP_ARGS(dev, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) DEFINE_EVENT(rpm_internal, rpm_usage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	TP_PROTO(struct device *dev, int flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	TP_ARGS(dev, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) TRACE_EVENT(rpm_return_int,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	TP_PROTO(struct device *dev, unsigned long ip, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	TP_ARGS(dev, ip, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 		__string(       name,		dev_name(dev))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 		__field(	unsigned long,		ip	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 		__field(	int,			ret	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 		__assign_str(name, dev_name(dev));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 		__entry->ip = ip;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	TP_printk("%pS:%s ret=%d", (void *)__entry->ip, __get_str(name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 		__entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) #endif /* _TRACE_RUNTIME_POWER_H */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #include <trace/define_trace.h>