Lines Matching full:completion
41 pointer to a "completion area", which is a 128 byte memory block that
43 interrupt is generated upon completion; the completion area must be
46 processor until the completion status has been updated by the
52 completion of a request and resumption of execution of the requesting
85 call, and gets results (if any) via read(). The completion areas are
96 requests. The completion area buffer is also allocated, and this is
97 large enough to contain the completion areas for many concurrent
116 requests. Since no interrupt is generated upon the completion of a
142 completion area to use, and may be set via lseek() or using the
157 The mmap() function provides access to the completion area allocated
158 in the driver. Note that the completion area is not writeable by the
162 Completion of a Request
165 The first byte in each completion area is the command status which is
177 transaction completes. Thus the latency between transaction completion
185 - call mmap() to get the completion area address
192 - call munmap() for completion area
236 for the completion area, output buffer, and various inputs::
240 u64 completion;
267 both; the only difference is in preparation of the completion area. An
283 Next, the completion area must be mapped::
318 ccb->completion = 0; /* Completion area address, to be filled in by driver */
344 After a successful submission of the CCB, the completion area may be
346 the contents of the completion area can be found in section 36.2.2 of
362 A completion area status of 1 indicates successful completion of the
368 /* completion_area[0] contains the completion status */
372 After the completion area has been processed, the driver must be
383 completion area, closing the dax device, freeing memory etc.
389 of the completion area. Unlike user applications which mmap the
390 completion area allocated by the driver, kernel code must allocate its
391 own memory to use for the completion area, and this address and its
395 (3L << 32); /* completion area address type = primary virtual */
397 ccb->completion = (unsigned long) completion_area; /* Completion area address */
417 After the submission, the completion area polling code is identical to
434 /* completion_area[0] contains the completion status */
439 completion status indicates success.