aboutsummaryrefslogtreecommitdiff
path: root/hw/psi.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2019-01-16 13:58:40 +1000
committerStewart Smith <stewart@linux.ibm.com>2019-01-25 13:57:05 -0600
commit0b0d15e3c1701fd98bc72b69ae9ba43699aef68d (patch)
treeb9ae3aeef9e17ae29b70744bf1d5564c59bc5f6e /hw/psi.c
parent3b4ae3a2e2a56e1166be9176445fe7fcdee1fca2 (diff)
downloadskiboot-0b0d15e3c1701fd98bc72b69ae9ba43699aef68d.zip
skiboot-0b0d15e3c1701fd98bc72b69ae9ba43699aef68d.tar.gz
skiboot-0b0d15e3c1701fd98bc72b69ae9ba43699aef68d.tar.bz2
Remove POWER9N DD1 support
This is not a shipping product and is no longer supported by Linux or other firmware components. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'hw/psi.c')
-rw-r--r--hw/psi.c43
1 files changed, 6 insertions, 37 deletions
diff --git a/hw/psi.c b/hw/psi.c
index cbdbeaa..2f7ab5f 100644
--- a/hw/psi.c
+++ b/hw/psi.c
@@ -665,24 +665,6 @@ static char *psi_p9_irq_name(struct irq_source *is, uint32_t isn)
return strdup(names[idx]);
}
-static void psi_p9_irq_ndd1_eoi(struct irq_source *is, uint32_t isn)
-{
- struct psi *psi = is->data;
- unsigned int idx = isn & 0xf;
-
- if (idx >= P9_PSI_IRQ_LPC_SIRQ0 &&
- idx <= P9_PSI_IRQ_LPC_SIRQ3)
- lpc_p9_sirq_eoi(psi->chip_id, idx - P9_PSI_IRQ_LPC_SIRQ0);
- __xive_source_eoi(is, isn);
-}
-
-static const struct irq_source_ops psi_p9_ndd1_irq_ops = {
- .interrupt = psihb_p9_interrupt,
- .attributes = psi_p9_irq_attributes,
- .name = psi_p9_irq_name,
- .eoi = psi_p9_irq_ndd1_eoi,
-};
-
static const struct irq_source_ops psi_p9_irq_ops = {
.interrupt = psihb_p9_interrupt,
.attributes = psi_p9_irq_attributes,
@@ -824,7 +806,6 @@ static void psi_init_p8_interrupts(struct psi *psi)
static void psi_init_p9_interrupts(struct psi *psi)
{
struct proc_chip *chip;
- bool is_p9ndd1;
u64 val;
/* Grab chip */
@@ -853,24 +834,12 @@ static void psi_init_p9_interrupts(struct psi *psi)
out_be64(psi->regs + PSIHB_IVT_OFFSET, val);
/* Register sources */
- is_p9ndd1 = (chip->ec_level < 0x20 &&
- chip->type == PROC_CHIP_P9_NIMBUS);
-
- if (is_p9ndd1) {
- prlog(PR_DEBUG,
- "PSI[0x%03x]: Interrupts sources registered for P9N DD1.x\n",
- psi->chip_id);
- xive_register_hw_source(psi->interrupt, P9_PSI_NUM_IRQS,
- 12, psi->esb_mmio, XIVE_SRC_LSI,
- psi, &psi_p9_ndd1_irq_ops);
- } else {
- prlog(PR_DEBUG,
- "PSI[0x%03x]: Interrupts sources registered for P9 DD2.x\n",
- psi->chip_id);
- xive_register_hw_source(psi->interrupt, P9_PSI_NUM_IRQS,
- 12, psi->esb_mmio, XIVE_SRC_LSI,
- psi, &psi_p9_irq_ops);
- }
+ prlog(PR_DEBUG,
+ "PSI[0x%03x]: Interrupts sources registered for P9 DD2.x\n",
+ psi->chip_id);
+ xive_register_hw_source(psi->interrupt, P9_PSI_NUM_IRQS,
+ 12, psi->esb_mmio, XIVE_SRC_LSI,
+ psi, &psi_p9_irq_ops);
/* Reset irq handling and switch to ESB mode */
out_be64(psi->regs + PSIHB_INTERRUPT_CONTROL, PSIHB_IRQ_RESET);