diff options
author | Alexey Kardashevskiy <aik@ozlabs.ru> | 2019-12-02 16:42:40 +1100 |
---|---|---|
committer | Oliver O'Halloran <oohall@gmail.com> | 2019-12-04 14:19:24 +1100 |
commit | 08cd61e9d078419af6ef96ad7e626ae4ed5de9b6 (patch) | |
tree | 632530bcf2265dd88d6c5190bff681250a3d62f6 /include | |
parent | 7853fc53cfccc20e7cca0b0bf18c5e84cd5d306c (diff) | |
download | skiboot-08cd61e9d078419af6ef96ad7e626ae4ed5de9b6.zip skiboot-08cd61e9d078419af6ef96ad7e626ae4ed5de9b6.tar.gz skiboot-08cd61e9d078419af6ef96ad7e626ae4ed5de9b6.tar.bz2 |
phb4: Add PHB options get/set OPAL calls
These are new OPAL calls to tweak various PHB parameters.
The first two are:
- TVT Select 'GTE4GB' Option of the PHB control register to enable use
of the second TVE for DMA trafic just above 4GB;
- MMIO EEH Disable to disable EEH for all MMIO commands.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/opal-api.h | 9 | ||||
-rw-r--r-- | include/pci.h | 5 |
2 files changed, 13 insertions, 1 deletions
diff --git a/include/opal-api.h b/include/opal-api.h index b577952..d92ecf5 100644 --- a/include/opal-api.h +++ b/include/opal-api.h @@ -225,7 +225,9 @@ #define OPAL_SECVAR_GET 176 #define OPAL_SECVAR_GET_NEXT 177 #define OPAL_SECVAR_ENQUEUE_UPDATE 178 -#define OPAL_LAST 178 +#define OPAL_PHB_SET_OPTION 179 +#define OPAL_PHB_GET_OPTION 180 +#define OPAL_LAST 180 #define QUIESCE_HOLD 1 /* Spin all calls at entry */ #define QUIESCE_REJECT 2 /* Fail all calls with OPAL_BUSY */ @@ -524,6 +526,11 @@ enum OpalCheckTokenStatus { OPAL_TOKEN_PRESENT = 1 }; +enum OpalPhbOption { + OPAL_PHB_OPTION_TVE1_4GB = 0x1, + OPAL_PHB_OPTION_MMIO_EEH_DISABLE = 0x2, +}; + /* * Address cycle types for LPC accesses. These also correspond * to the content of the first cell of the "reg" property for diff --git a/include/pci.h b/include/pci.h index fb91d79..a808b68 100644 --- a/include/pci.h +++ b/include/pci.h @@ -291,6 +291,11 @@ struct phb_ops { uint64_t pci_start_addr, uint64_t pci_mem_size); + int64_t (*set_option)(struct phb *phb, enum OpalPhbOption opt, + uint64_t setting); + int64_t (*get_option)(struct phb *phb, enum OpalPhbOption opt, + uint64_t *setting); + int64_t (*set_mve)(struct phb *phb, uint32_t mve_number, uint64_t pe_number); |