linux-mips
[Top] [All Lists]

Re: [PATCH 2.4] Re: ide-dma bug (cache flushing)

To: Brian Murphy <brian@murphy.dk>
Subject: Re: [PATCH 2.4] Re: ide-dma bug (cache flushing)
From: Carsten Langgaard <carstenl@mips.com>
Date: Tue, 01 Oct 2002 12:17:17 +0200
Cc: linux-mips <linux-mips@linux-mips.org>, Ralf Baechle <ralf@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <3D7FAB4A.4010802@murphy.dk> <3D80F5CF.1040905@murphy.dk>
Sender: linux-mips-bounce@linux-mips.org
Ralf, could you please apply the patch below.
Please also apply it to include/asm-mips64/pci.h (the 64-bit version).

/Carsten



Brian Murphy wrote:

> It seems like this problem is (yet again) caused by lack of cache flushing.
> The attached patch adds a  dma_cache_wback_inv to pci_map_sg in pci.h
> to the if fork in which sg->address is not set.
>
> This fixes my problem.
>
> Can someone with commit access please apply this patch?
>
> /Brian
>
>   ------------------------------------------------------------------------
> Index: include/asm-mips/pci.h
> ===================================================================
> RCS file: /cvs/linux-mips/include/asm-mips/pci.h,v
> retrieving revision 1.1.1.2
> diff -u -r1.1.1.2 pci.h
> --- include/asm-mips/pci.h      19 Aug 2002 18:00:29 -0000      1.1.1.2
> +++ include/asm-mips/pci.h      12 Sep 2002 20:06:31 -0000
> @@ -200,9 +200,13 @@
>                         dma_cache_wback_inv((unsigned long)sg->address,
>                                             sg->length);
>                         sg->dma_address = bus_to_baddr(hwdev, 
> __pa(sg->address));
> -               } else
> +               } else {
>                         sg->dma_address = page_to_bus(sg->page) +
>                                           sg->offset;
> +                       dma_cache_wback_inv(
> +                               (unsigned long)(page_address(sg->page)+
> +                                               sg->offset), sg->length);
> +               }
>         }
>
>         return nents;

--
_    _ ____  ___   Carsten Langgaard   Mailto:carstenl@mips.com
|\  /|||___)(___   MIPS Denmark        Direct: +45 4486 5527
| \/ |||    ____)  Lautrupvang 4B      Switch: +45 4486 5555
  TECHNOLOGIES     2750 Ballerup       Fax...: +45 4486 5556
                   Denmark             http://www.mips.com




<Prev in Thread] Current Thread [Next in Thread>