On Mon, Jul 24, 2017 at 03:06:36AM +0000, Oder Chiou wrote:
On Fri, Jul 21, 2017 at 04:00:47PM +0800, Oder Chiou wrote:
The patch uses the local variable to get the data from SPI device to prevent to get all zero data.
How do you end up with all zero data from reading directly into rxbuf?
While the "runtime->dma_area" put into the rxbuf directly on the Intel platform, it seemed that had the limitation to let the memory cannot be written the data using the driver of the SPI controller. We verified the original code on the platforms of Nvidia and Rockchip, and these are working fine.
Do we understand why that is? Note that IIRC you're not really supposed to DMA to or from the stack, there are some platforms with restrictions there so it's possible you're just moving the problem around here if rxbuf can be on the stack.