-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
nvme: add low-level api to map prp/sgl without an nvme_rq
Add low-level helpers to map PRP and SGL data and data list which contains the actual prp and sgl entries within a memory page. The existing nvme_rq mapping helpers always use the preallocated struct nvme_rq page.vaddr member. Some applications might want to locate the prplist or sgl segments in another location such as the CMB (Controller Memory Buffer) rather than the host memory. In that case, the application could update the struct nvme_rq page member, but it's not a good idea since it is a library-specific data structure and has its own policy. To give more flexible options to upper layer applications, this patch adds a low-level API which are more generic using parameters for the prplist or segment list. The newly added public helpers are: * nvme_map_prp * nvme_mapv_prp * nvme_mapv_sgl This does not have functional change on the existing API. Signed-off-by: Minwoo Im <minwoo.im@samsung.com> [k.jensen: update commit message and fixed tests] Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
- Loading branch information
Showing
5 changed files
with
326 additions
and
234 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.