[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-sh
Subject: Re: Ecovec (SH7724) board doesn't work on latest linus tree
From: Yutaro Ebihara <ebiharaml () si-linux ! co ! jp>
Date: 2011-08-31 15:07:18
Message-ID: 2ECC67EFACD13Cebiharaml () si-linux ! co ! jp
[Download RAW message or body]
hello.
i think you can run linux-3.0.4 kernel on your Ecovec (SH7724) board
in this debug-code.
void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
enum dma_data_direction direction)
{
void *addr;
addr = __in_29bit_mode() ?
- (void *)CAC_ADDR((unsigned long)vaddr) : vaddr;
+ (void *)P1SEGADDR((unsigned long)vaddr) : vaddr;
CAC_ADDR((unsigned long)vaddr) : vaddr;
must be fail.
>@@ -84,6 +84,10 @@ void dma_cache_sync(struct device *dev, void *vaddr,
>size_t size,
> addr = __in_29bit_mode() ?
> (void *)CAC_ADDR((unsigned long)vaddr) : vaddr;
>
>Dear Paul
>
>Ecovec board still doesn't work on latest linus tree.
>Because of below commit.
>
>----------------
>commit 3f9b8520b06013939ad247ba08b69529b5f14be1
>Author: Paul Mundt <lethal@linux-sh.org>
>Date: Tue May 31 14:38:29 2011 +0900
>
> sh64: Move from P1SEG to CAC_ADDR for consistent sync.
>
> sh64 doesn't define a P1SEGADDR, resulting in a build failure. The proper
> mapping can be attained for both sh32 and 64 via the CAC_ADDR macro, so
> switch to that instead.
>
> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
>----------------
>
>The output of below patch was
>
>dma_cache_sync: vaddr 8e000000, CAC 6e000000, P1SEG 8e000000
>
>------
>diff --git a/arch/sh/mm/consistent.c b/arch/sh/mm/consistent.c
>index f251b5f..01bb4ee 100644
>--- a/arch/sh/mm/consistent.c
>+++ b/arch/sh/mm/consistent.c
>@@ -84,6 +84,10 @@ void dma_cache_sync(struct device *dev, void *vaddr,
>size_t size,
> addr = __in_29bit_mode() ?
> (void *)CAC_ADDR((unsigned long)vaddr) : vaddr;
>
>+ printk_once("%s: vaddr %p, CAC %08lx, P1SEG %08lx\n", __func__, vaddr,
>+ CAC_ADDR((unsigned long)vaddr),
>+ P1SEGADDR((unsigned long)vaddr));
>+
> switch (direction) {
> case DMA_FROM_DEVICE: /* invalidate only */
> __flush_invalidate_region(addr, size);
>
>
>Best regards
>---
>Kuninori Morimoto
>--
>To unsubscribe from this list: send the line "unsubscribe linux-sh" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic