svn commit: r257907 - projects/altix2/sys/ia64/sgisn
Marcel Moolenaar
marcel at FreeBSD.org
Sun Nov 10 02:49:20 UTC 2013
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) {
More information about the svn-src-projects
mailing list