FreeBSD kernel kern code
subr_bus_dma.c File Reference
#include <sys/cdefs.h>
#include "opt_bus.h"
#include <sys/param.h>
#include <sys/conf.h>
#include <sys/systm.h>
#include <sys/bio.h>
#include <sys/bus.h>
#include <sys/callout.h>
#include <sys/mbuf.h>
#include <sys/memdesc.h>
#include <sys/proc.h>
#include <sys/uio.h>
#include <vm/vm.h>
#include <vm/vm_page.h>
#include <vm/vm_map.h>
#include <vm/pmap.h>
#include <cam/cam.h>
#include <cam/cam_ccb.h>
#include <machine/bus.h>
Include dependency graph for subr_bus_dma.c:

Go to the source code of this file.

Functions

 __FBSDID ("$BSDSUniX$")
 
static int _bus_dmamap_load_vlist (bus_dma_tag_t dmat, bus_dmamap_t map, bus_dma_segment_t *list, int sglist_cnt, struct pmap *pmap, int *nsegs, int flags)
 
static int _bus_dmamap_load_plist (bus_dma_tag_t dmat, bus_dmamap_t map, bus_dma_segment_t *list, int sglist_cnt, int *nsegs, int flags)
 
static int _bus_dmamap_load_mbuf_sg (bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs, int flags)
 
static int _bus_dmamap_load_bio (bus_dma_tag_t dmat, bus_dmamap_t map, struct bio *bio, int *nsegs, int flags)
 
static int _bus_dmamap_load_ccb (bus_dma_tag_t dmat, bus_dmamap_t map, union ccb *ccb, int *nsegs, int flags)
 
static int _bus_dmamap_load_uio (bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, int *nsegs, int flags)
 
int bus_dmamap_load (bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags)
 
int bus_dmamap_load_mbuf (bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, bus_dmamap_callback2_t *callback, void *callback_arg, int flags)
 
int bus_dmamap_load_mbuf_sg (bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs, int flags)
 
int bus_dmamap_load_uio (bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, bus_dmamap_callback2_t *callback, void *callback_arg, int flags)
 
int bus_dmamap_load_ccb (bus_dma_tag_t dmat, bus_dmamap_t map, union ccb *ccb, bus_dmamap_callback_t *callback, void *callback_arg, int flags)
 
int bus_dmamap_load_bio (bus_dma_tag_t dmat, bus_dmamap_t map, struct bio *bio, bus_dmamap_callback_t *callback, void *callback_arg, int flags)
 
int bus_dmamap_load_mem (bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg, int flags)
 

Function Documentation

__FBSDID ( "$BSDSUniX$"  )
static int _bus_dmamap_load_bio ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
struct bio *  bio,
int *  nsegs,
int  flags 
)
static

Definition at line 124 of file subr_bus_dma.c.

Referenced by _bus_dmamap_load_ccb(), bus_dmamap_load_bio(), and bus_dmamap_load_mem().

Here is the caller graph for this function:

static int _bus_dmamap_load_ccb ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
union ccb *  ccb,
int *  nsegs,
int  flags 
)
static

Definition at line 156 of file subr_bus_dma.c.

References _bus_dmamap_load_bio(), _bus_dmamap_load_plist(), _bus_dmamap_load_vlist(), and panic().

Referenced by bus_dmamap_load_ccb(), and bus_dmamap_load_mem().

Here is the call graph for this function:

Here is the caller graph for this function:

static int _bus_dmamap_load_mbuf_sg ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
struct mbuf *  m0,
bus_dma_segment_t *  segs,
int *  nsegs,
int  flags 
)
static

Definition at line 101 of file subr_bus_dma.c.

Referenced by bus_dmamap_load_mbuf(), bus_dmamap_load_mbuf_sg(), and bus_dmamap_load_mem().

Here is the caller graph for this function:

static int _bus_dmamap_load_plist ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
bus_dma_segment_t *  list,
int  sglist_cnt,
int *  nsegs,
int  flags 
)
static

Definition at line 81 of file subr_bus_dma.c.

Referenced by _bus_dmamap_load_ccb(), and bus_dmamap_load_mem().

Here is the caller graph for this function:

static int _bus_dmamap_load_uio ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
struct uio *  uio,
int *  nsegs,
int  flags 
)
static

Definition at line 234 of file subr_bus_dma.c.

Referenced by bus_dmamap_load_mem(), and bus_dmamap_load_uio().

Here is the caller graph for this function:

static int _bus_dmamap_load_vlist ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
bus_dma_segment_t *  list,
int  sglist_cnt,
struct pmap *  pmap,
int *  nsegs,
int  flags 
)
static

Definition at line 60 of file subr_bus_dma.c.

Referenced by _bus_dmamap_load_ccb(), and bus_dmamap_load_mem().

Here is the caller graph for this function:

int bus_dmamap_load ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
void *  buf,
bus_size_t  buflen,
bus_dmamap_callback_t *  callback,
void *  callback_arg,
int  flags 
)

Definition at line 276 of file subr_bus_dma.c.

Referenced by mbp_alloc_page().

Here is the caller graph for this function:

int bus_dmamap_load_bio ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
struct bio *  bio,
bus_dmamap_callback_t *  callback,
void *  callback_arg,
int  flags 
)

Definition at line 425 of file subr_bus_dma.c.

References _bus_dmamap_load_bio().

Here is the call graph for this function:

int bus_dmamap_load_ccb ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
union ccb *  ccb,
bus_dmamap_callback_t *  callback,
void *  callback_arg,
int  flags 
)

Definition at line 380 of file subr_bus_dma.c.

References _bus_dmamap_load_ccb(), and callback.

Here is the call graph for this function:

int bus_dmamap_load_mbuf ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
struct mbuf *  m0,
bus_dmamap_callback2_t *  callback,
void *  callback_arg,
int  flags 
)

Definition at line 318 of file subr_bus_dma.c.

References _bus_dmamap_load_mbuf_sg().

Here is the call graph for this function:

int bus_dmamap_load_mbuf_sg ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
struct mbuf *  m0,
bus_dma_segment_t *  segs,
int *  nsegs,
int  flags 
)

Definition at line 343 of file subr_bus_dma.c.

References _bus_dmamap_load_mbuf_sg().

Here is the call graph for this function:

int bus_dmamap_load_mem ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
struct memdesc *  mem,
bus_dmamap_callback_t *  callback,
void *  callback_arg,
int  flags 
)
int bus_dmamap_load_uio ( bus_dma_tag_t  dmat,
bus_dmamap_t  map,
struct uio *  uio,
bus_dmamap_callback2_t *  callback,
void *  callback_arg,
int  flags 
)

Definition at line 357 of file subr_bus_dma.c.

References _bus_dmamap_load_uio().

Here is the call graph for this function: