aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2019-12-02 16:42:40 +1100
committerOliver O'Halloran <oohall@gmail.com>2019-12-04 14:19:24 +1100
commit08cd61e9d078419af6ef96ad7e626ae4ed5de9b6 (patch)
tree632530bcf2265dd88d6c5190bff681250a3d62f6 /include
parent7853fc53cfccc20e7cca0b0bf18c5e84cd5d306c (diff)
downloadskiboot-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.h9
-rw-r--r--include/pci.h5
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);