Mathias Nyman wrote:
Evolution of the patch can be found in this thread: http://www.spinics.net/lists/linux-usb/msg128495.html I think version 8 was the final one.
I couldn't find any answers to my questions in that thread. The key change to the patch was made between v1 and v2:
+ /* Try setting the coherent_dma_mask to 64 bits, then try 32 bits */ + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); + if (ret) { + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + if (ret) + return ret; + }
I still do not understand what situation would cause a 64-bit mask to fail, but a 32-bit mask to succeed. If the driver says that the device can support 64-bit DMA, why would that ever fail? That means that the device can DMA anywhere, so there are no restrictions.
-- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html