• Matt Redfearn's avatar
    MIPS: smp.c: Introduce mechanism for freeing and allocating IPIs · 7688c539
    Matt Redfearn authored
    For the MIPS remote processor implementation, we need additional IPIs to
    talk to the remote processor. Since MIPS GIC reserves exactly the right
    number of IPI IRQs required by Linux for the number of VPs in the
    system, this is not possible without releasing some recources.
    
    This commit introduces mips_smp_ipi_allocate() which allocates IPIs to a
    given cpumask. It is called as normal with the cpu_possible_mask at
    bootup to initialise IPIs to all CPUs. mips_smp_ipi_free() may then be
    used to free IPIs to a subset of those CPUs so that their hardware
    resources can be reused.
    Signed-off-by: default avatarMatt Redfearn <matt.redfearn@imgtec.com>
    Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
    Cc: Ohad Ben-Cohen <ohad@wizery.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Lisa Parratt <Lisa.Parratt@imgtec.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: Qais Yousef <qsyousef@gmail.com>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: linux-remoteproc@vger.kernel.org
    Cc: lisa.parratt@imgtec.com
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14285/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    7688c539
smp.c 15.9 KB