From patchwork Mon Apr 5 15:36:41 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkatraman S X-Patchwork-Id: 90630 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o35FagGG002171 for ; Mon, 5 Apr 2010 15:36:43 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755415Ab0DEPgm (ORCPT ); Mon, 5 Apr 2010 11:36:42 -0400 Received: from mail-pz0-f193.google.com ([209.85.222.193]:57797 "EHLO mail-pz0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755313Ab0DEPgl (ORCPT ); Mon, 5 Apr 2010 11:36:41 -0400 Received: by pzk31 with SMTP id 31so585163pzk.33 for ; Mon, 05 Apr 2010 08:36:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:received:message-id:subject :from:to:cc:content-type; bh=IkDHo4J4hErML0joPBv4kIYC63auT4yggtT46b9XDh0=; b=ioaocVHpdgC3qEwoXtzB7skTkqTY8A6KuA2YmxItx1a7mV1yIJ7SJFMBDWrkF+kHP0 1cdikV1PE51YQa3pEtd4Zu0kD9LwOV5gFAXPXz15CBDa6/mip8aDmCkVX2k5o5N59WwM tKk0+nSV0F26Dhitiwo8gfdYEUCK+FU+uhHd8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=owWgILAaERbOvDoO5DlBqCoA7bLkcapNxc/jX9pNcDc9S/70mVzCl96ysCQYr3Tp/H Yi3aY3RaQhLVK3ao+mWFZmT2tZ4Fk1EjNN0h0RV83Rfmv+Skmo9abvpzFb+kBh1kY5Cu DvkRTLSJm0WZhDuZGGHJOV/kJjH13Wv1d7z7M= MIME-Version: 1.0 Received: by 10.231.147.17 with HTTP; Mon, 5 Apr 2010 08:36:41 -0700 (PDT) In-Reply-To: References: Date: Mon, 5 Apr 2010 21:06:41 +0530 X-Google-Sender-Auth: 07e5a702c8d41852 Received: by 10.141.2.14 with SMTP id e14mr3809035rvi.115.1270481801198; Mon, 05 Apr 2010 08:36:41 -0700 (PDT) Message-ID: Subject: [PATCH v2] dma: fix scope of errata i88 upto 3430ES1.0 From: Venkatraman S To: linux-omap@vger.kernel.org Cc: Santosh Shilimkar , Tony Lindgren Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Mon, 05 Apr 2010 15:36:43 +0000 (UTC) diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 2ab224c..a9b480a 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c @@ -1663,14 +1663,17 @@ int omap_stop_dma_chain_transfers(int chain_id) channels = dma_linked_lch[chain_id].linked_dmach_q; /* - * DMA Errata: - * Special programming model needed to disable DMA before end of block + * DMA Errata: i88 + * Special programming model needed + * to disable DMA before end of block */ sys_cf = dma_read(OCP_SYSCONFIG); - l = sys_cf; - /* Middle mode reg set no Standby */ - l &= ~((1 << 12)|(1 << 13)); - dma_write(l, OCP_SYSCONFIG); + if (cpu_is_omap2430() || (omap_rev() == OMAP3430_REV_ES1_0)) { + l = sys_cf; + /* Middle mode reg set no Standby */ + l &= ~((1 << 12)|(1 << 13)); + dma_write(l, OCP_SYSCONFIG); + } for (i = 0; i < dma_linked_lch[chain_id].no_of_lchs_linked; i++) { @@ -1689,8 +1692,9 @@ int omap_stop_dma_chain_transfers(int chain_id) /* Reset the Queue pointers */ OMAP_DMA_CHAIN_QINIT(chain_id); - /* Errata - put in the old value */ - dma_write(sys_cf, OCP_SYSCONFIG); + /* Errata: put back the old value */ + if (cpu_is_omap2430() || (omap_rev() == OMAP3430_REV_ES1_0)) + dma_write(sys_cf, OCP_SYSCONFIG); return 0; }