Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5d2d2ee authored by Cliff Wickman's avatar Cliff Wickman Committed by Ingo Molnar
Browse files

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: default avatarCliff Wickman <cpw@sgi.com>
Cc: <stable@kernel.org>
Link: http://lkml.kernel.org/r/E1SccoO-0002Lh-Cb@eag09.americas.sgi.com


Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent bd2753b2
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -149,7 +149,6 @@
/* 4 bits of software ack period */
/* 4 bits of software ack period */
#define UV2_ACK_MASK			0x7UL
#define UV2_ACK_MASK			0x7UL
#define UV2_ACK_UNITS_SHFT		3
#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
#define UV2_EXT_SHFT UV2H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT


/*
/*
+0 −1
Original line number Original line Diff line number Diff line
@@ -1295,7 +1295,6 @@ static void __init enable_timeouts(void)
		 */
		 */
		mmr_image |= (1L << SOFTACK_MSHIFT);
		mmr_image |= (1L << SOFTACK_MSHIFT);
		if (is_uv2_hub()) {
		if (is_uv2_hub()) {
			mmr_image &= ~(1L << UV2_LEG_SHFT);
			mmr_image |= (1L << UV2_EXT_SHFT);
			mmr_image |= (1L << UV2_EXT_SHFT);
		}
		}
		write_mmr_misc_control(pnode, mmr_image);
		write_mmr_misc_control(pnode, mmr_image);