From owner-freebsd-hackers Thu Dec 13 13:34: 2 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from mail.libertysurf.net (mail.libertysurf.net [213.36.80.91]) by hub.freebsd.org (Postfix) with ESMTP id 9523D37B405 for ; Thu, 13 Dec 2001 13:34:00 -0800 (PST) Received: from [192.168.1.129] (212.129.45.146) by mail.libertysurf.net (5.1.053) id 3C1031E400178ACD; Thu, 13 Dec 2001 22:33:49 +0100 Date: Thu, 13 Dec 2001 19:40:20 +0100 (CET) From: =?ISO-8859-1?Q?G=E9rard_Roudier?= X-X-Sender: To: "Justin T. Gibbs" Cc: Greg Johnson , Subject: Re: Bus master DMA problems In-Reply-To: <200112132012.fBDKCSg09049@aslan.scsiguy.com> Message-ID: <20011213193136.P2307-100000@gerard> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, 13 Dec 2001, Justin T. Gibbs wrote: > > > >There are a couple of rules in PCI you must have in mind when > >synchronization between PCI devices is needed. > > > >1) Interrupts are not synchronization events. They just send attention t= o > > the device driver (acts as SIGIO, for example). Some bridge may flush > > posted buffers on interrupt, but since interrupt can be shared, you > > must not rely on such mechanism. > > The exception to this rule are Message Signaled Interrupts. The interrup= t > is asserted by DMAing a token into a mailbox in the chipset. Since poste= d > writes must complete in order, this mechanism guarantees that the interru= pt > is only asserted once any previous writes have completed. MSI is part > of the PCI 2.2 spec, but may only start to be supported in upcoming PCI-X > chipsets. I don't know when FreeBSD will gain support for MSI. I didn't hear about this being actually implemented. Anyway, in the situation of the PCI device not stopping operations after signaling interrupts (as, for example, in sym that has hardware phase mismatch really supported for years or ahc), the flushing does not look this useful. G=E9rard. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message