diff options
author | Cédric Le Goater <clg@kaod.org> | 2018-04-03 08:57:23 +0200 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2018-04-03 03:30:46 -0500 |
commit | 19335bbf77d85bcaf74c037efef9f0e7e76cf227 (patch) | |
tree | b3392817721d2b497757b6bff75c5bb3660ed593 /include | |
parent | 6bfe04890f094bf38824fc3e445a4fee7aa6bece (diff) | |
download | skiboot-19335bbf77d85bcaf74c037efef9f0e7e76cf227.zip skiboot-19335bbf77d85bcaf74c037efef9f0e7e76cf227.tar.gz skiboot-19335bbf77d85bcaf74c037efef9f0e7e76cf227.tar.bz2 |
xive: disable store EOI support
Hardware has limitations which would require to put a sync after each
store EOI to make sure the MMIO operations that change the ESB state
are ordered. This is a killer for performance and the PHBs do not
support the sync. So remove the store EOI for the moment, until
hardware is improved.
Also, while we are at changing the XIVE source flags, let's fix the
settings for the PHB4s which should follow these rules :
- SHIFT_BUG for DD10
- STORE_EOI for DD20 and if enabled
- TRIGGER_PAGE for DDx0 and if not STORE_EOI
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/xive.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/xive.h b/include/xive.h index 47dc2c2..acc696a 100644 --- a/include/xive.h +++ b/include/xive.h @@ -492,6 +492,9 @@ uint32_t xive_alloc_ipi_irqs(uint32_t chip_id, uint32_t count, uint32_t align); uint64_t xive_get_notify_port(uint32_t chip_id, uint32_t ent); uint32_t xive_get_notify_base(uint32_t girq); +/* XIVE feature flag to de/activate store EOI */ +#define XIVE_STORE_EOI_ENABLED 0 + /* Internal IRQ flags */ #define XIVE_SRC_TRIGGER_PAGE 0x01 /* Trigger page exist (either separate * or not, so different from the OPAL |