Re: PCIe device driver question

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: V.Radhakrishnan
Date: Thursday, July 31, 2008 - 11:47 am

> My guess there was a bug in your DMA mapping code. I don't think kmap is 

Looking at the actual code, I see that I had used kmap() only to obtain
kernel virtual addresses for the array of struct pages obtained from
user space by using get_user_pages.

Subsequently, I had used dma_map_single() and dma_unmap_single() calls
for single buffer calls.

The code didn't have bugs IMHO since it was used for extensive stress
testing the initial FPGA prototype as well as the final ASIC chip ,
sometimes running for over 4 days non-stop without breaking.

However, using Test Access Points on the board and using a Logic
Analyzer showed that DMA was NOT taking place when RAM > 896 MB was
used. The hardware gurus said that PCI bus cycles just didn't seem to be
taking place when RAM > 896 MB was used as the source OR destination
address.

Perhaps this was a problem in the earlier kernel(s) and has since been
rectified ? ( I was using 2.6.15 then ... )

I am just curious since Sanka Piyaratna reported a 'similar' kind of
situation.

Regards

V. Radhakrishnan



On Thu, 2008-07-31 at 11:37 -0600, Robert Hancock wrote:

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: PCIe device driver question, Robert Hancock, (Wed Jul 30, 12:21 pm)
Re: PCIe device driver question, V.Radhakrishnan, (Thu Jul 31, 6:11 am)
Re: PCIe device driver question, Robert Hancock, (Thu Jul 31, 10:37 am)
Re: PCIe device driver question, V.Radhakrishnan, (Thu Jul 31, 11:47 am)
Re: PCIe device driver question, Robert Hancock, (Thu Jul 31, 11:52 am)
Re: PCIe device driver question, V.Radhakrishnan, (Thu Jul 31, 1:47 pm)