aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMadhavan Srinivasan <maddy@linux.vnet.ibm.com>2019-09-25 09:58:04 +0530
committerOliver O'Halloran <oohall@gmail.com>2019-10-03 09:55:58 +1000
commit7066a9c2f3173d79e1c59784d693f26c0e92ebb8 (patch)
tree5367c6c3f562e29c5241915c35afdaefe155747f
parent9f0af2799df68e0985f59649d2ce083534ce0cf1 (diff)
downloadskiboot-7066a9c2f3173d79e1c59784d693f26c0e92ebb8.zip
skiboot-7066a9c2f3173d79e1c59784d693f26c0e92ebb8.tar.gz
skiboot-7066a9c2f3173d79e1c59784d693f26c0e92ebb8.tar.bz2
hdat/spira: export abc and wxyz bus speeds
One of the spira structs (iplparams_sysparams) captures different system bus speeds/frequency. Patch exports the same in "sys-params" dt node. These values will help in nest pmu metric calculations. ABC bus speed values are exported in "abc-bus-freq-mhz" property. As name suggest, values are in MHz. WXYZ bus speed values are exported in "wxyz-bus-freq-mhz" property. As name suggest, values are in MHz. Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> [oliver: added missing s-o-b, fixed hdat tests] Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
-rw-r--r--hdata/spira.c11
-rw-r--r--hdata/test/op920.wsp.dts2
-rw-r--r--hdata/test/p8-840-spira.dts3
-rw-r--r--hdata/test/p81-811.spira.dts2
4 files changed, 18 insertions, 0 deletions
diff --git a/hdata/spira.c b/hdata/spira.c
index e118e22..5e73b7d 100644
--- a/hdata/spira.c
+++ b/hdata/spira.c
@@ -999,6 +999,7 @@ static void add_iplparams_sys_params(const void *iplp, struct dt_node *node)
u16 version = be16_to_cpu(hdif->version);
const char *vendor = NULL;
u32 sys_attributes;
+ u64 bus_speed;
p = HDIF_get_idata(iplp, IPLPARAMS_SYSPARAMS, NULL);
if (!CHECK_SPPTR(p)) {
@@ -1066,6 +1067,16 @@ static void add_iplparams_sys_params(const void *iplp, struct dt_node *node)
dt_add_property_u64(dt_root, "nest-frequency", freq);
}
+ /* Grab ABC bus speed */
+ bus_speed = be32_to_cpu(p->abc_bus_speed);
+ if (bus_speed)
+ dt_add_property_u64(node, "abc-bus-freq-mhz", bus_speed);
+
+ /* Grab WXYZ bus speed */
+ bus_speed = be32_to_cpu(p->wxyz_bus_speed);
+ if (bus_speed)
+ dt_add_property_u64(node, "wxyz-bus-freq-mhz", bus_speed);
+
if (version >= 0x5f)
vendor = p->sys_vendor;
diff --git a/hdata/test/op920.wsp.dts b/hdata/test/op920.wsp.dts
index b9aa0f2..0a42e2e 100644
--- a/hdata/test/op920.wsp.dts
+++ b/hdata/test/op920.wsp.dts
@@ -3221,8 +3221,10 @@
phandle = <0xb2>;
#address-cells = <0x0>;
#size-cells = <0x0>;
+ abc-bus-freq-mhz = < 0x00 0x1250 >;
ibm,sys-model = " GTH";
elevated-risk-level;
+ wxyz-bus-freq-mhz = < 0x00 0x7d0 >;
};
};
diff --git a/hdata/test/p8-840-spira.dts b/hdata/test/p8-840-spira.dts
index 428683b..1a4519a 100644
--- a/hdata/test/p8-840-spira.dts
+++ b/hdata/test/p8-840-spira.dts
@@ -563,7 +563,10 @@
phandle = <0x3c>;
#address-cells = <0x0>;
#size-cells = <0x0>;
+ abc-bus-freq-mhz = < 0x00 0x1900 >;
ibm,sys-model = " 41A";
+ wxyz-bus-freq-mhz = < 0x00 0xfa0 >;
+
};
};
diff --git a/hdata/test/p81-811.spira.dts b/hdata/test/p81-811.spira.dts
index 800468e..917b96b 100644
--- a/hdata/test/p81-811.spira.dts
+++ b/hdata/test/p81-811.spira.dts
@@ -1655,7 +1655,9 @@
phandle = <0x7c>;
#address-cells = <0x0>;
#size-cells = <0x0>;
+ abc-bus-freq-mhz = < 0x00 0x1900 >;
ibm,sys-model = " 22L";
+ wxyz-bus-freq-mhz = < 0x00 0xfa0 >;
};
};