On Wednesday 29 April 2015 09:39:25 Al Stone wrote: > > When the spec was being changed for _CCA, it was determined by the ASWG > that there was no reasonable default -- either choice would break something. > Multiple OSs, SoC vendors, and platform vendors were asked. So, the spec > says for ARMv8, _CCA must be specified when needed and is not assumed to have > any value. Obviously, any OS can choose to behave differently, but that's > what was specified and why it was specified that way.
Ok, so it was essentially a CYA strategy. As we know that for Linux we're only interested in server parts here, but we also want to be compliant, I'd still argue that we check the property value and just disallow DMA for any device that is lacking CCA or contains zero here. The current patch actually implements non-standard behavior: if _CCA is missing, it registers the device as dma-capable with coherency turned off, where my interpretation of the cited standard would be that we treat a missing _CCA as not being able to perform DMA. What I'd like to see instead is to only enable DMA support if _CCA is present and enabled. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/