kernel_optimize_test/drivers/nvme/host
Guilherme G. Piccoli 54adc01055 nvme/quirk: Add a delay before checking for adapter readiness
When disabling the controller, the specification says the register
NVME_REG_CC should be written and then driver needs to wait the
adapter to be ready, which is checked by reading another register
bit (NVME_CSTS_RDY). There's a timeout validation in this checking,
so in case this timeout is reached the driver gives up and removes
the adapter from the system.

After a firmware activation procedure, the PCI_DEVICE(0x1c58, 0x0003)
(HGST adapter) end up being removed if we issue a reset_controller,
because driver keeps verifying the NVME_REG_CSTS until the timeout is
reached. This patch adds a necessary quirk for this adapter, by
introducing a delay before nvme_wait_ready(), so the reset procedure
is able to be completed. This quirk is needed because just increasing
the timeout is not enough in case of this adapter - the driver must
wait before start reading NVME_REG_CSTS register on this specific
device.

Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-07-12 08:23:00 -07:00
..
core.c nvme/quirk: Add a delay before checking for adapter readiness 2016-07-12 08:23:00 -07:00
fabrics.c nvme: add keep-alive support 2016-07-05 11:28:20 -06:00
fabrics.h nvme: add keep-alive support 2016-07-05 11:28:20 -06:00
Kconfig nvme-rdma: add a NVMe over Fabrics RDMA host driver 2016-07-08 08:38:49 -06:00
lightnvm.c nvme: lightnvm: make MLC num_pairs little endian 2016-07-07 08:51:52 -06:00
Makefile nvme-rdma: add a NVMe over Fabrics RDMA host driver 2016-07-08 08:38:49 -06:00
nvme.h nvme/quirk: Add a delay before checking for adapter readiness 2016-07-12 08:23:00 -07:00
pci.c nvme/quirk: Add a delay before checking for adapter readiness 2016-07-12 08:23:00 -07:00
rdma.c nvme-rdma: add a NVMe over Fabrics RDMA host driver 2016-07-08 08:38:49 -06:00
scsi.c nvme: move chardev and sysfs interface to common code 2015-12-01 10:59:40 -07:00