Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ccdaa6e0 authored by Vineet Gupta's avatar Vineet Gupta
Browse files

ARC: [SMP] IPI ACK interface doesn't need "self" cpu-id



The interface is confusing, it feels like we are getting "sender" info,
whereas it is the "receiver", which can very well be retrived by
smp_processor_id(), if need be.

Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent ddf84433
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -47,13 +47,13 @@ extern int smp_ipi_irq_setup(int cpu, int irq);
 * @info:		SoC SMP specific info for /proc/cpuinfo etc
 * @cpu_kick:		For Master to kickstart a cpu (optionally at a PC)
 * @ipi_send:		To send IPI to a @cpu
 * @ips_clear:		To clear IPI received by @cpu at @irq
 * @ips_clear:		To clear IPI received at @irq
 */
struct plat_smp_ops {
	const char 	*info;
	void		(*cpu_kick)(int cpu, unsigned long pc);
	void		(*ipi_send)(int cpu);
	void		(*ipi_clear)(int cpu, int irq);
	void		(*ipi_clear)(int irq);
};

/* TBD: stop exporting it for direct population by platform */
+1 −1
Original line number Diff line number Diff line
@@ -310,7 +310,7 @@ irqreturn_t do_IPI(int irq, void *dev_id)
	unsigned long ops;

	if (plat_smp_ops.ipi_clear)
		plat_smp_ops.ipi_clear(cpu, irq);
		plat_smp_ops.ipi_clear(irq);

	/*
	 * XXX: is this loop really needed
+2 −2
Original line number Diff line number Diff line
@@ -93,9 +93,9 @@ static void iss_model_ipi_send(int cpu)
	idu_irq_assert(cpu);
}

static void iss_model_ipi_clear(int cpu, int irq)
static void iss_model_ipi_clear(int irq)
{
	idu_irq_clear(IDU_INTERRUPT_0 + cpu);
	idu_irq_clear(IDU_INTERRUPT_0 + smp_processor_id());
}

void iss_model_init_early_smp(void)