nvme: add API to get CAP and VS registers
This is intended to be used for examples/nvme/identify and similar diagnostic utilities. Change-Id: Ib2f941e9af7a3fb7555865ef253742e30ccad2b5 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
a9df326a0e
commit
a464f1394e
@ -163,6 +163,16 @@ int spdk_nvme_ctrlr_reset(struct spdk_nvme_ctrlr *ctrlr);
|
||||
*/
|
||||
const struct spdk_nvme_ctrlr_data *spdk_nvme_ctrlr_get_data(struct spdk_nvme_ctrlr *ctrlr);
|
||||
|
||||
/**
|
||||
* \brief Get the NVMe controller CAP (Capabilities) register.
|
||||
*/
|
||||
union spdk_nvme_cap_register spdk_nvme_ctrlr_get_regs_cap(struct spdk_nvme_ctrlr *ctrlr);
|
||||
|
||||
/**
|
||||
* \brief Get the NVMe controller VS (Version) register.
|
||||
*/
|
||||
union spdk_nvme_vs_register spdk_nvme_ctrlr_get_regs_vs(struct spdk_nvme_ctrlr *ctrlr);
|
||||
|
||||
/**
|
||||
* \brief Get the number of namespaces for the given NVMe controller.
|
||||
*
|
||||
|
@ -1175,6 +1175,22 @@ spdk_nvme_ctrlr_get_data(struct spdk_nvme_ctrlr *ctrlr)
|
||||
return &ctrlr->cdata;
|
||||
}
|
||||
|
||||
union spdk_nvme_cap_register spdk_nvme_ctrlr_get_regs_cap(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
union spdk_nvme_cap_register cap;
|
||||
|
||||
cap.raw = nvme_mmio_read_8(ctrlr, cap.raw);
|
||||
return cap;
|
||||
}
|
||||
|
||||
union spdk_nvme_vs_register spdk_nvme_ctrlr_get_regs_vs(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
union spdk_nvme_vs_register vs;
|
||||
|
||||
vs.raw = nvme_mmio_read_4(ctrlr, vs.raw);
|
||||
return vs;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
spdk_nvme_ctrlr_get_num_ns(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user