On 10/31/2014 10:49 AM, Arnd Bergmann wrote:
On Friday 31 October 2014 09:22:26 Mark Langsdorf wrote:
On 10/30/2014 04:05 PM, Arnd Bergmann wrote:
On Thursday 30 October 2014 15:09:33 Mark Langsdorf wrote:
You should not access pdev->dev.dma_mask here, that gets set
by the platform code. You should be able to just use
dma_set_mask_and_coherent to set both.
So:
if (sizeof(dma_addr_t) < 8 ||
dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64))) {
ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
if (ret)
return ret;
}
This doesn't actually work for me. I experimented a bit on the
hardware and I always fail if I don't set the coherent mask
first.
Very strange, the code looks right to me. What is the initial value
of dev->dma_mask?
Did you mean &pdev->dev.dma_mask? It's 0xdc759df8.
--Mark Langsdorf
--
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