.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "PCI_POOL_CREATE" "" "06 October 2005" "" ""
.SH NAME
pci_pool_create \- Creates a pool of pci consistent memory blocks, for dma.
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
struct pci_pool * pci_pool_create (const char * \fIname\fB, struct pci_dev * \fIpdev\fB, size_t \fIsize\fB, size_t \fIalign\fB, size_t \fIallocation\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIname\fB\fR
name of pool, for diagnostics
.TP
\fB\fIpdev\fB\fR
pci device that will be doing the DMA
.TP
\fB\fIsize\fB\fR
size of the blocks in this pool.
.TP
\fB\fIalign\fB\fR
alignment requirement for blocks; must be a power of two
.TP
\fB\fIallocation\fB\fR
returned blocks won't cross this boundary (or zero)
.SH "CONTEXT"
.PP
!\fBin_interrupt\fR
.SH "DESCRIPTION"
.PP
Returns a pci allocation pool with the requested characteristics, or
null if one can't be created. Given one of these pools, \fBpci_pool_alloc\fR
may be used to allocate memory. Such memory will all have ``consistent''
DMA mappings, accessible by the device and its driver without using
cache flushing primitives. The actual size of blocks allocated may be
larger than requested because of alignment.
.PP
If allocation is nonzero, objects returned from \fBpci_pool_alloc\fR won't
cross that size boundary. This is useful for devices which have
addressing restrictions on individual DMA transfers, such as not crossing
boundaries of 4KBytes.