lkml.org 
[lkml]   [2002]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: pci segments/domains
    On Fri, May 17, 2002 at 04:41:57AM -0700, David S. Miller wrote:
    > So, as a (real life) example, suppose you wanted to portably point
    > your BTTV card at the framebuffer of a video card, you'd do
    > something like:
    >
    > res = fb_pdev->resource[1];
    > res_off = OFFSET_INTO_FRAMEBUFFER;
    > bttv_dma_addr = pci_to_pci_map_single(struct pci_dev *bttv_pdev,
    > struct pci_dev *fb_pdev,
    > res, res_off, size,
    > PCI_DMA_FROMDEVICE);

    Exactly. And this function will look like this

    if (domain(bttv_pdev) == domain(fb_pdev))
    return arch_res_to_bus(res->start) + res_off;
    else if (!interdomain_dma_supported)
    return 0;
    else
    return some_iommu_magic(...);

    BTW, I don't see anymore why pci domain info should be exposed to
    users at all. :-)

    Ivan.
    -
    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:26    [W:0.022 / U:61.824 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site