The kernel has only one place to save the FPU state, so it is not allowed to have kernel FPU code that interrupts other kernel FPU code.
The irq_fpu_usable
function prints a warning only for kernel FPU code that actually is interrupting other kernel FPU code, but in practice, it is not possible to control when your interrupt runs.
Therefore, using FPU in interrupt context is not really possible. (It does not make sense either, because FPU code is useful only as a performance optimization, and interrupts should never run for so long that such optimizations are needed.)