#
15a190f7 |
| 16-Oct-2015 |
Christoph Hellwig <hch@lst.de> |
nvme: move nvme_error_status to common code
And mark it inline so that we don't slow down the completion path by having to turn it into a forced out of line call.
Signed-off-by: Christoph Hellwig <
nvme: move nvme_error_status to common code
And mark it inline so that we don't slow down the completion path by having to turn it into a forced out of line call.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
1c63dc66 |
| 26-Nov-2015 |
Christoph Hellwig <hch@lst.de> |
nvme: split a new struct nvme_ctrl out of struct nvme_dev
The new struct nvme_ctrl will be used by the common NVMe code that sits on top of struct request_queue and the new nvme_ctrl_ops abstraction
nvme: split a new struct nvme_ctrl out of struct nvme_dev
The new struct nvme_ctrl will be used by the common NVMe code that sits on top of struct request_queue and the new nvme_ctrl_ops abstraction. It only contains the bare minimum required, which consists of values sampled during controller probe, the admin queue pointer and a second struct device pointer at the moment, but more will follow later. Only values that are not used in the I/O fast path should be moved to struct nvme_ctrl so that drivers can optimize their cache line usage easily. That's also the reason why we have two device pointers as the struct device is used for DMA mapping purposes.
Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
7a67cbea |
| 20-Nov-2015 |
Christoph Hellwig <hch@lst.de> |
nvme: use offset instead of a struct for registers
This makes life easier for future non-PCI drivers where access to the registers might be more complicated. Note that Linux drivers are pretty even
nvme: use offset instead of a struct for registers
This makes life easier for future non-PCI drivers where access to the registers might be more complicated. Note that Linux drivers are pretty evenly split between the two versions, and in fact the NVMe driver already uses offsets for the doorbells.
Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Keith Busch <keith.busch@intel.com> [Fixed CMBSZ offset] Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
21d34711 |
| 26-Nov-2015 |
Christoph Hellwig <hch@lst.de> |
nvme: split command submission helpers out of pci.c
Create a new core.c and start by adding the command submission helpers to it, which are already abstracted away from the actual hardware queues by
nvme: split command submission helpers out of pci.c
Create a new core.c and start by adding the command submission helpers to it, which are already abstracted away from the actual hardware queues by the block layer.
Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
71bd150c |
| 16-Oct-2015 |
Christoph Hellwig <hch@lst.de> |
nvme: move struct nvme_iod to pci.c
This structure is specific to the PCIe driver internals and should be moved to pci.c.
Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Keith Busch <keith.
nvme: move struct nvme_iod to pci.c
This structure is specific to the PCIe driver internals and should be moved to pci.c.
Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
c4699e70 |
| 28-Nov-2015 |
Keith Busch <keith.busch@intel.com> |
lightnvm: Simplify config when disabled
We shouldn't compile an object file to get empty implementations; conforms to linux coding style on conditional compilation.
Signed-off-by: Keith Busch <keit
lightnvm: Simplify config when disabled
We shouldn't compile an object file to get empty implementations; conforms to linux coding style on conditional compilation.
Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Matias Bjørling <m@bjorling.me> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
ca064085 |
| 29-Oct-2015 |
Matias Bjørling <m@bjorling.me> |
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
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>
show more ...
|
#
57dacad5 |
| 09-Oct-2015 |
Jay Sternberg <jay.e.sternberg@intel.com> |
nvme: move to a new drivers/nvme/host directory
This patch moves the NVMe driver from drivers/block/ to its own new drivers/nvme/host/ directory. This is in preparation of splitting the current mon
nvme: move to a new drivers/nvme/host directory
This patch moves the NVMe driver from drivers/block/ to its own new drivers/nvme/host/ directory. This is in preparation of splitting the current monolithic driver up and add support for the upcoming NVMe over Fabrics standard. The drivers/nvme/host/ is chose to leave space for a NVMe target implementation in addition to this host side driver.
Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com> [hch: rebased, renamed core.c to pci.c, slight tweaks] Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|