NVMe: use split lo_hi_{read,write}q
authorStephan Günther <guenther@tum.de>
Sun, 8 Nov 2015 01:07:02 +0000 (18:07 -0700)
committerJens Axboe <axboe@fb.com>
Wed, 11 Nov 2015 16:36:56 +0000 (09:36 -0700)
commita310acd7a7ea53533886c11bb7edd11ffd61a036
tree233c4cfac009f9fc03dd1817d4fa056619deaa01
parent1fa8cc52f46c14fb1afc20c220855c40a5d28fcd
NVMe: use split lo_hi_{read,write}q

Some controllers may require ordered split transfers even on 64bit
machines, e.g. Apple's NVMe controller as found in the MacBook8,1 and
MacBookAir7,1 (256/512GB models).

This patch enforces ordered split transfers on 64bit platforms, which
works around that issue for all controllers. As pointed out by Christoph
[1] there should be no performance impact due to that modification.

[1] http://lists.infradead.org/pipermail/linux-nvme/2015-November/002965.html

Signed-off-by: Stephan Guenther <guenther@tum.de>
Signed-off-by: Maurice Leclaire <leclaire@in.tum.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Updated by me to explicitly use lo_hi_read/writeq instead of playing
define tricks.

Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/host/pci.c