MIPS: CPS: Cluster support for topology functions
Modify the functions we use to read information about the topology of the system (the number of cores, VPs & IOCUs that it contains) in order to take into account multiple clusters, and provide a new function to determine the number of clusters in the system. Users of these functions are modified only such that they continue to build successfully - having them actually handle multiple clusters is left to further patches. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/17016/ Patchwork: https://patchwork.linux-mips.org/patch/17218/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
e83f7e02af
commit
3c9b416621
@@ -328,36 +328,6 @@ GCR_CX_ACCESSOR_RW(32, 0x030, reset_ext_base)
|
||||
#define CM_GCR_Cx_RESET_EXT_BASE_BEVEXCPA GENMASK(7, 1)
|
||||
#define CM_GCR_Cx_RESET_EXT_BASE_PRESENT BIT(0)
|
||||
|
||||
/**
|
||||
* mips_cm_numcores - return the number of cores present in the system
|
||||
*
|
||||
* Returns the value of the PCORES field of the GCR_CONFIG register plus 1, or
|
||||
* zero if no Coherence Manager is present.
|
||||
*/
|
||||
static inline unsigned mips_cm_numcores(void)
|
||||
{
|
||||
if (!mips_cm_present())
|
||||
return 0;
|
||||
|
||||
return ((read_gcr_config() & CM_GCR_CONFIG_PCORES)
|
||||
>> __ffs(CM_GCR_CONFIG_PCORES)) + 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* mips_cm_numiocu - return the number of IOCUs present in the system
|
||||
*
|
||||
* Returns the value of the NUMIOCU field of the GCR_CONFIG register, or zero
|
||||
* if no Coherence Manager is present.
|
||||
*/
|
||||
static inline unsigned mips_cm_numiocu(void)
|
||||
{
|
||||
if (!mips_cm_present())
|
||||
return 0;
|
||||
|
||||
return (read_gcr_config() & CM_GCR_CONFIG_NUMIOCU)
|
||||
>> __ffs(CM_GCR_CONFIG_NUMIOCU);
|
||||
}
|
||||
|
||||
/**
|
||||
* mips_cm_l2sync - perform an L2-only sync operation
|
||||
*
|
||||
|
Reference in New Issue
Block a user