diff options
| author | Alistair Popple <alistair@popple.id.au> | 2018-07-18 10:44:00 +1000 |
|---|---|---|
| committer | Stewart Smith <stewart@linux.ibm.com> | 2018-07-17 22:49:27 -0500 |
| commit | 68518e542e6f7adfe4e97ac22024970ac2400872 (patch) | |
| tree | 86a5f8bf72baca7bcb9f1ea9333d757c1a9c238f /include | |
| parent | b8702e2c69638f9cab818e76232af3481935e250 (diff) | |
| download | blackbird-skiboot-68518e542e6f7adfe4e97ac22024970ac2400872.tar.gz blackbird-skiboot-68518e542e6f7adfe4e97ac22024970ac2400872.zip | |
phb4: Disable nodal scoped DMA accesses when PB pump mode is enabled
By default when a PCIe device issues a read request via the PHB it is first
issued with nodal scope. When accessing GPU memory the NPU does not know at the
time of response if the requested memory page is off node or not. Therefore
every read of GPU memory by a PHB is retried with larger scope which introduces
bandwidth and latency issues.
On smaller boxes which have pump mode enabled nodal and group scoped reads are
treated the same and both types of request are broadcast to one chip. Therefore
we can avoid the retry by disabling nodal scope on the PHB for these boxes. On
larger boxes nodal (single chip) and group (multiple chip) scoped reads are
treated differently. Therefore we avoid disabling nodal scope on large boxes
which have pump mode disabled to avoid all PHB requests being broadcast to
multiple chips.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/phb4-regs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/phb4-regs.h b/include/phb4-regs.h index e7a190ee..d7b551f3 100644 --- a/include/phb4-regs.h +++ b/include/phb4-regs.h @@ -344,6 +344,8 @@ #define XPEC_NEST_PBCQ_HW_CONFIG 0x0 #define XPEC_NEST_PBCQ_HW_CONFIG_PBINIT PPC_BIT(12) #define XPEC_NEST_PBCQ_HW_CONFIG_CH_STR PPC_BIT(33) +#define XPEC_NEST_PBCQ_HW_CONFIG_DIS_NODAL PPC_BIT(50) +#define XPEC_NEST_PBCQ_HW_CONFIG_DIS_RNNN PPC_BIT(52) #define XPEC_NEST_CAPP_CNTL 0x7 /* Nest base per-stack registers */ |

