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: 2838778 Return-Path: X-Original-To: patchwork-linux-mmc@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 2D1F59F479 for ; Mon, 5 Aug 2013 16:18:16 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C3BB120265 for ; Mon, 5 Aug 2013 16:18:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CA4E720260 for ; Mon, 5 Aug 2013 16:18:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753506Ab3HEQQP (ORCPT ); Mon, 5 Aug 2013 12:16:15 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:51689 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751570Ab3HEQQL (ORCPT ); Mon, 5 Aug 2013 12:16:11 -0400 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 CC: Linux OMAP List , Linux ARM Kernel List , Linux DaVinci Kernel List , Linux Kernel Mailing List , Linux MMC List , Joel Fernandes 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 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,KHOP_BIG_TO_CC, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable 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 */