From 34279b4fb531924e1bd66c364bb2f97c9a578646 Mon Sep 17 00:00:00 2001 From: Rebecca Schultz Zavin Date: Mon, 21 Mar 2011 14:09:44 -0700 Subject: Revert "[ARM] tegra: Enable pl310 data prefetching and prefetch offset" This reverts commit 6c77fdda35688ae3c9d9029a9824f7cf941f348d. Conflicts: arch/arm/mach-tegra/common.c Change-Id: I35858f63da5cfd00885dd765da45db39be16b8b7 --- arch/arm/mach-tegra/common.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index c1ecbdf3f0a3..4672c774bd9c 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -90,10 +90,9 @@ void __init tegra_init_cache(void) writel(0x331, p + L2X0_TAG_LATENCY_CTRL); writel(0x441, p + L2X0_DATA_LATENCY_CTRL); - writel(7, p + L2X0_PREFETCH_OFFSET); writel(2, p + L2X0_PWR_CTRL); - l2x0_init(p, 0x7C480001, 0x8200c3fe); + l2x0_init(p, 0x6C480001, 0x8200c3fe); #endif } -- cgit v1.2.3 From b7f9c567e6b95074087584672773a167224608d3 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 16 Mar 2011 16:53:24 -0700 Subject: ARM: tegra: dma: Do not call complete callback on canceled requests Calling the complete callback when a request is cancelled leads to locking problems in the callback, which could be called from an IRQ with no locks held, or from whatever context called tegra_dma_dequeue_req. Instead, expect the caller to handle the now-cancelled request as needed. Also removes tegra_dma_dequeue, since all users can be trivially converted to tegra_dma_dequeue_req. Change-Id: If699239c09c78d1cd3afa0eaad46535b1d401a24 Signed-off-by: Colin Cross --- arch/arm/mach-tegra/dma.c | 22 +--------------------- arch/arm/mach-tegra/include/mach/dma.h | 1 - 2 files changed, 1 insertion(+), 22 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-tegra/dma.c b/arch/arm/mach-tegra/dma.c index db94fcf58399..44f70a9cde7a 100644 --- a/arch/arm/mach-tegra/dma.c +++ b/arch/arm/mach-tegra/dma.c @@ -135,24 +135,6 @@ static void tegra_dma_update_hw_partial(struct tegra_dma_channel *ch, struct tegra_dma_req *req); static void tegra_dma_stop(struct tegra_dma_channel *ch); -void tegra_dma_flush(struct tegra_dma_channel *ch) -{ -} -EXPORT_SYMBOL(tegra_dma_flush); - -void tegra_dma_dequeue(struct tegra_dma_channel *ch) -{ - struct tegra_dma_req *req; - - if (tegra_dma_is_empty(ch)) - return; - - req = list_entry(ch->list.next, typeof(*req), node); - - tegra_dma_dequeue_req(ch, req); - return; -} - void tegra_dma_stop(struct tegra_dma_channel *ch) { u32 csr; @@ -248,7 +230,7 @@ int tegra_dma_dequeue_req(struct tegra_dma_channel *ch, } if (!found) { spin_unlock_irqrestore(&ch->lock, irq_flags); - return 0; + return -EINVAL; } if (!stop) @@ -284,8 +266,6 @@ skip_status: spin_unlock_irqrestore(&ch->lock, irq_flags); - /* Callback should be called without any lock */ - req->complete(req); return 0; } EXPORT_SYMBOL(tegra_dma_dequeue_req); diff --git a/arch/arm/mach-tegra/include/mach/dma.h b/arch/arm/mach-tegra/include/mach/dma.h index d385b7a251be..60b669ae3948 100644 --- a/arch/arm/mach-tegra/include/mach/dma.h +++ b/arch/arm/mach-tegra/include/mach/dma.h @@ -142,7 +142,6 @@ int tegra_dma_enqueue_req(struct tegra_dma_channel *ch, struct tegra_dma_req *req); int tegra_dma_dequeue_req(struct tegra_dma_channel *ch, struct tegra_dma_req *req); -void tegra_dma_dequeue(struct tegra_dma_channel *ch); void tegra_dma_flush(struct tegra_dma_channel *ch); bool tegra_dma_is_req_inflight(struct tegra_dma_channel *ch, -- cgit v1.2.3