Deleted Added
full compact
35c35
< __FBSDID("$FreeBSD: head/sys/sparc64/pci/schizo.c 183423 2008-09-28 00:07:05Z marius $");
---
> __FBSDID("$FreeBSD: head/sys/sparc64/pci/schizo.c 184428 2008-10-28 22:05:20Z marius $");
178d177
< bus_size_t sds_syncreg;
958c957
< uint64_t reg;
---
> register_t reg, s;
961c960
< SCHIZO_PCI_WRITE_8(sc, sds->sds_syncreg, sds->sds_syncval);
---
> SCHIZO_PCI_WRITE_8(sc, TOMXMS_PCI_DMA_SYNC_PEND, sds->sds_syncval);
963c962
< for (; (SCHIZO_PCI_READ_8(sc, sds->sds_syncreg) &
---
> for (; (SCHIZO_PCI_READ_8(sc, TOMXMS_PCI_DMA_SYNC_PEND) &
969c968
< critical_enter();
---
> s = intr_disable();
972c971
< __asm__ __volatile__("stda %%f0, [%0] %1"
---
> __asm __volatile("stda %%f0, [%0] %1"
974d972
< wr(fprs, reg, 0);
976c974,975
< critical_exit();
---
> wr(fprs, reg, 0);
> intr_restore(s);
1042,1043c1041,1042
< * Schizo revision >= 2.3 (i.e. version >= 5) and Tomatillo bridges
< * need to be manually told to sync DMA writes.
---
> * Tomatillo and XMITS bridges need to be told to sync DMA writes
> * based on the INO of the respective device.
1052,1053c1051
< if ((sc->sc_mode == SCHIZO_MODE_SCZ && sc->sc_ver >= 5) ||
< sc->sc_mode == SCHIZO_MODE_TOM) {
---
> if (sc->sc_mode == SCHIZO_MODE_TOM || sc->sc_mode == SCHIZO_MODE_XMS) {
1059,1060d1056
< sds->sds_syncreg = sc->sc_mode == SCHIZO_MODE_SCZ ?
< SCZ_PCI_DMA_SYNC : TOMXMS_PCI_DMA_SYNC_PEND;