refactor: FFA_VERSION related refactors

* Use an enum for FF-A versions.
* Replace `MAKE_FFA_VERSION` macro with `make_ffa_version` function.
* Add `ffa_version_is_valid` helper function.
* Add `ffa_version_get_major` and `ffa_version_get_minor` helper
  functions.

Change-Id: Icbc4b1fa16e826c2ec541add65aa7c14fb397f95
Signed-off-by: Karl Meakin <karl.meakin@arm.com>
diff --git a/include/runtime_services/spm_test_helpers.h b/include/runtime_services/spm_test_helpers.h
index fede4ad..a79b6dd 100644
--- a/include/runtime_services/spm_test_helpers.h
+++ b/include/runtime_services/spm_test_helpers.h
@@ -15,25 +15,25 @@
 #define SKIP_TEST_IF_FFA_VERSION_LESS_THAN(major, minor)			\
 	do {									\
 		struct ffa_value ret = ffa_version(				\
-					MAKE_FFA_VERSION(major, minor));	\
-		uint32_t version = ret.fid;					\
+					make_ffa_version(major, minor));	\
+		enum ffa_version version = ret.fid;				\
 										\
 		if (version == FFA_ERROR_NOT_SUPPORTED) {			\
 			tftf_testcase_printf("FFA_VERSION not supported.\n");	\
 			return TEST_RESULT_SKIPPED;				\
 		}								\
 										\
-		if ((version & FFA_VERSION_BIT31_MASK) != 0U) {			\
+		if (!ffa_version_is_valid(version)) {			\
 			tftf_testcase_printf("FFA_VERSION bad response: %x\n",	\
 					version);				\
 			return TEST_RESULT_FAIL;				\
 		}								\
 										\
-		if (version < MAKE_FFA_VERSION(major, minor)) {			\
+		if (version < make_ffa_version(major, minor)) {			\
 			tftf_testcase_printf("FFA_VERSION returned %u.%u\n"	\
 					"The required version is %u.%u\n",	\
-					version >> FFA_VERSION_MAJOR_SHIFT,	\
-					version & FFA_VERSION_MINOR_MASK,	\
+					ffa_version_get_major(version), 	\
+					ffa_version_get_minor(version), 	\
 					major, minor);				\
 			return TEST_RESULT_SKIPPED;				\
 		}								\