Skip to contentSkip to conversation

sn2 update

PATCH New Jesse Barnes 1 participant 1 message Jul 30, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sn2 update

Small sn2 update with some cleanups and bugfixes.

Thanks,
Jesse

 arch/ia64/sn/io/hwgfs/hcl.c           |   22 -
 arch/ia64/sn/io/hwgfs/interface.c     |    1
 arch/ia64/sn/io/io.c                  |   20 -
 arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c |  150 ---------
 arch/ia64/sn/io/xswitch.c             |   68 ----
 arch/ia64/sn/kernel/Makefile          |    4
 arch/ia64/sn/kernel/mca.c             |    9
 arch/ia64/sn/kernel/sv.c              |  551 ----------------------------------
 include/asm-ia64/sn/dmamap.h          |    4
 include/asm-ia64/sn/hcl.h             |    1
 include/asm-ia64/sn/ksys/l1.h         |    1
 include/asm-ia64/sn/nodepda.h         |    3
 include/asm-ia64/sn/sn2/sn_private.h  |    3
 include/asm-ia64/sn/sv.h              |  153 ---------
 14 files changed, 28 insertions(+), 962 deletions(-)

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.1397 -> 1.1398
# arch/ia64/sn/kernel/Makefile 1.14 -> 1.15
# include/asm-ia64/sn/sn2/sn_private.h 1.3 -> 1.4
# arch/ia64/sn/kernel/mca.c 1.5 -> 1.6
# arch/ia64/sn/kernel/sv.c 1.6 -> 1.7
# include/asm-ia64/sn/nodepda.h 1.5 -> 1.6
# arch/ia64/sn/io/xswitch.c 1.6 -> 1.7
# include/asm-ia64/sn/sv.h 1.4 -> 1.5
# include/asm-ia64/sn/ksys/l1.h 1.5 -> 1.6
# include/asm-ia64/sn/hcl.h 1.4 -> 1.5
# arch/ia64/sn/io/io.c 1.7 -> 1.8
# arch/ia64/sn/io/hwgfs/hcl.c 1.4 -> 1.5
# include/asm-ia64/sn/dmamap.h 1.4 -> 1.5
# arch/ia64/sn/io/hwgfs/interface.c 1.1 -> 1.2
# arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c 1.11 -> 1.12
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/07/30 [email protected] 1.1398

# sn2 update
# --------------------------------------------
#
diff -Nru a/arch/ia64/sn/io/hwgfs/hcl.c b/arch/ia64/sn/io/hwgfs/hcl.c
--- a/arch/ia64/sn/io/hwgfs/hcl.c	Wed Jul 30 11:40:14 2003
+++ b/arch/ia64/sn/io/hwgfs/hcl.c	Wed Jul 30 11:40:14 2003
@@ -759,28 +759,6 @@
 }

/*
- * hwgraph_path_lookup - return the handle for the given path.
- *
- */
-int
-hwgraph_path_lookup(vertex_hdl_t start_vertex_handle,
- char *lookup_path,
- vertex_hdl_t *vertex_handle_ptr,
- char **remainder)
-{
- *vertex_handle_ptr = hwgfs_find_handle(start_vertex_handle, /* start dir */
- lookup_path, /* path */
- 0, /* major */
- 0, /* minor */
- 0, /* char | block */
- 1); /* traverse symlinks */
- if (*vertex_handle_ptr == NULL)
- return(-1);
- else
- return(0);
-}
-
-/*
* hwgraph_traverse - Find and return the handle starting from de. *
*/

arch/ia64/sn/io/hwgfs/interface.c +1 -0
diff -Nru a/arch/ia64/sn/io/hwgfs/interface.c b/arch/ia64/sn/io/hwgfs/interface.c
@@ -69,6 +69,7 @@
 			return error;
 
 		nd->dentry = lookup_create(nd, is_dir);
+		nd->flags |= LOOKUP_PARENT;
 		if (unlikely(IS_ERR(nd->dentry)))
 			return PTR_ERR(nd->dentry);
 
arch/ia64/sn/io/io.c +11 -9
diff -Nru a/arch/ia64/sn/io/io.c b/arch/ia64/sn/io/io.c
@@ -87,11 +87,7 @@
 	hub_set_piomode(nasid, HUB_PIO_CONVEYOR);
 
 	mutex_spinlock_init(&hubinfo->h_bwlock);
-/*
- * If this lock can be acquired from interrupts or bh's, add SV_INTS or SV_BHS,
- * respectively, to the flags here.
- */
-	sv_init(&hubinfo->h_bwwait, &hubinfo->h_bwlock, SV_ORDER_FIFO | SV_MON_SPIN); 
+	init_waitqueue_head(&hubinfo->h_bwwait);
 }
 
 /* 
@@ -215,10 +211,16 @@
 			if (flags & PIOMAP_NOSLEEP) {
 				bw_piomap = NULL;
 				goto done;
-			}
+			} else {
+				DECLARE_WAITQUEUE(wait, current);
 
-			sv_wait(&hubinfo->h_bwwait, 0, 0);
-			goto tryagain;
+				spin_unlock(&hubinfo->h_bwlock); 
+				set_current_state(TASK_UNINTERRUPTIBLE);
+				add_wait_queue_exclusive(&hubinfo->h_bwwait, &wait);
+				schedule();
+				remove_wait_queue(&hubinfo->h_bwwait, &wait);
+				goto tryagain;
+			}
 		}
 	}
 
@@ -316,7 +318,7 @@
 		} else
 			hub_piomap->hpio_flags &= ~HUB_PIOMAP_IS_VALID;
 
-		(void)sv_signal(&hubinfo->h_bwwait);
+		wake_up(&hubinfo->h_bwwait);
 	}
 
 	mutex_spinunlock(&hubinfo->h_bwlock, s);
arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c +1 -149

256 lines not on this page · raw message

arch/ia64/sn/io/xswitch.c +6 -62

128 lines not on this page · raw message

arch/ia64/sn/kernel/Makefile +1 -3
diff -Nru a/arch/ia64/sn/kernel/Makefile b/arch/ia64/sn/kernel/Makefile
@@ -9,8 +9,6 @@
 
 EXTRA_CFLAGS := -DLITTLE_ENDIAN
 
-obj-y				:= probe.o setup.o sv.o bte.o irq.o mca.o \
-				   idle.o sn2/
-
+obj-y				+= probe.o setup.o bte.o irq.o mca.o idle.o sn2/
 obj-$(CONFIG_IA64_GENERIC)      += machvec.o
 obj-$(CONFIG_MODULES)           += sn_ksyms.o
arch/ia64/sn/kernel/mca.c +6 -3
diff -Nru a/arch/ia64/sn/kernel/mca.c b/arch/ia64/sn/kernel/mca.c
@@ -121,14 +121,17 @@
 
 
 static void
-sn_cpei_timer_handler(unsigned long dummy) {
+sn_cpei_timer_handler(unsigned long dummy)
+{
 	sn_cpei_handler(-1, NULL, NULL);
 	mod_timer(&sn_cpei_timer, jiffies + CPEI_INTERVAL);
 }
 
 void
-sn_init_cpei_timer() {
+sn_init_cpei_timer(void)
+{
+	init_timer(&sn_cpei_timer);
 	sn_cpei_timer.expires = jiffies + CPEI_INTERVAL;
         sn_cpei_timer.function = sn_cpei_timer_handler;
-        add_timer(&sn_cpei_timer);
+	add_timer(&sn_cpei_timer);
 }
arch/ia64/sn/kernel/sv.c +0 -551

551 lines not on this page · raw message

include/asm-ia64/sn/dmamap.h +0 -4
diff -Nru a/include/asm-ia64/sn/dmamap.h b/include/asm-ia64/sn/dmamap.h
@@ -9,8 +9,6 @@
 #ifndef _ASM_IA64_SN_DMAMAP_H
 #define _ASM_IA64_SN_DMAMAP_H
 
-#include <asm/sn/sv.h>
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -65,8 +63,6 @@
 
 extern int a24_mapsize;
 extern int a32_mapsize;
-
-extern sv_t dmamapout;
 
 #ifdef __cplusplus
 }
include/asm-ia64/sn/hcl.h +0 -1
diff -Nru a/include/asm-ia64/sn/hcl.h b/include/asm-ia64/sn/hcl.h
@@ -99,7 +99,6 @@
 extern int hwgraph_info_get_exported_LBL(vertex_hdl_t, char *, int *, arbitrary_info_t *);
 extern int hwgraph_info_get_next_LBL(vertex_hdl_t, char *, arbitrary_info_t *,
                                 labelcl_info_place_t *);
-extern int hwgraph_path_lookup(vertex_hdl_t, char *, vertex_hdl_t *, char **);
 extern int hwgraph_info_export_LBL(vertex_hdl_t, char *, int);
 extern int hwgraph_info_unexport_LBL(vertex_hdl_t, char *);
 extern int hwgraph_info_remove_LBL(vertex_hdl_t, char *, arbitrary_info_t *);
include/asm-ia64/sn/ksys/l1.h +0 -1
diff -Nru a/include/asm-ia64/sn/ksys/l1.h b/include/asm-ia64/sn/ksys/l1.h
@@ -14,7 +14,6 @@
 #include <asm/sn/vector.h>
 #include <asm/sn/addrs.h>
 #include <asm/atomic.h>
-#include <asm/sn/sv.h>
 
 /* L1 Target Addresses */
 /*
include/asm-ia64/sn/nodepda.h +1 -2
diff -Nru a/include/asm-ia64/sn/nodepda.h b/include/asm-ia64/sn/nodepda.h
@@ -127,8 +127,7 @@
  * Check if given a compact node id the corresponding node has all the
  * cpus disabled. 
  */
-#define is_headless_node(cnode)		((cnode == CNODEID_NONE) ||			\
-					 (node_data(cnode)->active_cpu_count == 0))
+#define is_headless_node(cnode)		(!test_bit(cnode, &node_has_active_cpus))
 
 /*
  * Check if given a node vertex handle the corresponding node has all the
include/asm-ia64/sn/sn2/sn_private.h +1 -2
diff -Nru a/include/asm-ia64/sn/sn2/sn_private.h b/include/asm-ia64/sn/sn2/sn_private.h
@@ -97,7 +97,6 @@
 /* init.c */
 extern cnodeid_t get_compact_nodeid(void);	/* get compact node id */
 extern void init_platform_nodepda(nodepda_t *npda, cnodeid_t node);
-extern void per_cpu_init(void);
 extern int is_fine_dirmode(void);
 extern void update_node_information(cnodeid_t);
  
@@ -177,7 +176,7 @@
 	/* structures for PIO management */
 	xwidgetnum_t			h_widgetid;	/* my widget # (as viewed from xbow) */
 	struct hub_piomap_s		h_small_window_piomap[HUB_WIDGET_ID_MAX+1];
-	sv_t				h_bwwait;	/* wait for big window to free */
+	wait_queue_head_t		h_bwwait;	/* wait for big window to free */
 	spinlock_t			h_bwlock;	/* guard big window piomap's */
 	spinlock_t			h_crblock;      /* gaurd CRB error handling */
 	int				h_num_big_window_fixed;	/* count number of FIXED maps */
include/asm-ia64/sn/sv.h +0 -153

153 lines not on this page · raw message