lkml.org 
[lkml]   [2007]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [HOWTO] accessing the DMA mapped data
On Thu, May 10, 2007 at 04:47:32AM -0700, David Miller wrote:
> From: Mahesh <maheshk@cdac.in>
> 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 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: 2007-05-11 17:45    [from the cache]
©2003-2011 Jasper Spaans