Lines Matching refs:segment
42 specific memory cursors must inherit from, but a memory cursor can be created without a specific format subclass by just providing a segment function to the initializers. This class does the difficult stuff of dividing a memory descriptor into a physical scatter/gather list appropriate for the target hardware.
44 A driver is expected to create a memory cursor and configure it to the limitations of its DMA hardware; for instance the memory cursor used by the FireWire SBP-2 protocol has a maximum physical segment size of 2^16 - 1 but the actual transfer size is unlimited. Thus it would create a cursor with a maxSegmentSize of 65535 and a maxTransfer size of UINT_MAX. It would also provide a SegmentFunction that can output a pagelist entry.
47 void IONaturalMemoryCursor::outputSegment(PhysicalSegment segment,<br>
51 ((PhysicalSegment *) outSegments)[outSegmentIndex] = segment;<br>
77 @discussion Pointer to a C function that outputs a single physical segment to an element in the array as defined by the segments and segmentIndex parameters.
78 @param segment The physical address and length that is next to be output.
80 @param segmentIndex Index to output 'segment' in the 'segments' array.
82 typedef void (*SegmentFunction)(PhysicalSegment segment,
94 /*! @var maxSegmentSize Maximum size of one segment in a scatter/gather list */
109 @param outSegFunc SegmentFunction to call to output one physical segment.
110 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
123 @param outSegFunc SegmentFunction to call to output one physical segment.
124 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
169 @abstract Outputs the given segment into the output segments array in natural byte order.
170 @param segment The physical address and length that is next to be output.
172 @param segmentIndex Index to output 'segment' in the 'segments' array.
174 static void outputSegment(PhysicalSegment segment,
186 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
198 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
244 @abstract Outputs the given segment into the output segments array in big endian byte order.
245 @param segment The physical address and length that is next to be output.
247 @param segmentIndex Index to output 'segment' in the 'segments' array.
249 static void outputSegment(PhysicalSegment segment,
261 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
273 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
320 @abstract Outputs the given segment into the output segments array in little endian byte order.
321 @param segment The physical address and length that is next to be output.
323 @param segmentIndex Index to output 'segment' in the 'segments' array.
325 static void outputSegment(PhysicalSegment segment,
336 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
348 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
398 @abstract Outpust the given segment into the output segments array in address and length fields of an DBDMA descriptor.
399 @param segment The physical address and length that is next to be output.
401 @param segmentIndex Index to output 'segment' in the 'segments' array.
403 static void outputSegment(PhysicalSegment segment,
414 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.
426 @param maxSegmentSize Maximum allowable size for one segment. Defaults to 0.