fix(cpufeat): update FEAT_PAUTH's feat detect line to tri-state

Since patch 8d9f5f258, FEAT_PAUTH has supported the tri-state framework.
This part was missed, update it.

Change-Id: I3e086865df4d852e9d31a04cd8150d9d8a4dd2b8
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
diff --git a/common/feat_detect.c b/common/feat_detect.c
index 694d616..5f70397 100644
--- a/common/feat_detect.c
+++ b/common/feat_detect.c
@@ -63,16 +63,6 @@
 	return false;
 }
 
-/************************************************
- * Feature : FEAT_PAUTH (Pointer Authentication)
- ***********************************************/
-static void read_feat_pauth(void)
-{
-#if (ENABLE_PAUTH == FEAT_STATE_ALWAYS) || (CTX_INCLUDE_PAUTH_REGS == FEAT_STATE_ALWAYS)
-	feat_detect_panic(is_feat_pauth_present(), "PAUTH");
-#endif
-}
-
 static unsigned int read_feat_rng_trap_id_field(void)
 {
 	return ISOLATE_FIELD(read_id_aa64pfr1_el1(), ID_AA64PFR1_EL1_RNDR_TRAP_SHIFT,
@@ -365,8 +355,9 @@
 				 "RAS", 1, 2);
 
 	/* v8.3 features */
-	/* TODO: Pauth yet to convert to tri-state feat detect logic */
-	read_feat_pauth();
+	/* the PAuth fields are very complicated, no min/max is checked */
+	tainted |= check_feature(ENABLE_PAUTH, is_feat_pauth_present(),
+				 "PAUTH", 1, 1);
 
 	/* v8.4 features */
 	tainted |= check_feature(ENABLE_FEAT_DIT, read_feat_dit_id_field(),