lkml.org 
[lkml]   [2002]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: DAC960 in 2.5.38, with new changes
    >>>>> On Tue, 24 Sep 2002 11:25:19 -0700, Dave Olien <dmo@osdl.org> said:

    Dave> Ok, thanks for explaining!

    Dave> On Tue, Sep 24, 2002 at 11:21:45AM -0700, David Mosberger wrote:
    >> >>>>> On Tue, 24 Sep 2002 10:28:43 -0700, Dave Olien <dmo@osdl.org> said:
    >>
    >> The idea is to do something along these lines:
    >>
    >> o Use PCA DMA interface for managing all DMA buffers.
    >>
    >> o If sizeof(dma_addr_t) > 4, turn on DAC mode and call
    >> pci_set_dma_mask(dev, MAX_ADDR), where MAX_ADDR is the maximum
    >> address that can be reached by the controller (i.e.,
    >> 0xffffffffffffffff for a truly 64-bit-capable PCI controller).
    >>
    >> This way, everything should work out correctly and with good
    >> performance on all imaginable platforms (ia64 with and without
    >> hardware I/O TLB, plain x86, x86 with >4GB RAM, SPARC64 with 32-bit
    >> dma_addr_t, etc.).

    Come to think of it, the following refinement may be preferable:

    o Use PCA DMA interface for managing all DMA buffers.

    o limit = min(~(dma_addr_t) 0, MAX_ADDR), where MAX_ADDR is the maximum
    address that can be reached by the controller (i.e.,
    0xffffffffffffffff for a truly 64-bit-capable PCI controller).

    o Call pci_set_dma_mask(dev, limit).

    o If limit > 0xffffffff, turn on DAC mode.

    This "algorithm" should be correct for all PCI controllers.

    --david
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:29    [W:5.929 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site