device的这两个参数表示它能寻址的物理地址的范围,
内核通过这两个参数分配合适的物理内存给 device。
其中coherent_dma_mask指的是关闭cache的内存区域。

例如:
如果 addr_phy 是一个物理地址,且 (u64)addr_phy <= *dev->dma_mask,
那么 该 device 就可以寻址该物理地址。
如果 device 只能寻址32位地址,那么 mask 应为 0xffffffff。
依此类推。

更多推荐

platform dma_mask coherent_dma_mask