diff options
author | Madhavan Srinivasan <maddy@linux.vnet.ibm.com> | 2019-09-25 09:58:04 +0530 |
---|---|---|
committer | Oliver O'Halloran <oohall@gmail.com> | 2019-10-03 09:55:58 +1000 |
commit | 7066a9c2f3173d79e1c59784d693f26c0e92ebb8 (patch) | |
tree | 5367c6c3f562e29c5241915c35afdaefe155747f | |
parent | 9f0af2799df68e0985f59649d2ce083534ce0cf1 (diff) | |
download | skiboot-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.c | 11 | ||||
-rw-r--r-- | hdata/test/op920.wsp.dts | 2 | ||||
-rw-r--r-- | hdata/test/p8-840-spira.dts | 3 | ||||
-rw-r--r-- | hdata/test/p81-811.spira.dts | 2 |
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 >; }; }; |