Arnd Bergmann wrote:
Usually drivers try 64-bit mask and 32-bit masks, and the 32 bit mask is practically guaranteed to succeed.
Sure, but in theory, my for-loop is correct, right? Wouldn't there be some value in setting a 36-bit or 40-bit DMA mask if it works? We have a platform where memory starts at a 40-bit address, so some devices have a 44-bit address bus. If a 64-bit mask doesn't work, then a 32-bit mask certainly wont.
Platforms will also allow allow the driver to set a mask that is larger than what the bus supports, as long as all RAM is reachable by the bus.
And that check (like all others) is made in the dma_set_mask call? -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation collaborative project. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html