Commit d9a2fd3a authored by Ben Walker's avatar Ben Walker Committed by Jim Harris
Browse files

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: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/375245


Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 189c0299
Loading
Loading
Loading
Loading
+9 −21
Original line number Diff line number Diff line
@@ -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;
		}