From fbee76aa8d678832bed4f4fa26c74fc6d289568a Mon Sep 17 00:00:00 2001 From: Neeraj Upadhyay Date: Mon, 6 Jun 2022 15:06:25 +0530 Subject: [PATCH] ANDROID: gic-v3: Update vendor hook to set affinity in GIC v3 Update android_rvh_gic_v3_set_affinity vendor hook to pass redistributor information. This allows configuring affinity controls in the GIC redistributor space. Bug: 180471389 Change-Id: I7325fea4338b39b65027e310a0461b7e7d32e6aa Signed-off-by: Neeraj Upadhyay Signed-off-by: Yogesh Lal --- drivers/irqchip/irq-gic-v3.c | 4 +++- include/trace/hooks/gic_v3.h | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index 794160adce1d..bbee60844ee7 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -1299,7 +1299,9 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, reg = gic_dist_base(d) + offset + (index * 8); val = gic_mpidr_to_affinity(cpu_logical_map(cpu)); - trace_android_rvh_gic_v3_set_affinity(d, mask_val, &val, force, gic_dist_base(d)); + trace_android_rvh_gic_v3_set_affinity(d, mask_val, &val, force, gic_dist_base(d), + gic_data.redist_regions[0].redist_base, + gic_data.redist_stride); gic_write_irouter(val, reg); /* diff --git a/include/trace/hooks/gic_v3.h b/include/trace/hooks/gic_v3.h index ba3539163c6d..ac54048a7dd5 100644 --- a/include/trace/hooks/gic_v3.h +++ b/include/trace/hooks/gic_v3.h @@ -18,8 +18,9 @@ DECLARE_HOOK(android_vh_gic_v3_affinity_init, TP_ARGS(irq, offset, affinity)); DECLARE_RESTRICTED_HOOK(android_rvh_gic_v3_set_affinity, TP_PROTO(struct irq_data *d, const struct cpumask *mask_val, - u64 *affinity, bool force, void __iomem *base), - TP_ARGS(d, mask_val, affinity, force, base), + u64 *affinity, bool force, void __iomem *base, + void __iomem *rbase, u64 redist_stride), + TP_ARGS(d, mask_val, affinity, force, base, rbase, redist_stride), 1); #endif /* _TRACE_HOOK_GIC_V3_H */