diff options
author | Kyle Moffett <Kyle.D.Moffett@boeing.com> | 2011-12-22 05:19:12 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-02-22 18:49:59 -0500 |
commit | 5019609fce965dbdc66a7d947385fe92ca522231 (patch) | |
tree | 00678069c54aa7dbdf7ce32b927844957ead65f5 /arch/powerpc/include/asm | |
parent | 9ca163c8602681ad098910f48f89b97f0cb87c4f (diff) |
powerpc/mpic: Remove MPIC_BROKEN_FRR_NIRQS and duplicate irq_count
The mpic->irq_count variable is only used as a software error-checking
limit to determine whether or not an IRQ number is valid. In board code
which does not manually specify an IRQ count to mpic_alloc(), i.e. 0, it
is automatically detected from the number of ISUs and the ISU size.
In practice, all hardware ends up with irq_count == num_sources, so all
of the runtime checks on mpic->irq_count should just check the value of
mpic->num_sources instead.
When platform hardware does not correctly report the number of IRQs,
which only happens on the MPC85xx/MPC86xx, the MPIC_BROKEN_FRR_NIRQS
flag is used to override the detected value of num_sources with the
manual irq_count parameter. Since there's no need to manually specify
the number of IRQs except in this case, the extra flag can be eliminated
and the test changed to "irq_count != 0".
Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm')
-rw-r--r-- | arch/powerpc/include/asm/mpic.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/arch/powerpc/include/asm/mpic.h b/arch/powerpc/include/asm/mpic.h index 67b4d9837236..2ebac31d1bbd 100644 --- a/arch/powerpc/include/asm/mpic.h +++ b/arch/powerpc/include/asm/mpic.h | |||
@@ -273,7 +273,6 @@ struct mpic | |||
273 | unsigned int isu_size; | 273 | unsigned int isu_size; |
274 | unsigned int isu_shift; | 274 | unsigned int isu_shift; |
275 | unsigned int isu_mask; | 275 | unsigned int isu_mask; |
276 | unsigned int irq_count; | ||
277 | /* Number of sources */ | 276 | /* Number of sources */ |
278 | unsigned int num_sources; | 277 | unsigned int num_sources; |
279 | /* default senses array */ | 278 | /* default senses array */ |
@@ -363,8 +362,6 @@ struct mpic | |||
363 | #define MPIC_ENABLE_MCK 0x00000200 | 362 | #define MPIC_ENABLE_MCK 0x00000200 |
364 | /* Disable bias among target selection, spread interrupts evenly */ | 363 | /* Disable bias among target selection, spread interrupts evenly */ |
365 | #define MPIC_NO_BIAS 0x00000400 | 364 | #define MPIC_NO_BIAS 0x00000400 |
366 | /* Ignore NIRQS as reported by FRR */ | ||
367 | #define MPIC_BROKEN_FRR_NIRQS 0x00000800 | ||
368 | /* Destination only supports a single CPU at a time */ | 365 | /* Destination only supports a single CPU at a time */ |
369 | #define MPIC_SINGLE_DEST_CPU 0x00001000 | 366 | #define MPIC_SINGLE_DEST_CPU 0x00001000 |
370 | /* Enable CoreInt delivery of interrupts */ | 367 | /* Enable CoreInt delivery of interrupts */ |