Marek,
It looks that You have simplified arm_iommu_map_sg() function too much.
The main advantage of the iommu is to map scattered memory pages into
contiguous dma address space. DMA-mapping is allowed to merge consecutive
entries in the scatter list if hardware supports that.
http://article.gmane.org/gmane.linux.kernel/1128416
I would update arm_iommu_map_sg() back to coalesce the sg list.
I'm not sure if mmc drivers are aware of coalescing the SG entries together.
If not the code must be updated to use dma_sg_len() and the dma entries
number returned from dma_map_sg() call.
MMC drivers seem to be aware of coalescing the SG entries together as they are using dma_sg_len().
Let me test and update the patch.
--
nvpublic
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>