aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/mpic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kvm/mpic.c')
-rw-r--r--arch/powerpc/kvm/mpic.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index efbd9962a209..b68d0dc9479a 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -126,6 +126,8 @@ static int openpic_cpu_write_internal(void *opaque, gpa_t addr,
126 u32 val, int idx); 126 u32 val, int idx);
127static int openpic_cpu_read_internal(void *opaque, gpa_t addr, 127static int openpic_cpu_read_internal(void *opaque, gpa_t addr,
128 u32 *ptr, int idx); 128 u32 *ptr, int idx);
129static inline void write_IRQreg_idr(struct openpic *opp, int n_IRQ,
130 uint32_t val);
129 131
130enum irq_type { 132enum irq_type {
131 IRQ_TYPE_NORMAL = 0, 133 IRQ_TYPE_NORMAL = 0,
@@ -528,7 +530,6 @@ static void openpic_reset(struct openpic *opp)
528 /* Initialise IRQ sources */ 530 /* Initialise IRQ sources */
529 for (i = 0; i < opp->max_irq; i++) { 531 for (i = 0; i < opp->max_irq; i++) {
530 opp->src[i].ivpr = opp->ivpr_reset; 532 opp->src[i].ivpr = opp->ivpr_reset;
531 opp->src[i].idr = opp->idr_reset;
532 533
533 switch (opp->src[i].type) { 534 switch (opp->src[i].type) {
534 case IRQ_TYPE_NORMAL: 535 case IRQ_TYPE_NORMAL:
@@ -543,6 +544,8 @@ static void openpic_reset(struct openpic *opp)
543 case IRQ_TYPE_FSLSPECIAL: 544 case IRQ_TYPE_FSLSPECIAL:
544 break; 545 break;
545 } 546 }
547
548 write_IRQreg_idr(opp, i, opp->idr_reset);
546 } 549 }
547 /* Initialise IRQ destinations */ 550 /* Initialise IRQ destinations */
548 for (i = 0; i < MAX_CPU; i++) { 551 for (i = 0; i < MAX_CPU; i++) {