mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-08 15:04:45 +00:00
nvme-pci: update sqsize when adjusting the queue depth
Update the core sqsize field in addition to the PCIe-specific
q_depth field as the core tagset allocation helpers rely on it.
Fixes: 0da7feaa59
("nvme-pci: use the tagset alloc/free helpers")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Hugh Dickins <hughd@google.com>
Link: https://lore.kernel.org/r/20221225103234.226794-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
33b93727ce
commit
88d356ca41
@ -2333,10 +2333,12 @@ static int nvme_setup_io_queues(struct nvme_dev *dev)
|
||||
if (dev->cmb_use_sqes) {
|
||||
result = nvme_cmb_qdepth(dev, nr_io_queues,
|
||||
sizeof(struct nvme_command));
|
||||
if (result > 0)
|
||||
if (result > 0) {
|
||||
dev->q_depth = result;
|
||||
else
|
||||
dev->ctrl.sqsize = result - 1;
|
||||
} else {
|
||||
dev->cmb_use_sqes = false;
|
||||
}
|
||||
}
|
||||
|
||||
do {
|
||||
@ -2537,7 +2539,6 @@ static int nvme_pci_enable(struct nvme_dev *dev)
|
||||
|
||||
dev->q_depth = min_t(u32, NVME_CAP_MQES(dev->ctrl.cap) + 1,
|
||||
io_queue_depth);
|
||||
dev->ctrl.sqsize = dev->q_depth - 1; /* 0's based queue depth */
|
||||
dev->db_stride = 1 << NVME_CAP_STRIDE(dev->ctrl.cap);
|
||||
dev->dbs = dev->bar + 4096;
|
||||
|
||||
@ -2578,7 +2579,7 @@ static int nvme_pci_enable(struct nvme_dev *dev)
|
||||
dev_warn(dev->ctrl.device, "IO queue depth clamped to %d\n",
|
||||
dev->q_depth);
|
||||
}
|
||||
|
||||
dev->ctrl.sqsize = dev->q_depth - 1; /* 0's based queue depth */
|
||||
|
||||
nvme_map_cmb(dev);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user