unsigned long link_status = (i == 0 ? IIO_IBLS0 : IIO_IBLS1); mynodepda->bte_if[i].bte_base_addr = (u64 *) REMOTE_HUB_ADDR(cnodeid_to_nasid(cnode), link_status); 
base_addr = (u64 *) REMOTE_HUB_ADDR(cnodeid_to_nasid(cnode), BTE_BASE_ADDR(i)); mynodepda->bte_if[i].bte_base_addr = base_addr; mynodepda->bte_if[i].bte_source_addr = BTE_SOURCE_ADDR(base_addr); mynodepda->bte_if[i].bte_destination_addr = BTE_DEST_ADDR(base_addr); mynodepda->bte_if[i].bte_control_addr = BTE_CTRL_ADDR(base_addr); mynodepda->bte_if[i].bte_notify_addr = BTE_NOTIF_ADDR(base_addr); 
void bte_init_node(nodepda_t * mynodepda, cnodeid_t cnode){	int i;	/*	 * Indicate that all the block transfer engines on this node	 * are available.	 */	/*	 * Allocate one bte_recover_t structure per node.  It holds	 * the recovery lock for node.  All the bte interface structures	 * will point at this one bte_recover structure to get the lock.	 */	spin_lock_init(&mynodepda->bte_recovery_lock);	init_timer(&mynodepda->bte_recovery_timer);	mynodepda->bte_recovery_timer.function = bte_error_handler;	mynodepda->bte_recovery_timer.data = (unsigned long)mynodepda;	for (i = 0; i < BTES_PER_NODE; i++) {		/* Which link status register should we use? */		unsigned long link_status = (i == 0 ? IIO_IBLS0 : IIO_IBLS1);		mynodepda->bte_if[i].bte_base_addr = (u64 *)		    REMOTE_HUB_ADDR(cnodeid_to_nasid(cnode), link_status);		/*		 * Initialize the notification and spinlock		 * so the first transfer can occur.		 */		mynodepda->bte_if[i].most_rcnt_na =		    &(mynodepda->bte_if[i].notify);		mynodepda->bte_if[i].notify = BTE_WORD_AVAILABLE;		spin_lock_init(&mynodepda->bte_if[i].spinlock);		mynodepda->bte_if[i].bte_cnode = cnode;		mynodepda->bte_if[i].bte_error_count = 0;		mynodepda->bte_if[i].bte_num = i;		mynodepda->bte_if[i].cleanup_active = 0;		mynodepda->bte_if[i].bh_error = 0;	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/95ff439a517835aa2bdf725fafbb025a63984289/bte.c/clean/arch/ia64/sn/kernel/bte.c