On Thu, May 10, 2007 at 04:47:32AM -0700, David Miller wrote: > From: Mahesh <[EMAIL PROTECTED]> > Date: Thu, 10 May 2007 17:11:17 +0530 > > > Hi, > You haven't given an example of where this might actually > > happen. > > The driver is where the DMA mappings almost always > > occur because > that is the layer that knows the bus technology and > > therefore > the correct DMA interfaces to call. > > What kind of > > driver do you have and what is this upper layer > doing the mappings > > for you but not giving you a pointer to > the kernel buffer as well? > > > Here I am dealing with a infiniband (see www.openfabrics.org) > > network device driver. The layer above the driver is the standard > > infiniband core interface. Now I have a situation where I need to > > peek into the packets and do some modifications(some hacking). So I > > just want know whether I can access the original data region using > > the bus address generated by the dma_map_single. > > You can't, therefore you need to ask the Inifiniband guys to perhaps > tweak the infiniband driver interfaces so that you can get at the > buffer or provide some other mechanism by which you can accomplish > what you're trying to do.
AFAICR the ipath driver had the same problem, which resulted in the addition of ib specific DMA-API wrappers. See usage of struct ipath_dma_mapping_ops in ipath_dma.c. Cheers, Muli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/