Yes. It seems that 4.14.x works fine. Using a logic analyzer with 4.9.99, it seems that, while it was doing DMA, it was ALWAYS using a word size of 8 bits. So you 'd see 8 clocks, a substantial gap, 8 clocks, gap, 8 clocks, etc. Using the same driver module code we used for 4.9.99 (albeit, built with the 4.14.40 kernel includes/Makefiles), we ran it with the 4.14.40 kernel. We now see the correct 32 bit transfers: 32 clocks, gap, 32 clocks, gap. The gap is now about 1/5th of the total time as opposed to half of it.
Something must have been fixed/changed between 4.9.99 and 4.14.40 in the SPI driver. I'll 'diff' them out and see if I spot anything.
Thanks for the suggestion on using 4.14.x.
John