From owner-cvs-src-old@FreeBSD.ORG Thu Nov 20 18:44:13 2008 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C58861065677 for ; Thu, 20 Nov 2008 18:44:13 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AEBB18FC14 for ; Thu, 20 Nov 2008 18:44:13 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id mAKIiDAm054137 for ; Thu, 20 Nov 2008 18:44:13 GMT (envelope-from marius@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id mAKIiDKI054136 for cvs-src-old@freebsd.org; Thu, 20 Nov 2008 18:44:13 GMT (envelope-from marius@repoman.freebsd.org) Message-Id: <200811201844.mAKIiDKI054136@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to marius@repoman.freebsd.org using -f From: Marius Strobl Date: Thu, 20 Nov 2008 18:44:09 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/sparc64/pci schizo.c schizoreg.h schizovar.h src/sys/sparc64/sparc64 nexus.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Nov 2008 18:44:13 -0000 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