env: Remove one layer of functions in spdk_vtophys_register
spdk_vtophys_register_one and spdk_vtophys_unregister_one were both only called from one spot and are tiny functions. Remove the extra layer of indirection for code clarity. Change-Id: I4cf2698d6c7df7e09bfe05d786e39e1fb063a973 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/375245 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
189c02996b
commit
d9a2fd3a41
@ -471,25 +471,6 @@ vtophys_get_paddr(uint64_t vaddr)
|
||||
return SPDK_VTOPHYS_ERROR;
|
||||
}
|
||||
|
||||
static int
|
||||
_spdk_vtophys_register_one(uint64_t vfn_2mb, uint64_t paddr)
|
||||
{
|
||||
if (paddr & MASK_2MB) {
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "invalid paddr 0x%" PRIx64 " - must be 2MB aligned\n", paddr);
|
||||
#endif
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return spdk_mem_map_set_translation(g_vtophys_map, vfn_2mb << SHIFT_2MB, 2 * 1024 * 1024, paddr);
|
||||
}
|
||||
|
||||
static int
|
||||
_spdk_vtophys_unregister_one(uint64_t vfn_2mb)
|
||||
{
|
||||
return spdk_mem_map_clear_translation(g_vtophys_map, vfn_2mb << SHIFT_2MB, 2 * 1024 * 1024);
|
||||
}
|
||||
|
||||
static int
|
||||
spdk_vtophys_register(void *vaddr, uint64_t len)
|
||||
{
|
||||
@ -525,7 +506,14 @@ spdk_vtophys_register(void *vaddr, uint64_t len)
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
rc = _spdk_vtophys_register_one(vfn_2mb, paddr);
|
||||
if (paddr & MASK_2MB) {
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "invalid paddr 0x%" PRIx64 " - must be 2MB aligned\n", paddr);
|
||||
#endif
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rc = spdk_mem_map_set_translation(g_vtophys_map, vaddr, 1 << SHIFT_2MB, paddr);
|
||||
if (rc != 0) {
|
||||
return rc;
|
||||
}
|
||||
@ -561,7 +549,7 @@ spdk_vtophys_unregister(void *vaddr, uint64_t len)
|
||||
len = len >> SHIFT_2MB;
|
||||
|
||||
while (len > 0) {
|
||||
rc = _spdk_vtophys_unregister_one(vfn_2mb);
|
||||
rc = spdk_mem_map_clear_translation(g_vtophys_map, vfn_2mb << SHIFT_2MB, 1 << SHIFT_2MB);
|
||||
if (rc != 0) {
|
||||
return rc;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user