From patchwork Mon Aug 5 16:14:50 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 2838864 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id BA2159F3B9 for ; Mon, 5 Aug 2013 17:32:04 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5A0E62020E for ; Mon, 5 Aug 2013 17:32:03 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C3E6C201C8 for ; Mon, 5 Aug 2013 17:32:01 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1V6NTM-0004GD-1Y; Mon, 05 Aug 2013 16:17:28 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1V6NSs-0000GS-Az; Mon, 05 Aug 2013 16:16:58 +0000 Received: from comal.ext.ti.com ([198.47.26.152]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1V6NS4-00007Z-KE for linux-arm-kernel@lists.infradead.org; Mon, 05 Aug 2013 16:16:10 +0000 Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by comal.ext.ti.com (8.13.7/8.13.7) with ESMTP id r75GF9C0030487; Mon, 5 Aug 2013 11:15:10 -0500 Received: from DLEE70.ent.ti.com (dlee70.ent.ti.com [157.170.170.113]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id r75GF9A7022123; Mon, 5 Aug 2013 11:15:09 -0500 Received: from dlelxv22.itg.ti.com (172.17.1.197) by DLEE70.ent.ti.com (157.170.170.113) with Microsoft SMTP Server id 14.2.342.3; Mon, 5 Aug 2013 11:15:09 -0500 Received: from joel-laptop.itg.ti.com (h0-56.vpn.ti.com [172.24.0.56]) by dlelxv22.itg.ti.com (8.13.8/8.13.8) with ESMTP id r75GEv1N026253; Mon, 5 Aug 2013 11:15:08 -0500 From: Joel Fernandes To: Tony Lindgren , Sekhar Nori , Santosh Shilimkar , Sricharan R , Rajendra Nayak , Lokesh Vutla , Matt Porter , Grant Likely , Rob Herring , Vinod Koul , Dan Williams , Mark Brown , Benoit Cousson , Russell King , Arnd Bergmann , Olof Johansson , Balaji TK , Gururaja Hebbar , Chris Ball , Jason Kridner Subject: [PATCH v3 05/12] ARM: edma: Add function to enable interrupt for a PaRAM slot Date: Mon, 5 Aug 2013 11:14:50 -0500 Message-ID: <1375719297-12871-6-git-send-email-joelf@ti.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1375719297-12871-1-git-send-email-joelf@ti.com> References: <1375719297-12871-1-git-send-email-joelf@ti.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130805_121608_780156_AEA6C59C X-CRM114-Status: GOOD ( 11.45 ) X-Spam-Score: -5.2 (-----) Cc: Linux DaVinci Kernel List , Joel Fernandes , Linux MMC List , Linux Kernel Mailing List , Linux OMAP List , Linux ARM Kernel List X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,KHOP_BIG_TO_CC, RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP To prevent common programming errors, add a function to enable interrupts correctly. Also keeps calling code more readable. Signed-off-by: Joel Fernandes --- arch/arm/common/edma.c | 15 +++++++++++++++ include/linux/platform_data/edma.h | 1 + 2 files changed, 16 insertions(+) diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c index 6433b6c..aa43c49 100644 --- a/arch/arm/common/edma.c +++ b/arch/arm/common/edma.c @@ -1095,6 +1095,21 @@ void edma_set_transfer_params(unsigned slot, EXPORT_SYMBOL(edma_set_transfer_params); /** + * edma_enable_interrupt - enable interrupt on parameter RAM slot + * @slot: parameter RAM slot which is the link target + * + * The originating slot should not be part of any active DMA transfer. + */ +void edma_enable_interrupt(unsigned slot) +{ + pr_debug("Enabling interrupt on slot %d\n", slot); + + edma_parm_modify(EDMA_CTLR(slot), PARM_OPT, EDMA_CHAN_SLOT(slot), + ~TCINTEN, TCINTEN); +} +EXPORT_SYMBOL(edma_enable_interrupt); + +/** * edma_link - link one parameter RAM slot to another * @from: parameter RAM slot originating the link * @to: parameter RAM slot which is the link target diff --git a/include/linux/platform_data/edma.h b/include/linux/platform_data/edma.h index 57300fd..184ff5f 100644 --- a/include/linux/platform_data/edma.h +++ b/include/linux/platform_data/edma.h @@ -136,6 +136,7 @@ void edma_set_dest_index(unsigned slot, s16 dest_bidx, s16 dest_cidx); void edma_set_transfer_params(unsigned slot, u16 acnt, u16 bcnt, u16 ccnt, u16 bcnt_rld, enum sync_dimension sync_mode); void edma_link(unsigned from, unsigned to); +void edma_enable_interrupt(unsigned slot); void edma_unlink(unsigned from); /* calls that operate on an entire parameter RAM slot */