udelay(50); 
udelay(500); 
static void pxa2xx_ac97_reset(ac97_t *ac97){	/* First, try cold reset */	GCR &=  GCR_COLD_RST;  /* clear everything but nCRST */	GCR &= ~GCR_COLD_RST;  /* then assert nCRST */	gsr_bits = 0;#ifdef CONFIG_PXA27x	/* PXA27x Developers Manual section 13.5.2.2.1 */	pxa_set_cken(1 << 31, 1);	udelay(5);	pxa_set_cken(1 << 31, 0);	GCR = GCR_COLD_RST;	udelay(50);#else	GCR = GCR_COLD_RST;	GCR |= GCR_CDONE_IE|GCR_SDONE_IE;	wait_event_timeout(gsr_wq, gsr_bits & (GSR_PCR | GSR_SCR), 1);#endif	if (!((GSR | gsr_bits) & (GSR_PCR | GSR_SCR))) {		printk(KERN_INFO "%s: cold reset timeout (GSR=%#lx)\n",				 __FUNCTION__, gsr_bits);		/* let's try warm reset */		gsr_bits = 0;#ifdef CONFIG_PXA27x		/* warm reset broken on Bulverde,		   so manually keep AC97 reset high */		pxa_gpio_mode(113 | GPIO_OUT | GPIO_DFLT_HIGH); 		udelay(10);		GCR |= GCR_WARM_RST;		pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);		udelay(50);#else		GCR |= GCR_WARM_RST|GCR_PRIRDY_IEN|GCR_SECRDY_IEN;;		wait_event_timeout(gsr_wq, gsr_bits & (GSR_PCR | GSR_SCR), 1);#endif					if (!((GSR | gsr_bits) & (GSR_PCR | GSR_SCR)))			printk(KERN_INFO "%s: warm reset timeout (GSR=%#lx)\n",					 __FUNCTION__, gsr_bits);	}	GCR &= ~(GCR_PRIRDY_IEN|GCR_SECRDY_IEN);	GCR |= GCR_SDONE_IE|GCR_CDONE_IE;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/4a677ac5d0a4fad286cdfb4890a5e2de61534b1c/pxa2xx-ac97.c/clean/sound/arm/pxa2xx-ac97.c