Date: Sun, 10 Nov 2013 02:49:20 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r257907 - projects/altix2/sys/ia64/sgisn Message-ID: <201311100249.rAA2nKRt055691@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marcel Date: Sun Nov 10 02:49:20 2013 New Revision: 257907 URL: http://svnweb.freebsd.org/changeset/base/257907 Log: Fix Altix 350 support (SHub1/PIC), broken when Altix 450 (SHub2/TIOCP) support was added: prefetch cannot be set when consistent/coherent I/O is wanted. It's one or the other or none. Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.c ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Sun Nov 10 02:43:09 2013 (r257906) +++ projects/altix2/sys/ia64/sgisn/sgisn_pcib.c Sun Nov 10 02:49:20 2013 (r257907) @@ -660,7 +660,7 @@ sgisn_pcib_iommu_map(device_t bus, devic addr = ba; if (flags & BUSDMA_ALLOC_CONSISTENT) addr |= 1UL << 56; /* bar */ - if ((sc->sc_fwbus->fw_mode & 1) == 0) + else if ((sc->sc_fwbus->fw_mode & 1) == 0) addr |= 1UL << 59; /* prefetch */ if (sc->sc_fwbus->fw_common.bus_asic == SGISN_PCIB_PIC) addr |= (u_long)sc->sc_fwbus->fw_hub_xid << 60; @@ -746,10 +746,10 @@ sgisn_pcib_iommu_map(device_t bus, devic ba &= ~SGISN_PCIB_PAGE_MASK; ba |= 1 << 0; /* valid */ - if ((sc->sc_fwbus->fw_mode & 1) == 0) - ba |= 1 << 3; /* prefetch */ if (flags & BUSDMA_ALLOC_CONSISTENT) ba |= 1 << 4; /* bar */ + else if ((sc->sc_fwbus->fw_mode & 1) == 0) + ba |= 1 << 3; /* prefetch */ if (sc->sc_fwbus->fw_common.bus_asic == SGISN_PCIB_PIC) ba |= (u_long)sc->sc_fwbus->fw_hub_xid << 8; while (count > 0) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311100249.rAA2nKRt055691>