Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mi: Cleanup nvme_mi_mi_config_get() to nvme_mi_get_mi_config() #660

Closed
wants to merge 1 commit into from

Conversation

ikegami-t
Copy link
Contributor

No description provided.

@ikegami-t
Copy link
Contributor Author

Changes for the issue #206.

@igaw
Copy link
Collaborator

igaw commented Jun 14, 2023

@jk-ozlabs

@igaw
Copy link
Collaborator

igaw commented Jun 14, 2023

My take on this, we will do this type of work for a major version update, e.g. libnvme 2.0.

@jk-ozlabs
Copy link
Collaborator

Nack on this one. The nvme_mi_mi_ prefix is intentional: we use this for all of the nvme_mi_ functions that send MI-type messages. So we have:

  • nvme_mi_mi_ for the MI commands sent over MI; and
  • nvme_mi_admin for the Admin commands sent over MI

This is documented at:

libnvme/src/nvme/mi.h

Lines 35 to 44 in 42ac453

* A couple of conventions with the libnvme-mi API:
*
* - All types and functions have the nvme_mi prefix, to distinguish from
* the libnvme core.
*
* - We currently support either MI commands and Admin commands. The
* former adds a _mi prefix, the latter an _admin prefix. [This does
* result in the MI functions having a double _mi, like
* &nvme_mi_mi_subsystem_health_status_poll, which is apparently amusing
* for our German-speaking readers]

@igaw
Copy link
Collaborator

igaw commented Jun 15, 2023

True, I forgot that we already discussed this. Let's keep it as it is.

@igaw igaw closed this Jun 15, 2023
@jk-ozlabs
Copy link
Collaborator

(and the config_get is a direct reference to the MI Configuration Get command; not sure if we want to apply the verb-noun ordering to this one...)

@ikegami-t
Copy link
Contributor Author

Thanks for your comments. I could understand them. By the way seems the PCIe commands over MI not implemented yet. (Also seems the mi resp status NVME_MI_RESP_PCIE_INACCESSIBLE is for the unimplemented command.)

@jk-ozlabs
Copy link
Collaborator

Yes, that's correct - I haven't done any work on the PCIe command-set. It's optional in the spec, and I don't know whether any of the device I have actually support it!

Is this something you're looking for, to be implemented?

@ikegami-t
Copy link
Contributor Author

Thanks for the confirmation. No I thought to confirm if just my understanding for the PICe command-set support implementaton is correct or not. (I am also not sure if my device supported it.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants