diff options
author | Michael Neuling <mikey@neuling.org> | 2017-08-10 16:02:50 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-08-11 16:37:25 +1000 |
commit | 78e1d91725deb70898d4960837cad6f721c35fa2 (patch) | |
tree | 7d8e092c076ba2b665c76a9d7d918cfbd6313201 /hdata/hdata.h | |
parent | 8bdfaa24f88bd8800385a6997bb178dfdd970648 (diff) | |
download | skiboot-78e1d91725deb70898d4960837cad6f721c35fa2.zip skiboot-78e1d91725deb70898d4960837cad6f721c35fa2.tar.gz skiboot-78e1d91725deb70898d4960837cad6f721c35fa2.tar.bz2 |
hdat: Make is_power9n() global
This splits out is_power9n() so it can be used elsewhere. It also
adds a check for for POWER9 so the function does more of what it's
name suggests (and so the caller doesn't need to do it).
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hdata/hdata.h')
-rw-r--r-- | hdata/hdata.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/hdata/hdata.h b/hdata/hdata.h index e387186..6da9b55 100644 --- a/hdata/hdata.h +++ b/hdata/hdata.h @@ -17,6 +17,8 @@ #ifndef __HDATA_H #define __HDATA_H +#include <processor.h> + struct dt_node; extern void memory_parse(void); @@ -32,6 +34,20 @@ extern void vpd_parse(void); extern struct dt_node *find_xscom_for_chip(uint32_t chip_id); extern uint32_t pcid_to_chip_id(uint32_t proc_chip_id); +static __unused bool is_power9n(uint32_t version) +{ + if (PVR_TYPE(version) != PVR_TYPE_P9) + return false; + /* + * Bit 13 tells us: + * 0 = Scale out (aka Nimbus) + * 1 = Scale up (aka Cumulus) + */ + if ((version >> 13) & 1) + return false; + return true; +} + extern struct dt_node *add_core_common(struct dt_node *cpus, const struct sppaca_cpu_cache *cache, const struct sppaca_cpu_timebase *tb, |