Commit 9c26f52b authored by Cliff Wickman's avatar Cliff Wickman Committed by Ingo Molnar

x86: Fix uv bau sending buffer initialization

The initialization of the UV Broadcast Assist Unit's sending
buffers was making an invalid assumption about the
initialization of an MMR that defines its address.

The BIOS will not be providing that MMR.  So
uv_activation_descriptor_init() should unconditionally set it.

Tested on UV simulator.
Signed-off-by: default avatarCliff Wickman <cpw@sgi.com>
Cc: <stable@kernel.org> # for v2.6.30.x
LKML-Reference: <E1MJTfj-0005i1-W8@eag09.americas.sgi.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 7262b6e4
...@@ -711,7 +711,6 @@ uv_activation_descriptor_init(int node, int pnode) ...@@ -711,7 +711,6 @@ uv_activation_descriptor_init(int node, int pnode)
unsigned long pa; unsigned long pa;
unsigned long m; unsigned long m;
unsigned long n; unsigned long n;
unsigned long mmr_image;
struct bau_desc *adp; struct bau_desc *adp;
struct bau_desc *ad2; struct bau_desc *ad2;
...@@ -727,12 +726,8 @@ uv_activation_descriptor_init(int node, int pnode) ...@@ -727,12 +726,8 @@ uv_activation_descriptor_init(int node, int pnode)
n = pa >> uv_nshift; n = pa >> uv_nshift;
m = pa & uv_mmask; m = pa & uv_mmask;
mmr_image = uv_read_global_mmr64(pnode, UVH_LB_BAU_SB_DESCRIPTOR_BASE); uv_write_global_mmr64(pnode, UVH_LB_BAU_SB_DESCRIPTOR_BASE,
if (mmr_image) { (n << UV_DESC_BASE_PNODE_SHIFT | m));
uv_write_global_mmr64(pnode, (unsigned long)
UVH_LB_BAU_SB_DESCRIPTOR_BASE,
(n << UV_DESC_BASE_PNODE_SHIFT | m));
}
/* /*
* initializing all 8 (UV_ITEMS_PER_DESCRIPTOR) descriptors for each * initializing all 8 (UV_ITEMS_PER_DESCRIPTOR) descriptors for each
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment