diff options
author | Michael Neuling <mikey@neuling.org> | 2016-06-25 08:47:26 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-07-06 19:30:48 +1000 |
commit | e70575a8330e5a225ca676071815c73d8e296de7 (patch) | |
tree | 92d4d0a94e6d07bf8113f31203930609c9a492d8 /hw | |
parent | 45d1baf860b9c60baea4fdb8badff60a31bb9627 (diff) | |
download | skiboot-e70575a8330e5a225ca676071815c73d8e296de7.zip skiboot-e70575a8330e5a225ca676071815c73d8e296de7.tar.gz skiboot-e70575a8330e5a225ca676071815c73d8e296de7.tar.bz2 |
POWER9: Make xscom_addr() work for p8 and p9
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/xscom.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -69,9 +69,11 @@ static inline void *xscom_addr(uint32_t gcid, uint32_t pcb_addr) assert(chip); addr = chip->xscom_base; - addr |= ((uint64_t)pcb_addr << 4) & ~0xfful; - addr |= (pcb_addr << 3) & 0x78; - + if (proc_gen <= proc_gen_p8) { + addr |= ((uint64_t)pcb_addr << 4) & ~0xfful; + addr |= (pcb_addr << 3) & 0x78; + } else + addr |= ((uint64_t)pcb_addr << 3); return (void *)addr; } |