x86/uv: Fix UV2 BAU legacy mode

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>
Cc: <stable@kernel.org>
Link: http://lkml.kernel.org/r/E1SccoO-0002Lh-Cb@eag09.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>

authored by Cliff Wickman and committed by Ingo Molnar d5d2d2ee bd2753b2

-2
-1
arch/x86/include/asm/uv/uv_bau.h
··· 149 /* 4 bits of software ack period */ 150 #define UV2_ACK_MASK 0x7UL 151 #define UV2_ACK_UNITS_SHFT 3 152 - #define UV2_LEG_SHFT UV2H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 153 #define UV2_EXT_SHFT UV2H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 154 155 /*
··· 149 /* 4 bits of software ack period */ 150 #define UV2_ACK_MASK 0x7UL 151 #define UV2_ACK_UNITS_SHFT 3 152 #define UV2_EXT_SHFT UV2H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 153 154 /*
-1
arch/x86/platform/uv/tlb_uv.c
··· 1295 */ 1296 mmr_image |= (1L << SOFTACK_MSHIFT); 1297 if (is_uv2_hub()) { 1298 - mmr_image &= ~(1L << UV2_LEG_SHFT); 1299 mmr_image |= (1L << UV2_EXT_SHFT); 1300 } 1301 write_mmr_misc_control(pnode, mmr_image);
··· 1295 */ 1296 mmr_image |= (1L << SOFTACK_MSHIFT); 1297 if (is_uv2_hub()) { 1298 mmr_image |= (1L << UV2_EXT_SHFT); 1299 } 1300 write_mmr_misc_control(pnode, mmr_image);