The dma_handle returned by dma_alloc_coherent() in the raspberrypi-kernel_1.20170427-1 release does not appear to be a valid bus address. In previous releases, the returned dma_handle had bits 30 and 31 set to 1. However, in the 20170427 release, bits 30 and 31 are set to 0. This is resulting in data transfer errors in our device driver when transferring from memory to I2S.
We would appreciate assistance in determining how to address this issue. It appears that the device tree dma-ranges value is intended to ensure appropriate address values are returned, but it does not seem to be effective for the dma_alloc_coherent() call.