nvme: LightNVM support
authorMatias Bjørling <m@bjorling.me>
Thu, 29 Oct 2015 08:57:29 +0000 (17:57 +0900)
committerJens Axboe <axboe@fb.com>
Thu, 29 Oct 2015 08:57:29 +0000 (17:57 +0900)
commitca0640850e43f5f80c6029e2895b119b705f23bd
tree3623e1bacdb72a30e2b3fe400fc3579d9efe4250
parentae1519ec448bc31a7fe7369b66e7c78872f91e84
nvme: LightNVM support

The first generation of Open-Channel SSDs is based on NVMe. The NVMe
driver is extended with support for the LightNVM command set.

Detection is made through PCI IDs. Current supported devices are the
qemu nvme simulator and CNEX Labs Westlake SSD. The qemu nvme enables
support through vendor specific bits in the namespace identification and
the CNEX Labs Westlake SSD implements a LightNVM compatible firmware and
is detected using the same method as qemu.

After detection, vendor specific codes are used to identify the device
and enumerate supported features.

Reviewed-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Javier González <jg@lightnvm.io>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/host/Makefile
drivers/nvme/host/lightnvm.c [new file with mode: 0644]
drivers/nvme/host/nvme.h
drivers/nvme/host/pci.c