From patchwork Mon Oct 4 08:18:11 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Ujfalusi X-Patchwork-Id: 228021 X-Patchwork-Delegate: tony@atomide.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id o948IR9S001631 for ; Mon, 4 Oct 2010 08:18:27 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753146Ab0JDISZ (ORCPT ); Mon, 4 Oct 2010 04:18:25 -0400 Received: from mgw-sa02.nokia.com ([147.243.1.48]:58246 "EHLO mgw-sa02.nokia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753038Ab0JDISY (ORCPT ); Mon, 4 Oct 2010 04:18:24 -0400 Received: from cseresznye.nmp.nokia.com (cseresznye.nmp.nokia.com [172.22.211.20]) by mgw-sa02.nokia.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id o948IAYX002964; Mon, 4 Oct 2010 11:18:11 +0300 From: Peter Ujfalusi To: Tony Lindgren Cc: linux-omap@vger.kernel.org, Jarkko Nikula , linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 1/4] omap: dma: Fix buffering disable bit setting for omap24xx Date: Mon, 4 Oct 2010 11:18:11 +0300 Message-Id: <1286180294-32618-2-git-send-email-peter.ujfalusi@nokia.com> X-Mailer: git-send-email 1.7.3 In-Reply-To: <1286180294-32618-1-git-send-email-peter.ujfalusi@nokia.com> References: <1286180294-32618-1-git-send-email-peter.ujfalusi@nokia.com> X-Nokia-AV: Clean 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 (demeter1.kernel.org [140.211.167.41]); Mon, 04 Oct 2010 08:18:28 +0000 (UTC) different but related problem. I don't have access to OMAP2420 errata but I believe this old workaround here is put for a reason but unfortunately a wrong bit was typed and problem showed up only now. v2: Issue is applicaple only to OMAP2420 and ES1.0 of OMAP2430. Thanks to G, Manjunath Kondaiah for noticing. Signed-off-by: Jarkko Nikula Signed-off-by: Peter Ujfalusi --- arch/arm/plat-omap/dma.c | 5 +++-- arch/arm/plat-omap/include/plat/dma.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index ec7eddf..6914ccf 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c @@ -999,8 +999,9 @@ void omap_start_dma(int lch) * Errata: On ES2.0 BUFFERING disable must be set. * This will always fail on ES1.0 */ - if (cpu_is_omap24xx()) - l |= OMAP_DMA_CCR_EN; + if (cpu_is_omap2420() || + (cpu_is_omap2430() && (omap_type() == OMAP2430_REV_ES1_0))) + l |= OMAP_DMA_CCR_BUFFERING_DISABLE; l |= OMAP_DMA_CCR_EN; dma_write(l, CCR(lch)); diff --git a/arch/arm/plat-omap/include/plat/dma.h b/arch/arm/plat-omap/include/plat/dma.h index af3a039..776ba44 100644 --- a/arch/arm/plat-omap/include/plat/dma.h +++ b/arch/arm/plat-omap/include/plat/dma.h @@ -335,6 +335,7 @@ #define OMAP2_DMA_MISALIGNED_ERR_IRQ (1 << 11) #define OMAP_DMA_CCR_EN (1 << 7) +#define OMAP_DMA_CCR_BUFFERING_DISABLE (1 << 25) #define OMAP_DMA_DATA_TYPE_S8 0x00 #define OMAP_DMA_DATA_TYPE_S16 0x01