static void sbus_strbuf_flush(struct sbus_iommu *iommu, u32 base, unsigned long npages) 
static void sbus_strbuf_flush(struct sbus_iommu *iommu, u32 base, unsigned long npages, int direction) 
static void sbus_strbuf_flush(struct sbus_iommu *iommu, u32 base, unsigned long npages){	unsigned long n;	int limit;	iommu->strbuf_flushflag = 0UL;	n = npages;	while (n--)		upa_writeq(base + (n << IO_PAGE_SHIFT),			   iommu->strbuf_regs + STRBUF_PFLUSH);	/* Whoopee cushion! */	upa_writeq(__pa(&iommu->strbuf_flushflag),		   iommu->strbuf_regs + STRBUF_FSYNC);	upa_readq(iommu->sbus_control_reg);	limit = 100000;	while (iommu->strbuf_flushflag == 0UL) {		limit--;		if (!limit)			break;		udelay(1);		membar("#LoadLoad");	}	if (!limit)		printk(KERN_WARNING "sbus_strbuf_flush: flushflag timeout "		       "vaddr[%08x] npages[%ld]\n",		       base, npages);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/7c963ad1d113790a8c723a178988b675868f3abe/sbus.c/buggy/arch/sparc64/kernel/sbus.c