static int rkt_sync_cmd(struct aac_dev *dev, u32 command, u32 p1, u32 *status) 
static int rkt_sync_cmd(struct aac_dev *dev, u32 command, u32 p1, u32 p2, u32 p3, u32 p4, u32 p5, u32 p6, u32 *status, u32 *r1, u32 *r2, u32 *r3, u32 *r4) 
static int rkt_sync_cmd(struct aac_dev *dev, u32 command, u32 p1, u32 *status){	unsigned long start;	int ok;	/*	 *	Write the command into Mailbox 0	 */	rkt_writel(dev, InboundMailbox0, command);	/*	 *	Write the parameters into Mailboxes 1 - 4	 */	rkt_writel(dev, InboundMailbox1, p1);	rkt_writel(dev, InboundMailbox2, 0);	rkt_writel(dev, InboundMailbox3, 0);	rkt_writel(dev, InboundMailbox4, 0);	/*	 *	Clear the synch command doorbell to start on a clean slate.	 */	rkt_writel(dev, OutboundDoorbellReg, OUTBOUNDDOORBELL_0);	/*	 *	Disable doorbell interrupts	 */	rkt_writeb(dev, MUnit.OIMR, dev->OIMR = 0xff);	/*	 *	Force the completion of the mask register write before issuing	 *	the interrupt.	 */	rkt_readb (dev, MUnit.OIMR);	/*	 *	Signal that there is a new synch command	 */	rkt_writel(dev, InboundDoorbellReg, INBOUNDDOORBELL_0);	ok = 0;	start = jiffies;	/*	 *	Wait up to 30 seconds	 */	while (time_before(jiffies, start+30*HZ)) 	{		udelay(5);	/* Delay 5 microseconds to let Mon960 get info. */		/*		 *	Mon960 will set doorbell0 bit when it has completed the command.		 */		if (rkt_readl(dev, OutboundDoorbellReg) & OUTBOUNDDOORBELL_0) {			/*			 *	Clear the doorbell.			 */			rkt_writel(dev, OutboundDoorbellReg, OUTBOUNDDOORBELL_0);			ok = 1;			break;		}		/*		 *	Yield the processor in case we are slow 		 */		set_current_state(TASK_UNINTERRUPTIBLE);		schedule_timeout(1);	}	if (ok != 1) {		/*		 *	Restore interrupt mask even though we timed out		 */		rkt_writeb(dev, MUnit.OIMR, dev->OIMR = 0xfb);		return -ETIMEDOUT;	}	/*	 *	Pull the synch status from Mailbox 0.	 */	if (status)		*status = rkt_readl(dev, IndexRegs.Mailbox[0]);	/*	 *	Clear the synch command doorbell.	 */	rkt_writel(dev, OutboundDoorbellReg, OUTBOUNDDOORBELL_0);	/*	 *	Restore interrupt mask	 */	rkt_writeb(dev, MUnit.OIMR, dev->OIMR = 0xfb);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/7c00ffa314bf0fb0e23858bbebad33b48b6abbb9/rkt.c/clean/drivers/scsi/aacraid/rkt.c