lkml.org 
[lkml]   [2009]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: PowerPC PCI DMA issues (prefetch/coherency?)
    Chris Pringle wrote:
    > Chris Pringle wrote:
    >>> You could enable CONFIG_NOT_COHERENT_CACHE.
    >>>
    >> I've just tried this (I had to edit Kconfig in power/platforms to
    >> make the build system accept it), and interestingly it's making no
    >> difference. I'm using streaming mappings, and are using the
    >> pci_map_sg functions to ensure the memory is mapped/flushed
    >> correctly. I've also explicitly put in a pci_dma_sync_sg_for_device,
    >> however that's also not made any difference. Turning the cpu cache
    >> snoop off has the same affect as it did without
    >> CONFIG_NOT_COHERENT_CACHE; it gets much worse. Any other ideas?
    >>
    >> Will back off the low latency patches next, and give 2.6.30 a try -
    >> see if that makes any difference.
    >>
    > Low latency patches made no difference. Tried it with 2.6.30 and it
    > now works. There are a couple of commits contributing to the fix,
    > including one introduced between 2.6.29-rc8 and 2.6.29 proper in
    > powerpc/kernel/head_32.S (couple of commits with the name "Fix Respect
    > _PAGE_COHERENT on classic ppc32 SW TLB load machines"). I've tried
    > backporting this to 2.6.29-rc8 and it then worked. Backporting to
    > 2.6.26 made no difference however, so I suspect there are other things
    > fixed which are also contributing.
    >
    > I'm going to move to 2.6.29/2.6.30 which should resolve our issue.
    >
    > Thanks to all who have contributed to this thread.
    >
    The other part of the fix is in asm-powerpc/pgtable32.h. _PAGE_BASE
    needs _PAGE_COHERENT in order to work correctly, and in fact there is
    now a comment in there to that affect in 2.6.29. Backporting that change
    has made it work on 2.6.26. Both this patch, and the fix to head_32.S
    are needed for it to work correctly on older kernels.

    Chris

    --

    ______________________________
    Chris Pringle
    Software Engineer

    Miranda Technologies Ltd.
    Hithercroft Road
    Wallingford
    Oxfordshire OX10 9DG
    UK

    Tel. +44 1491 820206
    Fax. +44 1491 820001
    www.miranda.com

    ____________________________

    Miranda Technologies Limited
    Registered in England and Wales CN 02017053
    Registered Office: James House, Mere Park, Dedmere Road, Marlow, Bucks, SL7 1FJ


    \
     
     \ /
      Last update: 2009-06-18 13:27    [W:0.034 / U:1.836 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site