FreeBSD/sys/sparc64/sparc64/iommu.c
/*
 * Streaming buffers don't exist on the UltraSPARC IIi; we should have
 * detected that already and disabled them.  If not, we will notice that
 * they aren't there when the STRBUF_EN bit does not remain.
 */
Streaming buffers don't exist on the UltraSPARC IIi; we should have
detected that already and disabled them.  If not, we will notice that
they aren't there when the STRBUF_EN bit does not remain.
Streaming buffers don ' t exist on the UltraSPARC IIi ; we should have detected that already and disabled them . If not we will notice that they aren ' t there when the STRBUF_EN bit does not remain .
void
iommu_reset(struct iommu_state *is)
{
	uint64_t tsb;
	int i;
	tsb = is->is_ptsb;
	if ((is->is_flags & IOMMU_FIRE) != 0) {
		tsb |= is->is_tsbsize;
		IOMMU_WRITE8(is, is_iommu, IMR_CACHE_INVAL, ~0ULL);
	}
	IOMMU_WRITE8(is, is_iommu, IMR_TSB, tsb);
	IOMMU_WRITE8(is, is_iommu, IMR_CTL, is->is_cr);
	for (i = 0; i < 2; i++) {
		if (is->is_sb[i] != 0) {
			IOMMU_WRITE8(is, is_sb[i], ISR_CTL, STRBUF_EN |
			    ((is->is_flags & IOMMU_RERUN_DISABLE) != 0 ?
			    STRBUF_RR_DIS : 0));
			if ((IOMMU_READ8(is, is_sb[i], ISR_CTL) &
			    STRBUF_EN) == 0)
				is->is_sb[i] = 0;
		}
	}
	(void)IOMMU_READ8(is, is_iommu, IMR_CTL);
}
void iommu_reset ( struct iommu_state * is ) { uint64_t tsb ; int i ; tsb = is -> is_ptsb ; if ( ( is -> is_flags & IOMMU_FIRE ) != 0 ) { tsb |= is -> is_tsbsize ; IOMMU_WRITE8 ( is , is_iommu , IMR_CACHE_INVAL , ~ 0ULL ) ; } IOMMU_WRITE8 ( is , is_iommu , IMR_TSB , tsb ) ; IOMMU_WRITE8 ( is , is_iommu , IMR_CTL , is -> is_cr ) ; for ( i = 0 ; i < 2 ; i ++ ) { if ( is -> is_sb [ i ] != 0 ) { IOMMU_WRITE8 ( is , is_sb [ i ] , ISR_CTL , STRBUF_EN | ( ( is -> is_flags & IOMMU_RERUN_DISABLE ) != 0 ? STRBUF_RR_DIS : 0 ) ) ; if ( ( IOMMU_READ8 ( is , is_sb [ i ] , ISR_CTL ) & STRBUF_EN ) == 0 ) is -> is_sb [ i ] = 0 ; } } ( void ) IOMMU_READ8 ( is , is_iommu , IMR_CTL ) ; }
Streaming buffers don't exist on the UltraSPARC IIi; we should have
 detected that already and disabled them.
Streaming buffers don ' t exist on the UltraSPARC IIi ; we should have detected that already and disabled them .
/* No streaming buffers?  Disable them. */