lkml.org 
[lkml]   [2012]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 06/69] x86/uv: Fix UV2 BAU legacy mode
    3.2-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Cliff Wickman <cpw@sgi.com>

    commit d5d2d2eea84b0d8450b082edbc3dbde41fb8bfd8 upstream.

    The SGI Altix UV2 BAU (Broadcast Assist Unit) as used for
    tlb-shootdown (selective broadcast mode) always uses UV2
    broadcast descriptor format. There is no need to clear the
    'legacy' (UV1) mode, because the hardware always uses UV2 mode
    for selective broadcast.

    But the BIOS uses general broadcast and legacy mode, and the
    hardware pays attention to the legacy mode bit for general
    broadcast. So the kernel must not clear that mode bit.

    Signed-off-by: Cliff Wickman <cpw@sgi.com>
    Link: http://lkml.kernel.org/r/E1SccoO-0002Lh-Cb@eag09.americas.sgi.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    arch/x86/include/asm/uv/uv_bau.h | 1 -
    arch/x86/platform/uv/tlb_uv.c | 1 -
    2 files changed, 2 deletions(-)

    diff --git a/arch/x86/include/asm/uv/uv_bau.h b/arch/x86/include/asm/uv/uv_bau.h
    index becf47b..6149b47 100644
    --- a/arch/x86/include/asm/uv/uv_bau.h
    +++ b/arch/x86/include/asm/uv/uv_bau.h
    @@ -149,7 +149,6 @@
    /* 4 bits of software ack period */
    #define UV2_ACK_MASK 0x7UL
    #define UV2_ACK_UNITS_SHFT 3
    -#define UV2_LEG_SHFT UV2H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT
    #define UV2_EXT_SHFT UV2H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT

    /*
    diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c
    index 3ae0e61..59880af 100644
    --- a/arch/x86/platform/uv/tlb_uv.c
    +++ b/arch/x86/platform/uv/tlb_uv.c
    @@ -1295,7 +1295,6 @@ static void __init enable_timeouts(void)
    */
    mmr_image |= (1L << SOFTACK_MSHIFT);
    if (is_uv2_hub()) {
    - mmr_image &= ~(1L << UV2_LEG_SHFT);
    mmr_image |= (1L << UV2_EXT_SHFT);
    }
    write_mmr_misc_control(pnode, mmr_image);



    \
     
     \ /
      Last update: 2012-06-17 21:02    [W:3.183 / U:0.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site