From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753189AbbLJERX (ORCPT ); Wed, 9 Dec 2015 23:17:23 -0500 Received: from mga01.intel.com ([192.55.52.88]:27809 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752655AbbLJERV (ORCPT ); Wed, 9 Dec 2015 23:17:21 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,406,1444719600"; d="scan'208";a="857790794" Date: Thu, 10 Dec 2015 09:50:29 +0530 From: Vinod Koul To: Damien Horsley Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, Dan Williams , James Hartley Subject: Re: [PATCH] dma: mdc: Correct terminate_all handling Message-ID: <20151210042029.GQ1854@localhost> References: <1448288524-21572-1-git-send-email-Damien.Horsley@imgtec.com> <20151205084305.GV1854@localhost> <5665BAFD.1010406@imgtec.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5665BAFD.1010406@imgtec.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 07, 2015 at 04:59:41PM +0000, Damien Horsley wrote: > On 05/12/15 08:43, Vinod Koul wrote: > > On Mon, Nov 23, 2015 at 02:22:04PM +0000, Damien Horsley wrote: > >> From: "Damien.Horsley" > >> > >> Use of the CANCEL bit in mdc_terminate_all creates an > >> additional 'command done' to appear in the registers (in > >> addition to an interrupt). > >> > >> In addition, there is a potential race between > >> mdc_terminate_all and the irq handler if a transfer > >> completes at the same time as the terminate all (presently > >> this results in an inappropriate warning). > >> > >> To handle these issues, any outstanding 'command done' > >> events are cleared during mdc_terminate_all and the irq > >> handler takes no action when there are no new 'command done' > >> events. > > > > SO what does 'command done' event represent, and what would be the behaviour > > of ignoring those > > > > The 'command done' event occurs whenever a new descriptor is loaded from > memory, and once when the whole transfer is completed. Use of the CANCEL > bit can cause additional 'command done' events to occur, which need to > be cleared. Okay, btw please fix the subsystem name. I'ts dmaengine -- ~Vinod