From patchwork Fri Apr 2 11:35:15 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkatraman S X-Patchwork-Id: 90350 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 o32BZUmD021663 for ; Fri, 2 Apr 2010 11:35:34 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932371Ab0DBLfT (ORCPT ); Fri, 2 Apr 2010 07:35:19 -0400 Received: from mail-iw0-f199.google.com ([209.85.223.199]:60116 "EHLO mail-iw0-f199.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932393Ab0DBLfR (ORCPT ); Fri, 2 Apr 2010 07:35:17 -0400 Received: by iwn37 with SMTP id 37so1444863iwn.15 for ; Fri, 02 Apr 2010 04:35:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:date :x-google-sender-auth:received:message-id:subject:from:to:cc :content-type; bh=Vff/qD+1s955mR52EwN2ExUQBq2mvSAMhMYnkoY7cBg=; b=PqI8e3KcXCLW1J+K59BYTPBA7aCkb8wdLZd8oC9vAe+DLztoSsJC08TAGvFmGhXfk+ 24P5sv8hqMzMEZS0ErIU+uvECNeohoO6+76YwWKpp0q4lMzEQ8uFdHJXS+Hhu76IvD80 8Fg4OjOT0H980LCduQ/E9XE/bfZyycAEg1gBc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type; b=dJwzYPknpkbMADW6ROiaB7I1bSbOmPz3H/EaF4Qv3fo6uuCo5Jrzxf6Ok+hYAuE9HF mcla72eI8sY/e0VKrqCfDAcvUBc7VUVRn6tV0EWD55IJ7CtENpsNpC7mm6/79L40bD1H EY57U4OsP2/dI1Sgir6Rg0qYOVbKAl4CtvNH0= MIME-Version: 1.0 Received: by 10.231.147.17 with HTTP; Fri, 2 Apr 2010 04:35:15 -0700 (PDT) Date: Fri, 2 Apr 2010 17:05:15 +0530 X-Google-Sender-Auth: cd2dd4679256d5b9 Received: by 10.231.172.210 with SMTP id m18mr795040ibz.21.1270208115983; Fri, 02 Apr 2010 04:35:15 -0700 (PDT) Message-ID: Subject: [PATCH] dma: fix scope of errata i88 upto 3430ES1.0 From: Venkatraman S To: linux-omap@vger.kernel.org Cc: thara@ti.com, Tony Lindgren , Santosh Shilimkar 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]); Fri, 02 Apr 2010 11:35:41 +0000 (UTC) diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 2ab224c..ef965ac 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c @@ -1663,14 +1663,18 @@ 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() || (cpu_is_omap3430() && + 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 +1693,10 @@ 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() || (cpu_is_omap3430() && + omap_rev() == OMAP3430_REV_ES1_0)) + dma_write(sys_cf, OCP_SYSCONFIG); return 0; }