• Paul Burton's avatar
    MIPS: CPS: Add a couple of multi-cluster utility functions · 36675ac2
    Paul Burton authored
    This patch introduces a couple of utility functions which help later
    patches with introducing support for multi-cluster systems.
    
     - mips_cps_multicluster_cpus() allows its caller to determine whether
       the system includes CPUs spread across multiple clusters. This is
       useful because in some cases behaviour can be more optimal taking
       this knowledge into account. The means by which we check this is
       dependent upon the way we probe CPUs & assign their numbers, so
       keeping this knowledge confined here in arch/mips/ seems appropriate.
    
     - mips_cps_first_online_in_cluster() allows its caller to determine
       whether it is running upon the first CPU online within its cluster.
       This information is useful in cases where some cluster-wide
       configuration may need to occur, but should not be repeated if
       another CPU in the cluster is already online. Similarly to the above
       this is determined based upon knowledge of CPU numbering so it makes
       sense to keep that knowledge in arch/mips/. The function is defined
       in mips-cm.c rather than in asm/mips-cps.h in order to allow us to
       use asm/cpu-info.h & linux/smp.h without encountering an include
       nightmare.
    Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
    Signed-off-by: default avatarChao-ying Fu <cfu@wavecomp.com>
    Signed-off-by: default avatarDragan Mladjenovic <dragan.mladjenovic@syrmia.com>
    Signed-off-by: default avatarAleksandar Rikalo <aleksandar.rikalo@syrmia.com>
    Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
    36675ac2
mips-cm.c 15 KB