powerpc/pseries: Rename TYPE1_AFFINITY to FORM1_AFFINITY
Also make related code cleanup that will allow adding FORM2_AFFINITY in later patches. No functional change in this patch. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210812132223.225214-3-aneesh.kumar@linux.ibm.com
This commit is contained in:
parent
7e35ef662c
commit
0eacd06bb8
@ -44,7 +44,7 @@
|
||||
#define FW_FEATURE_OPAL ASM_CONST(0x0000000010000000)
|
||||
#define FW_FEATURE_SET_MODE ASM_CONST(0x0000000040000000)
|
||||
#define FW_FEATURE_BEST_ENERGY ASM_CONST(0x0000000080000000)
|
||||
#define FW_FEATURE_TYPE1_AFFINITY ASM_CONST(0x0000000100000000)
|
||||
#define FW_FEATURE_FORM1_AFFINITY ASM_CONST(0x0000000100000000)
|
||||
#define FW_FEATURE_PRRN ASM_CONST(0x0000000200000000)
|
||||
#define FW_FEATURE_DRMEM_V2 ASM_CONST(0x0000000400000000)
|
||||
#define FW_FEATURE_DRC_INFO ASM_CONST(0x0000000800000000)
|
||||
@ -69,7 +69,7 @@ enum {
|
||||
FW_FEATURE_SPLPAR | FW_FEATURE_LPAR |
|
||||
FW_FEATURE_CMO | FW_FEATURE_VPHN | FW_FEATURE_XCMO |
|
||||
FW_FEATURE_SET_MODE | FW_FEATURE_BEST_ENERGY |
|
||||
FW_FEATURE_TYPE1_AFFINITY | FW_FEATURE_PRRN |
|
||||
FW_FEATURE_FORM1_AFFINITY | FW_FEATURE_PRRN |
|
||||
FW_FEATURE_HPT_RESIZE | FW_FEATURE_DRMEM_V2 |
|
||||
FW_FEATURE_DRC_INFO | FW_FEATURE_BLOCK_REMOVE |
|
||||
FW_FEATURE_PAPR_SCM | FW_FEATURE_ULTRAVISOR |
|
||||
|
@ -147,7 +147,7 @@ extern int of_read_drc_info_cell(struct property **prop,
|
||||
#define OV5_MSI 0x0201 /* PCIe/MSI support */
|
||||
#define OV5_CMO 0x0480 /* Cooperative Memory Overcommitment */
|
||||
#define OV5_XCMO 0x0440 /* Page Coalescing */
|
||||
#define OV5_TYPE1_AFFINITY 0x0580 /* Type 1 NUMA affinity */
|
||||
#define OV5_FORM1_AFFINITY 0x0580 /* FORM1 NUMA affinity */
|
||||
#define OV5_PRRN 0x0540 /* Platform Resource Reassignment */
|
||||
#define OV5_HP_EVT 0x0604 /* Hot Plug Event support */
|
||||
#define OV5_RESIZE_HPT 0x0601 /* Hash Page Table resizing */
|
||||
|
@ -1096,7 +1096,7 @@ static const struct ibm_arch_vec ibm_architecture_vec_template __initconst = {
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
.associativity = OV5_FEAT(OV5_TYPE1_AFFINITY) | OV5_FEAT(OV5_PRRN),
|
||||
.associativity = OV5_FEAT(OV5_FORM1_AFFINITY) | OV5_FEAT(OV5_PRRN),
|
||||
.bin_opts = OV5_FEAT(OV5_RESIZE_HPT) | OV5_FEAT(OV5_HP_EVT),
|
||||
.micro_checkpoint = 0,
|
||||
.reserved0 = 0,
|
||||
|
@ -53,7 +53,10 @@ EXPORT_SYMBOL(node_data);
|
||||
|
||||
static int primary_domain_index;
|
||||
static int n_mem_addr_cells, n_mem_size_cells;
|
||||
static int form1_affinity;
|
||||
|
||||
#define FORM0_AFFINITY 0
|
||||
#define FORM1_AFFINITY 1
|
||||
static int affinity_form;
|
||||
|
||||
#define MAX_DISTANCE_REF_POINTS 4
|
||||
static int distance_ref_points_depth;
|
||||
@ -190,7 +193,7 @@ int __node_distance(int a, int b)
|
||||
int i;
|
||||
int distance = LOCAL_DISTANCE;
|
||||
|
||||
if (!form1_affinity)
|
||||
if (affinity_form == FORM0_AFFINITY)
|
||||
return ((a == b) ? LOCAL_DISTANCE : REMOTE_DISTANCE);
|
||||
|
||||
for (i = 0; i < distance_ref_points_depth; i++) {
|
||||
@ -210,7 +213,7 @@ static void initialize_distance_lookup_table(int nid,
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!form1_affinity)
|
||||
if (affinity_form != FORM1_AFFINITY)
|
||||
return;
|
||||
|
||||
for (i = 0; i < distance_ref_points_depth; i++) {
|
||||
@ -289,6 +292,17 @@ static int __init find_primary_domain_index(void)
|
||||
int index;
|
||||
struct device_node *root;
|
||||
|
||||
/*
|
||||
* Check for which form of affinity.
|
||||
*/
|
||||
if (firmware_has_feature(FW_FEATURE_OPAL)) {
|
||||
affinity_form = FORM1_AFFINITY;
|
||||
} else if (firmware_has_feature(FW_FEATURE_FORM1_AFFINITY)) {
|
||||
dbg("Using form 1 affinity\n");
|
||||
affinity_form = FORM1_AFFINITY;
|
||||
} else
|
||||
affinity_form = FORM0_AFFINITY;
|
||||
|
||||
if (firmware_has_feature(FW_FEATURE_OPAL))
|
||||
root = of_find_node_by_path("/ibm,opal");
|
||||
else
|
||||
@ -318,23 +332,16 @@ static int __init find_primary_domain_index(void)
|
||||
}
|
||||
|
||||
distance_ref_points_depth /= sizeof(int);
|
||||
|
||||
if (firmware_has_feature(FW_FEATURE_OPAL) ||
|
||||
firmware_has_feature(FW_FEATURE_TYPE1_AFFINITY)) {
|
||||
dbg("Using form 1 affinity\n");
|
||||
form1_affinity = 1;
|
||||
}
|
||||
|
||||
if (form1_affinity) {
|
||||
index = of_read_number(distance_ref_points, 1);
|
||||
} else {
|
||||
if (affinity_form == FORM0_AFFINITY) {
|
||||
if (distance_ref_points_depth < 2) {
|
||||
printk(KERN_WARNING "NUMA: "
|
||||
"short ibm,associativity-reference-points\n");
|
||||
"short ibm,associativity-reference-points\n");
|
||||
goto err;
|
||||
}
|
||||
|
||||
index = of_read_number(&distance_ref_points[1], 1);
|
||||
} else {
|
||||
index = of_read_number(distance_ref_points, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -119,7 +119,7 @@ struct vec5_fw_feature {
|
||||
|
||||
static __initdata struct vec5_fw_feature
|
||||
vec5_fw_features_table[] = {
|
||||
{FW_FEATURE_TYPE1_AFFINITY, OV5_TYPE1_AFFINITY},
|
||||
{FW_FEATURE_FORM1_AFFINITY, OV5_FORM1_AFFINITY},
|
||||
{FW_FEATURE_PRRN, OV5_PRRN},
|
||||
{FW_FEATURE_DRMEM_V2, OV5_DRMEM_V2},
|
||||
{FW_FEATURE_DRC_INFO, OV5_DRC_INFO},
|
||||
|
Loading…
Reference in New Issue
Block a user