Re: PCI DMA Address

From: Robert Hancock (hancockr_at_shaw.ca)
Date: 05/01/04

  • Next message: Andrew Morton: "Re: libata + siI3112 + 2.6.5-rc3 hang"
    Date:	Fri, 30 Apr 2004 23:19:30 -0600
    To: linux-kernel <linux-kernel@vger.kernel.org>
    
    

    I don't think ioremap is what you want here. ioremap is used to map a PCI
    memory region on the card itself. To allocate a DMA region within system
    memory to transfer to, you want something like pci_alloc_consistent (but
    128MB seems a rather large amount to use for that function, given that it
    allocates with GFP_ATOMIC..)

    ----- Original Message -----
    From: "ina" <celina.miranda@eazix.com>
    Newsgroups: fa.linux.kernel
    Sent: Thursday, April 29, 2004 12:37 AM
    Subject: PCI DMA Address

    > Hi,
    >
    > I need to create a driver for a PCI camera device that uses DMA to
    > transfer the captured images. The system that i use is an x86 board
    > that has 128M of RAM, I reserved the top of the physical RAM during
    > bootup by passing "mem=100".
    >
    > In my driver i claimed the reserved memory by using ioremap call:
    > void* pAdd = ioremap(0x6400000,(1280x1024))
    >
    > This is the memory where the PCI device should DMA the captured data.
    > My question is how do I tell the PCI device the DMA address? I know
    > that inorder for the PCI device to access the DMA address correctly, i
    > have to convert the return value of ioremap into a bus address. How do
    > i do this? I already used:
    > virt_to_phys(pAdd)
    > but this doesn't seem to work.
    >
    > I read somewhere that the output of ioremap cannot be directly used
    > for virt_to_phys function call, but I'm not really sure...
    >
    > Thanks,
    > Ina

    -
    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/


  • Next message: Andrew Morton: "Re: libata + siI3112 + 2.6.5-rc3 hang"