[POWERPC] Fix IPIC pending register assignments
This patch fixes the assignment of pending registers to IRQ numbers for the IPIC; the code previously assigned all IRQs to the high pending word regardless of which word the interrupt belonged to. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Родитель
7d452c326c
Коммит
ed709d134d
|
@ -210,7 +210,7 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 4,
|
.prio_mask = 4,
|
||||||
},
|
},
|
||||||
[64] = {
|
[64] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = IPIC_SMPRR_A,
|
.prio = IPIC_SMPRR_A,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
@ -218,7 +218,7 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 0,
|
.prio_mask = 0,
|
||||||
},
|
},
|
||||||
[65] = {
|
[65] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = IPIC_SMPRR_A,
|
.prio = IPIC_SMPRR_A,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
@ -226,7 +226,7 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 1,
|
.prio_mask = 1,
|
||||||
},
|
},
|
||||||
[66] = {
|
[66] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = IPIC_SMPRR_A,
|
.prio = IPIC_SMPRR_A,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
@ -234,7 +234,7 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 2,
|
.prio_mask = 2,
|
||||||
},
|
},
|
||||||
[67] = {
|
[67] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = IPIC_SMPRR_A,
|
.prio = IPIC_SMPRR_A,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
@ -242,7 +242,7 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 3,
|
.prio_mask = 3,
|
||||||
},
|
},
|
||||||
[68] = {
|
[68] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = IPIC_SMPRR_B,
|
.prio = IPIC_SMPRR_B,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
@ -250,7 +250,7 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 0,
|
.prio_mask = 0,
|
||||||
},
|
},
|
||||||
[69] = {
|
[69] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = IPIC_SMPRR_B,
|
.prio = IPIC_SMPRR_B,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
@ -258,7 +258,7 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 1,
|
.prio_mask = 1,
|
||||||
},
|
},
|
||||||
[70] = {
|
[70] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = IPIC_SMPRR_B,
|
.prio = IPIC_SMPRR_B,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
@ -266,7 +266,7 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 2,
|
.prio_mask = 2,
|
||||||
},
|
},
|
||||||
[71] = {
|
[71] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = IPIC_SMPRR_B,
|
.prio = IPIC_SMPRR_B,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
@ -274,91 +274,91 @@ static struct ipic_info ipic_info[] = {
|
||||||
.prio_mask = 3,
|
.prio_mask = 3,
|
||||||
},
|
},
|
||||||
[72] = {
|
[72] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 8,
|
.bit = 8,
|
||||||
},
|
},
|
||||||
[73] = {
|
[73] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 9,
|
.bit = 9,
|
||||||
},
|
},
|
||||||
[74] = {
|
[74] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 10,
|
.bit = 10,
|
||||||
},
|
},
|
||||||
[75] = {
|
[75] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 11,
|
.bit = 11,
|
||||||
},
|
},
|
||||||
[76] = {
|
[76] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 12,
|
.bit = 12,
|
||||||
},
|
},
|
||||||
[77] = {
|
[77] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 13,
|
.bit = 13,
|
||||||
},
|
},
|
||||||
[78] = {
|
[78] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 14,
|
.bit = 14,
|
||||||
},
|
},
|
||||||
[79] = {
|
[79] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 15,
|
.bit = 15,
|
||||||
},
|
},
|
||||||
[80] = {
|
[80] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 16,
|
.bit = 16,
|
||||||
},
|
},
|
||||||
[84] = {
|
[84] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 20,
|
.bit = 20,
|
||||||
},
|
},
|
||||||
[85] = {
|
[85] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 21,
|
.bit = 21,
|
||||||
},
|
},
|
||||||
[90] = {
|
[90] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
.bit = 26,
|
.bit = 26,
|
||||||
},
|
},
|
||||||
[91] = {
|
[91] = {
|
||||||
.pend = IPIC_SIPNR_H,
|
.pend = IPIC_SIPNR_L,
|
||||||
.mask = IPIC_SIMSR_L,
|
.mask = IPIC_SIMSR_L,
|
||||||
.prio = 0,
|
.prio = 0,
|
||||||
.force = IPIC_SIFCR_L,
|
.force = IPIC_SIFCR_L,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче