lkml.org 
[lkml]   [2020]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 124/190] mips: MAAR: Use more precise address mask
    Date
    From: Serge Semin <Sergey.Semin@baikalelectronics.ru>

    [ Upstream commit bbb5946eb545fab8ad8f46bce8a803e1c0c39d47 ]

    Indeed according to the MIPS32 Privileged Resource Architecgture the MAAR
    pair register address field either takes [12:31] bits for non-XPA systems
    and [12:55] otherwise. In any case the current address mask is just
    wrong for 64-bit and 32-bits XPA chips. So lets extend it to 59-bits
    of physical address value. This shall cover the 64-bits architecture and
    systems with XPA enabled, and won't cause any problem for non-XPA 32-bit
    systems, since address values exceeding the architecture specific MAAR
    mask will be just truncated with setting zeros in the unsupported upper
    bits.

    Co-developed-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
    Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
    Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Paul Burton <paulburton@kernel.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Rob Herring <robh+dt@kernel.org>
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/mips/include/asm/mipsregs.h | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
    index a6810923b3f0..a7f9acb42034 100644
    --- a/arch/mips/include/asm/mipsregs.h
    +++ b/arch/mips/include/asm/mipsregs.h
    @@ -737,7 +737,7 @@

    /* MAAR bit definitions */
    #define MIPS_MAAR_VH (_U64CAST_(1) << 63)
    -#define MIPS_MAAR_ADDR ((BIT_ULL(BITS_PER_LONG - 12) - 1) << 12)
    +#define MIPS_MAAR_ADDR GENMASK_ULL(55, 12)
    #define MIPS_MAAR_ADDR_SHIFT 12
    #define MIPS_MAAR_S (_ULCAST_(1) << 1)
    #define MIPS_MAAR_VL (_ULCAST_(1) << 0)
    --
    2.25.1


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