lkml.org 
[lkml]   [2022]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 520/913] mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n
    Date
    From: Randy Dunlap <rdunlap@infradead.org>

    [ 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: 183b40f992c8 ("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>
    ---
    arch/mips/dec/int-handler.S | 6 +++---
    arch/mips/dec/setup.c | 3 ++-
    2 files changed, 5 insertions(+), 4 deletions(-)

    diff --git a/arch/mips/dec/int-handler.S b/arch/mips/dec/int-handler.S
    index ea5b5a83f1e1..011d1d678840 100644
    --- a/arch/mips/dec/int-handler.S
    +++ b/arch/mips/dec/int-handler.S
    @@ -131,7 +131,7 @@
    */
    mfc0 t0,CP0_CAUSE # get pending interrupts
    mfc0 t1,CP0_STATUS
    -#ifdef CONFIG_32BIT
    +#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
    lw t2,cpu_fpu_mask
    #endif
    andi t0,ST0_IM # CAUSE.CE may be non-zero!
    @@ -139,7 +139,7 @@

    beqz t0,spurious

    -#ifdef CONFIG_32BIT
    +#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
    and t2,t0
    bnez t2,fpu # handle FPU immediately
    #endif
    @@ -280,7 +280,7 @@ handle_it:
    j dec_irq_dispatch
    nop

    -#ifdef CONFIG_32BIT
    +#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
    fpu:
    lw t0,fpu_kstat_irq
    nop
    diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c
    index eaad0ed4b523..99b9b29750db 100644
    --- a/arch/mips/dec/setup.c
    +++ b/arch/mips/dec/setup.c
    @@ -746,7 +746,8 @@ void __init arch_init_irq(void)
    dec_interrupt[DEC_IRQ_HALT] = -1;

    /* 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;
    int irq_fpu;

    --
    2.34.1


    \
     
     \ /
      Last update: 2022-04-06 06:34    [W:4.239 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site