From mboxrd@z Thu Jan 1 00:00:00 1970 From: arnd@arndb.de (Arnd Bergmann) Date: Tue, 14 Jan 2014 07:58:02 +0100 Subject: [PATCH V2 0/4] misc: xgene: Add support for APM X-Gene SoC Queue Manager/Traffic Manager In-Reply-To: References: <1387594651-25771-1-git-send-email-rapatel@apm.com> <201401122219.11593.arnd@arndb.de> Message-ID: <201401140758.03224.arnd@arndb.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Monday 13 January 2014, Ravi Patel wrote: > > For inbound messages, the QMTM serves a similar purpose as an MSI > > controller, ensuring that inbound DMA data has arrived in RAM > > before an interrupt is delivered to the CPU and thereby avoiding > > the need for an expensive MMIO read to serialize the DMA. > > For inbound messages, slave device generates message on a completion > of a inbound DMA operation or any relevant operation targeted to the > CPU. The QMTM's role is to just trigger an interrupt to CPU when there > is a new message arrived from a slave device. QMTM doesn't know what > the message was for. It is upto the upper layer drivers to decide how > to process this message. That doesn't seem to contradict what I wrote above. The DMA ordering would be an implicit side-effect of the message generated by the slave device if the QMTM is on the same bus as the external memory controller and the message has the "strict ordering" bit set on the bus transaction. Arnd From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: Re: [PATCH V2 0/4] misc: xgene: Add support for APM X-Gene SoC Queue Manager/Traffic Manager Date: Tue, 14 Jan 2014 07:58:02 +0100 Message-ID: <201401140758.03224.arnd@arndb.de> References: <1387594651-25771-1-git-send-email-rapatel@apm.com> <201401122219.11593.arnd@arndb.de> Mime-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Ravi Patel Cc: Greg KH , Loc Ho , davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Jon Masters , "patches@apm.com" , Keyur Chudgar List-Id: devicetree@vger.kernel.org On Monday 13 January 2014, Ravi Patel wrote: > > For inbound messages, the QMTM serves a similar purpose as an MSI > > controller, ensuring that inbound DMA data has arrived in RAM > > before an interrupt is delivered to the CPU and thereby avoiding > > the need for an expensive MMIO read to serialize the DMA. > > For inbound messages, slave device generates message on a completion > of a inbound DMA operation or any relevant operation targeted to the > CPU. The QMTM's role is to just trigger an interrupt to CPU when there > is a new message arrived from a slave device. QMTM doesn't know what > the message was for. It is upto the upper layer drivers to decide how > to process this message. That doesn't seem to contradict what I wrote above. The DMA ordering would be an implicit side-effect of the message generated by the slave device if the QMTM is on the same bus as the external memory controller and the message has the "strict ordering" bit set on the bus transaction. Arnd