I use qualcomm 8909 platform, I'm in the test MMC many single blocks, speaking, reading and writing, then use the dd command to write documents, such as I write 10 byte, log printing blocks is 8 (corruption blocksize=4 k), write 512 log printing blocks is 1024 k, write 1 m two print 1024, then the DMA size should be 512 k (?) And code SDMA boundary value is 512 k, but this is I use ADMA2, MMC - & gt; Max_req_size=(host - & gt; Adma_max_desc * 65536); Such as size, I'm not sure why there are these?
The host - & gt; Adma_desc=dma_alloc_coherent (mmc_dev (host - & gt; MMC), the host - & gt; Adma_desc_sz, & amp; The host - & gt; Adma_addr GFP_KERNEL);
The host - & gt; Align_buffer=dma_alloc_coherent (mmc_dev (host - & gt; MMC), the host - & gt; Align_buf_sz, & amp; The host - & gt; Align_addr GFP_KERNEL);
And both of the above sdhci_add_host allocates memory function not printed the size of the size and the corresponding 512 k (8200 byte size are respectively and 2048 byte), I am now a little, don't know the bufsize DMA and the starting address exactly where to look,
Besides the DMA initialization phase should be assigned a continuous physical memory, so why in the code behind and scatter model within?