All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86, UV: Add function retrieving node controller revision number
@ 2010-01-12 21:09 Jack Steiner
  2010-01-13  9:24 ` Ingo Molnar
  2010-01-15 19:24 ` [tip:x86/urgent] x86, uv: Add function retrieving node controller revision number tip-bot for Jack Steiner
  0 siblings, 2 replies; 9+ messages in thread
From: Jack Steiner @ 2010-01-12 21:09 UTC (permalink / raw)
  To: mingo, tglx; +Cc: linux-kernel

Add function for determining the revision id of the SGI UV
node controller chip (HUB). This function is needed in a
subsequent patch.

Signed-off-by: Jack Steiner <steiner@sgi.com>

---
 arch/x86/include/asm/uv/uv_hub.h   |   12 ++++++++++++
 arch/x86/kernel/apic/x2apic_uv_x.c |    6 ++++++
 2 files changed, 18 insertions(+)

Index: linux/arch/x86/include/asm/uv/uv_hub.h
===================================================================
--- linux.orig/arch/x86/include/asm/uv/uv_hub.h	2010-01-09 19:49:39.000000000 -0600
+++ linux/arch/x86/include/asm/uv/uv_hub.h	2010-01-12 14:42:29.000000000 -0600
@@ -496,5 +496,17 @@ static inline void uv_hub_send_ipi(int p
 	uv_write_global_mmr64(pnode, UVH_IPI_INT, val);
 }
 
+/*
+ * Get the minimum revision number of the hub chips within the partition.
+ *     1 - initial rev 1.0 silicon
+ *     2 - rev 2.0 production silicon
+ */
+static inline int uv_get_min_hub_revision_id(void)
+{
+	extern int uv_min_hub_revision_id;
+
+	return uv_min_hub_revision_id;
+}
+
 #endif /* CONFIG_X86_64 */
 #endif /* _ASM_X86_UV_UV_HUB_H */
Index: linux/arch/x86/kernel/apic/x2apic_uv_x.c
===================================================================
--- linux.orig/arch/x86/kernel/apic/x2apic_uv_x.c	2010-01-09 19:49:39.000000000 -0600
+++ linux/arch/x86/kernel/apic/x2apic_uv_x.c	2010-01-12 14:43:36.000000000 -0600
@@ -36,6 +36,8 @@ DEFINE_PER_CPU(int, x2apic_extra_bits);
 
 static enum uv_system_type uv_system_type;
 static u64 gru_start_paddr, gru_end_paddr;
+int uv_min_hub_revision_id;
+EXPORT_SYMBOL_GPL(uv_min_hub_revision_id);
 
 static inline bool is_GRU_range(u64 start, u64 end)
 {
@@ -55,6 +57,10 @@ static int early_get_nodeid(void)
 	mmr = early_ioremap(UV_LOCAL_MMR_BASE | UVH_NODE_ID, sizeof(*mmr));
 	node_id.v = *mmr;
 	early_iounmap(mmr, sizeof(*mmr));
+
+	/* Currently, all blades have same revision number */
+	uv_min_hub_revision_id = node_id.s.revision;
+
 	return node_id.s.node_id;
 }
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-01-27 13:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-12 21:09 [PATCH] x86, UV: Add function retrieving node controller revision number Jack Steiner
2010-01-13  9:24 ` Ingo Molnar
2010-01-14 18:34   ` [PATCH] x86, UV: Read RTC using replicated cachelines Dimitri Sivanich
2010-01-19 14:41     ` [PATCH] x86, UV: Fix RTC latency bug by reading " Dimitri Sivanich
2010-01-20  8:10       ` Ingo Molnar
2010-01-22 15:40         ` Dimitri Sivanich
2010-01-22 15:41         ` Dimitri Sivanich
2010-01-27 13:17           ` [tip:x86/urgent] " tip-bot for Dimitri Sivanich
2010-01-15 19:24 ` [tip:x86/urgent] x86, uv: Add function retrieving node controller revision number tip-bot for Jack Steiner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.