]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
nvme: update nvme_id_ns OPTPERF constants
authorCaleb Sander Mateos <csander@purestorage.com>
Fri, 27 Feb 2026 20:23:48 +0000 (13:23 -0700)
committerKeith Busch <kbusch@kernel.org>
Fri, 27 Mar 2026 14:35:04 +0000 (07:35 -0700)
commitd3c04a6ea5fd7a3d81f7c80880125108df9a4cbd
tree6be006b82a01a0296f82b60f39d066b73ec4d198
parent9110b85244f142ca4bcaea27be408c778d3c48d0
nvme: update nvme_id_ns OPTPERF constants

In NVMe verson 2.0 and below, OPTPERF comprises only bit 4 of NSFEAT in
the Identify Namespace structure. Since version 2.1, OPTPERF includes
both bits 4 and 5 of NSFEAT. Replace the NVME_NS_FEAT_IO_OPT constant
with NVME_NS_FEAT_OPTPERF_SHIFT, NVME_NS_FEAT_OPTPERF_MASK, and
NVME_NS_FEAT_OPTPERF_MASK_2_1, representing the first bit, pre-2.1 bit
width, and post-2.1 bit width of OPTPERF.

Update nvme_update_disk_info() to check both OPTPERF bits for
controllers that report version 2.1 or newer, as NPWG and NOWS are
supported even if only bit 5 is set.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/core.c
include/linux/nvme.h