> > On Mar 7, 2006, at 10:53 AM, Mark Chambers wrote: > >>> I'm dealing with this exact same situation and having a discussion >>> on lkml regarding the proper way to do this. In your case, do >>> you care what addresses the FPGA is assigned at? >>> http://marc.theaimsgroup.com/?l=linux-kernel&m=114140791428032&w=2 >> >> Why does the PCI device have to have a fixed address? And how do >> you load an FPGA from user space - mmap? > > In my case it does because we have other devices (DSPs) that are hard > coded to know where in PCI address space the FPGA is. >
Ah, ok. So I'm guessing we're talking about DSP bus-master operations where the DSP is putting out physical PCI space addresses that the MMU can't help map. I've run into a similar problem where I'd like to be able to have a DSP do CPM/BD-like operations from SDRAM, but it's exceedingly difficult to get the physical address of user-space data. Well, FWIW, seems to me that something like what Greg K-H referred to, where you pre-reserve space in PCI land, and then put the device there when it becomes available, is the way to go. Otherwise you have this un-managed hole in PCI space allocation that might cause other problems with true hot-swap PCI, or break with kernel revisions. Mark