Lines Matching +full:no +full:- +full:mmc
2 MMC Asynchronous Request
11 pre-fetch makes the cache overhead relatively significant. If the DMA
13 transfer, the DMA preparation overhead would not affect the MMC performance.
15 The intention of non-blocking (asynchronous) MMC requests is to minimize the
16 time between when an MMC request ends and another MMC request begins.
18 Using mmc_wait_for_req(), the MMC controller is idle while dma_map_sg and
19 dma_unmap_sg are processing. Using non-blocking MMC requests makes it
21 MMC request.
23 MMC block driver
26 The mmc_blk_issue_rw_rq() in the MMC block driver is made non-blocking.
30 a request and how fast the memory is. The faster the MMC/SD is the
40 https://wiki.linaro.org/WorkingGroups/Kernel/Specs/StoragePerfMMC-async-req
42 MMC core API extension
47 It starts a new MMC command request for a host. The function isn't
48 truly non-blocking. If there is an ongoing async request it waits
50 doesn't wait for the new request to complete. If there is no ongoing
53 MMC host extensions
56 There are two optional members in the mmc_host_ops -- pre_req() and
57 post_req() -- that the host driver may implement in order to move work
67 with the previous transfer, since there is no previous request.
69 The argument is_first_req in pre_req() indicates that there is no previous
77 if (is_first_req && req->size > threshold)
78 /* start MMC transfer for the complete transfer size */
82 * Begin to prepare DMA while cmd is being processed by MMC.
84 * to prepare as the "MMC process command time".
85 * If prepare time exceeds MMC cmd time
90 dma_issue_pending(req->dma_desc);
94 * The second issue_pending should be called before MMC runs out
95 * of the first chunk. If the MMC runs out of the first data chunk
98 dma_issue_pending(req->dma_desc);