The spmi-pmic-arb is also an interrupt controller. It gets a
single aggregate irq and disseminates it to individual
pmic-peripheral drivers. Each pmic-peripheral has a unique apid
number, and can have multiple interrupt capable functions.
The registered apid range shows the lowest and highest apid
numbers of pmic-peripheral drivers which request irqs. Pid is
the base address of that peripheral. For performance measurement,
tracepoints are added at the beginning of the aggregate irq and
at the end of the individual pmic-peripheral irqs.
Following is a list showing the new tracepoint events:
spmi_pmic_arb_aggregate_irq_start: aggregate irq number and registered
apid range.
spmi_pmic_arb_apid_irq_end: apid, irq, func_num, sid and pid.
SPMI Interrupts tracepoints can be enabled like:
echo 1 >/sys/kernel/debug/tracing/events/spmi-pmic-arb/enable
and will dump messages that can be viewed in
/sys/kernel/debug/tracing/trace that look like:
... spmi_pmic_arb_aggregate_irq_start: irq=150 registered apid range=(3,189)
... spmi_pmic_arb_apid_irq_end: apid=3 irq=1 func_num=0 sid=0 pid=0x8
Suggested-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx>
Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx>
Signed-off-by: Ankit Gupta <ankgupta@xxxxxxxxxxxxxx>
---