powerpc/mm: mark more tlb functions as __always_inline
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 21 May 2019 13:13:24 +0000 (22:13 +0900)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 3 Jul 2019 10:49:50 +0000 (20:49 +1000)
commit6d3ca7e73642ce17398f4cd5df1780da4a1ccdaf
treecca0d039587956b4a81ad5de01d560d7e81df649
parent2200bbec12c428d7b276fb450e5755cdfe435ae5
powerpc/mm: mark more tlb functions as __always_inline

With CONFIG_OPTIMIZE_INLINING enabled, Laura Abbott reported error
with gcc 9.1.1:

  arch/powerpc/mm/book3s64/radix_tlb.c: In function '_tlbiel_pid':
  arch/powerpc/mm/book3s64/radix_tlb.c:104:2: warning: asm operand 3 probably doesn't match constraints
    104 |  asm volatile(PPC_TLBIEL(%0, %4, %3, %2, %1)
        |  ^~~
  arch/powerpc/mm/book3s64/radix_tlb.c:104:2: error: impossible constraint in 'asm'

Fixing _tlbiel_pid() is enough to address the warning above, but I
inlined more functions to fix all potential issues.

To meet the "i" (immediate) constraint for the asm operands, functions
propagating "ric" must be always inlined.

Fixes: 9012d011660e ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING")
Reported-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/book3s64/hash_native.c
arch/powerpc/mm/book3s64/radix_tlb.c