[PATCH] x86: uv bau sending buffer initialization

From: Cliff Wickman
Date: Wed Jun 24 2009 - 10:40:41 EST


From: Cliff Wickman <cpw@xxxxxxx>

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.

Diffed against 2.6.30

Signed-off-by: Cliff Wickman <cpw@xxxxxxx>

---
arch/x86/kernel/tlb_uv.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

Index: linux/arch/x86/kernel/tlb_uv.c
===================================================================
--- linux.orig/arch/x86/kernel/tlb_uv.c
+++ linux/arch/x86/kernel/tlb_uv.c
@@ -711,7 +711,6 @@ uv_activation_descriptor_init(int node,
unsigned long pa;
unsigned long m;
unsigned long n;
- unsigned long mmr_image;
struct bau_desc *adp;
struct bau_desc *ad2;

@@ -727,12 +726,8 @@ uv_activation_descriptor_init(int node,
n = pa >> uv_nshift;
m = pa & uv_mmask;

- mmr_image = uv_read_global_mmr64(pnode, UVH_LB_BAU_SB_DESCRIPTOR_BASE);
- if (mmr_image) {
- uv_write_global_mmr64(pnode, (unsigned long)
- UVH_LB_BAU_SB_DESCRIPTOR_BASE,
- (n << UV_DESC_BASE_PNODE_SHIFT | m));
- }
+ uv_write_global_mmr64(pnode, UVH_LB_BAU_SB_DESCRIPTOR_BASE,
+ (n << UV_DESC_BASE_PNODE_SHIFT | m));

/*
* initializing all 8 (UV_ITEMS_PER_DESCRIPTOR) descriptors for each
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/