nvme: export nvme_configure_[sq|cq] to public #27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These two functions configure libvfn queue instance attribute members along with doorbell. They have been inside of nvme_configure_adminq() and nvme_create_iosq|cq APIs where NVMe admin command is actually issued to the admin submission queue and CQE of the command is reaped in the same context by polling in __admin().
However, in case application enabled interrupt for the admin completion queue with vector == 0 and application handles the interrupt in the user-space, CQ entry should not be directly reaped by libvfn, instead application should awake and reap the cq entry once the interrupt comes.
To let application handles cq entries for the admin completion queue by themselves, this patch exported them to public APIs so that application can configure the sq/cq instances in libvfn and issue the admin command and handles the completion properly.