On Mon, Jun 26, 2017 at 6:26 PM, Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > Hi Jyri, > > Thanks for the ack. However, I'm reworking this patch set to use the > include/linux/io-64-nonatomic* headers which will explicitly devolve > into two 32-bit transfers. It's not clear whether this is appropriate > for the tilcdc driver as it was never setup to use 32-bit transfers > (unlike the others I had patched). > > If you think it's ok, I can still patch this driver to use the > non-atomic headers. Otherwise I can leave it out. Please let me know. You'd have to first figure out whether this device is of the lo-hi or the hi-lo variant, or doesn't allow the I/O to be split at all. Note that we could theoretically define ARM to use strd/ldrd for writeq/readq, but I would expect that to be wrong with many other devices that can use the existing io-64-nonatomic headers. The comment in set_scanout() suggests that we actually do rely on the write64 to be atomic, so we probably don't want to change this driver. Arnd