From 296ae15fd7e2760eca16339292cadb3d3b0ee4e6 Mon Sep 17 00:00:00 2001 From: Tomasz Bielecki Date: Tue, 17 Aug 2021 17:33:04 -0700 Subject: [PATCH] nvme: add spdk_nvme_ctrlr_get_regs_cc Expose the already existing nvme_ctrlr_get_cc as spdk_nvme_ctrlr_get_regs_cc, similar to spdk_nvme_ctrlr_get_regs_csts and spdk_nvme_strlr_get_regs_cap etc. Signed-off-by: Tomasz Bielecki Change-Id: Ibfcf6fbe64dee3719f381184fb728ab6e4d52526 Signed-off-by: Tomasz Bielecki Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9220 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Krishna Kanth Reddy Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki --- include/spdk/nvme.h | 9 +++++++++ lib/nvme/nvme_ctrlr.c | 10 ++++++++++ lib/nvme/spdk_nvme.map | 1 + 3 files changed, 20 insertions(+) diff --git a/include/spdk/nvme.h b/include/spdk/nvme.h index 3ae2b733c..2edbb6531 100644 --- a/include/spdk/nvme.h +++ b/include/spdk/nvme.h @@ -1140,6 +1140,15 @@ const struct spdk_nvme_ctrlr_data *spdk_nvme_ctrlr_get_data(struct spdk_nvme_ctr */ union spdk_nvme_csts_register spdk_nvme_ctrlr_get_regs_csts(struct spdk_nvme_ctrlr *ctrlr); +/** + * Get the NVMe controller CC (Configuration) register. + * + * \param ctrlr Opaque handle to NVMe controller. + * + * \return the NVMe controller CC (Configuration) register. + */ +union spdk_nvme_cc_register spdk_nvme_ctrlr_get_regs_cc(struct spdk_nvme_ctrlr *ctrlr); + /** * Get the NVMe controller CAP (Capabilities) register. * diff --git a/lib/nvme/nvme_ctrlr.c b/lib/nvme/nvme_ctrlr.c index 7e06eba96..9e55b30ff 100644 --- a/lib/nvme/nvme_ctrlr.c +++ b/lib/nvme/nvme_ctrlr.c @@ -3908,6 +3908,16 @@ union spdk_nvme_csts_register spdk_nvme_ctrlr_get_regs_csts(struct spdk_nvme_ctr return csts; } +union spdk_nvme_cc_register spdk_nvme_ctrlr_get_regs_cc(struct spdk_nvme_ctrlr *ctrlr) +{ + union spdk_nvme_cc_register cc; + + if (nvme_ctrlr_get_cc(ctrlr, &cc)) { + cc.raw = SPDK_NVME_INVALID_REGISTER_VALUE; + } + return cc; +} + union spdk_nvme_cap_register spdk_nvme_ctrlr_get_regs_cap(struct spdk_nvme_ctrlr *ctrlr) { return ctrlr->cap; diff --git a/lib/nvme/spdk_nvme.map b/lib/nvme/spdk_nvme.map index cfe2dae41..b5e7b1836 100644 --- a/lib/nvme/spdk_nvme.map +++ b/lib/nvme/spdk_nvme.map @@ -42,6 +42,7 @@ spdk_nvme_ctrlr_is_failed; spdk_nvme_ctrlr_get_data; spdk_nvme_ctrlr_get_regs_csts; + spdk_nvme_ctrlr_get_regs_cc; spdk_nvme_ctrlr_get_regs_cap; spdk_nvme_ctrlr_get_regs_vs; spdk_nvme_ctrlr_get_regs_cmbsz;