Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Nov 2008 18:44:09 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/sparc64/pci schizo.c schizoreg.h schizovar.h src/sys/sparc64/sparc64 nexus.c
Message-ID:  <200811201844.mAKIiDKI054136@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
marius      2008-11-20 18:44:09 UTC

  FreeBSD src repository

  Modified files:
    sys/sparc64/pci      schizo.c schizoreg.h schizovar.h 
    sys/sparc64/sparc64  nexus.c 
  Log:
  SVN rev 185133 on 2008-11-20 18:44:09Z by marius
  
  - According to OpenSolaris, CDMA flushing/syncing for Tomatillos
    and XMITS has to be basically done in the same manner as for
    the Sabres, i.e. only for devices behind PCI-PCI-bridges and
    after a PIO read on the far side of the farest PCI-PCI-bridge.
    Given that the Tomatillo documentation mentions no difference
    to the Schizo bridges in this regard and this is also still
    part of the procedure described Schizo documentation this
    seems about right so adjust accordingly (the unconditional
    CDMA flushing/syncing previously done was based on how Linux
    behaves).
  - Implement CDMA flushing/syncing for Schizo version >= 5,
    which requires the workaround described in Schizo Errata I-23.
    According to Schizo Errata I-13 it's just unusable with
    version < 5 though. [1]
  - Don't register the Schizo streaming buffer for now until it's
    usage is sorted out according to the erratas.
  - Register our interrupt filters with the revived INTR_FAST so
    they these interrupts can even interrupt filters of device
    drivers as necessary.
  - Remove the comment regarding lack of newbus'ified bus_dma(9)
    as being able to associate a DMA tag with a device would
    allow to implement CDMA flushing/syncing in bus_dmamap_sync(9)
    but that would totally kill performance. Given that for devices
    not behind a PCI-PCI bridge the host-to-PCI bridges also only
    do CDMA flushing/syncing based on interrupts there's no
    additional disadvantage for polling(4) callbacks in the case
    schizo(4) has to do the CDMA flushing/syncing but rather a
    general problem.
  
  Reported by:    Michael Moll [1]
  
  Revision  Changes    Path
  1.3       +197 -65   src/sys/sparc64/pci/schizo.c
  1.2       +3 -1      src/sys/sparc64/pci/schizoreg.h
  1.2       +12 -3     src/sys/sparc64/pci/schizovar.h
  1.22      +5 -4      src/sys/sparc64/sparc64/nexus.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811201844.mAKIiDKI054136>