mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n

[ Upstream commit 97bf0395c226907e1a9b908511a35192bf1e09bb ]

Include the DECstation interrupt handler in opting out of
FPU support.

Fixes a linker error:

mips-linux-ld: arch/mips/dec/int-handler.o: in function `fpu':
(.text+0x148): undefined reference to `handle_fpe_int'

Fixes: 183b40f992 ("MIPS: Allow FP support to be disabled")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Maciej W. Rozycki <macro@orcam.me.uk>
Cc: linux-mips@vger.kernel.org
Acked-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Randy Dunlap
2022-03-04 08:24:27 -08:00
committed by Greg Kroah-Hartman
parent bbd91cdb62
commit ab0a335b54
2 changed files with 5 additions and 4 deletions

View File

@@ -131,7 +131,7 @@
*/ */
mfc0 t0,CP0_CAUSE # get pending interrupts mfc0 t0,CP0_CAUSE # get pending interrupts
mfc0 t1,CP0_STATUS mfc0 t1,CP0_STATUS
#ifdef CONFIG_32BIT #if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
lw t2,cpu_fpu_mask lw t2,cpu_fpu_mask
#endif #endif
andi t0,ST0_IM # CAUSE.CE may be non-zero! andi t0,ST0_IM # CAUSE.CE may be non-zero!
@@ -139,7 +139,7 @@
beqz t0,spurious beqz t0,spurious
#ifdef CONFIG_32BIT #if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
and t2,t0 and t2,t0
bnez t2,fpu # handle FPU immediately bnez t2,fpu # handle FPU immediately
#endif #endif
@@ -280,7 +280,7 @@ handle_it:
j dec_irq_dispatch j dec_irq_dispatch
nop nop
#ifdef CONFIG_32BIT #if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
fpu: fpu:
lw t0,fpu_kstat_irq lw t0,fpu_kstat_irq
nop nop

View File

@@ -746,7 +746,8 @@ void __init arch_init_irq(void)
dec_interrupt[DEC_IRQ_HALT] = -1; dec_interrupt[DEC_IRQ_HALT] = -1;
/* Register board interrupts: FPU and cascade. */ /* Register board interrupts: FPU and cascade. */
if (dec_interrupt[DEC_IRQ_FPU] >= 0 && cpu_has_fpu) { if (IS_ENABLED(CONFIG_MIPS_FP_SUPPORT) &&
dec_interrupt[DEC_IRQ_FPU] >= 0 && cpu_has_fpu) {
struct irq_desc *desc_fpu; struct irq_desc *desc_fpu;
int irq_fpu; int irq_fpu;