refactor(cpus): reorder Neoverse N2 errata by ascending order

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: Icf4c12f8404d2e7791bd9c008fe261314b047e14
diff --git a/lib/cpus/aarch64/neoverse_n2.S b/lib/cpus/aarch64/neoverse_n2.S
index 60d322f..41853f8 100644
--- a/lib/cpus/aarch64/neoverse_n2.S
+++ b/lib/cpus/aarch64/neoverse_n2.S
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2023, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -67,32 +67,6 @@
 endfunc check_errata_2002655
 
 /* ---------------------------------------------------------------
- * Errata Workaround for Neoverse N2 Erratum 2067956.
- * This applies to revision r0p0 of Neoverse N2 and is still open.
- * Inputs:
- * x0: variant[4:7] and revision[0:3] of current cpu.
- * Shall clobber: x0-x17
- * ---------------------------------------------------------------
- */
-func errata_n2_2067956_wa
-	/* Compare x0 against revision r0p0 */
-	mov	x17, x30
-	bl	check_errata_2067956
-	cbz	x0, 1f
-	mrs	x1, NEOVERSE_N2_CPUACTLR_EL1
-	orr	x1, x1, NEOVERSE_N2_CPUACTLR_EL1_BIT_46
-	msr	NEOVERSE_N2_CPUACTLR_EL1, x1
-1:
-	ret	x17
-endfunc errata_n2_2067956_wa
-
-func check_errata_2067956
-	/* Applies to r0p0 */
-	mov	x1, #0x00
-	b	cpu_rev_var_ls
-endfunc check_errata_2067956
-
-/* ---------------------------------------------------------------
  * Errata Workaround for Neoverse N2 Erratum 2025414.
  * This applies to revision r0p0 of Neoverse N2 and is still open.
  * Inputs:
@@ -120,31 +94,59 @@
 endfunc check_errata_2025414
 
 /* ---------------------------------------------------------------
- * Errata Workaround for Neoverse N2 Erratum 2189731.
+ * Errata Workaround for Neoverse N2 Erratum 2067956.
  * This applies to revision r0p0 of Neoverse N2 and is still open.
  * Inputs:
  * x0: variant[4:7] and revision[0:3] of current cpu.
  * Shall clobber: x0-x17
  * ---------------------------------------------------------------
  */
-func errata_n2_2189731_wa
+func errata_n2_2067956_wa
 	/* Compare x0 against revision r0p0 */
-	mov     x17, x30
-	bl      check_errata_2189731
-	cbz     x0, 1f
-	mrs     x1, NEOVERSE_N2_CPUACTLR5_EL1
-	orr     x1, x1, NEOVERSE_N2_CPUACTLR5_EL1_BIT_44
-	msr     NEOVERSE_N2_CPUACTLR5_EL1, x1
+	mov	x17, x30
+	bl	check_errata_2067956
+	cbz	x0, 1f
+	mrs	x1, NEOVERSE_N2_CPUACTLR_EL1
+	orr	x1, x1, NEOVERSE_N2_CPUACTLR_EL1_BIT_46
+	msr	NEOVERSE_N2_CPUACTLR_EL1, x1
+1:
+	ret	x17
+endfunc errata_n2_2067956_wa
+
+func check_errata_2067956
+	/* Applies to r0p0 */
+	mov	x1, #0x00
+	b	cpu_rev_var_ls
+endfunc check_errata_2067956
 
+/* --------------------------------------------------
+ * Errata Workaround for Neoverse N2 Erratum 2138953.
+ * This applies to revision r0p0 of Neoverse N2. it is still open.
+ * Inputs:
+ * x0: variant[4:7] and revision[0:3] of current cpu.
+ * Shall clobber: x0-x1, x17
+ * --------------------------------------------------
+ */
+func errata_n2_2138953_wa
+	/* Check revision. */
+	mov	x17, x30
+	bl	check_errata_2138953
+	cbz	x0, 1f
+
+	/* Apply instruction patching sequence */
+	mrs	x1, NEOVERSE_N2_CPUECTLR2_EL1
+	mov	x0, #NEOVERSE_N2_CPUECTLR2_EL1_PF_MODE_CNSRV
+	bfi	x1, x0, #CPUECTLR2_EL1_PF_MODE_LSB, #CPUECTLR2_EL1_PF_MODE_WIDTH
+	msr	NEOVERSE_N2_CPUECTLR2_EL1, x1
 1:
-	ret     x17
-endfunc errata_n2_2189731_wa
+	ret	x17
+endfunc errata_n2_2138953_wa
 
-func check_errata_2189731
+func check_errata_2138953
 	/* Applies to r0p0 */
-	mov     x1, #0x00
-	b       cpu_rev_var_ls
-endfunc check_errata_2189731
+	mov	x1, #0x00
+	b	cpu_rev_var_ls
+endfunc check_errata_2138953
 
 /* --------------------------------------------------
  * Errata Workaround for Neoverse N2 Erratum 2138956.
@@ -189,126 +191,124 @@
 endfunc check_errata_2138956
 
 /* --------------------------------------------------
- * Errata Workaround for Neoverse N2 Erratum 2242415.
+ * Errata Workaround for Neoverse N2 Erratum 2138958.
  * This applies to revision r0p0 of Neoverse N2. it is still open.
  * Inputs:
  * x0: variant[4:7] and revision[0:3] of current cpu.
  * Shall clobber: x0-x1, x17
  * --------------------------------------------------
  */
-func errata_n2_2242415_wa
+func errata_n2_2138958_wa
 	/* Check revision. */
 	mov	x17, x30
-	bl	check_errata_2242415
+	bl	check_errata_2138958
 	cbz	x0, 1f
 
 	/* Apply instruction patching sequence */
-	mrs	x1, NEOVERSE_N2_CPUACTLR_EL1
-	orr	x1, x1, NEOVERSE_N2_CPUACTLR_EL1_BIT_22
-	msr	NEOVERSE_N2_CPUACTLR_EL1, x1
+	mrs	x1, NEOVERSE_N2_CPUACTLR5_EL1
+	orr	x1, x1, NEOVERSE_N2_CPUACTLR5_EL1_BIT_13
+	msr	NEOVERSE_N2_CPUACTLR5_EL1, x1
 1:
 	ret	x17
-endfunc errata_n2_2242415_wa
+endfunc errata_n2_2138958_wa
 
-func check_errata_2242415
+func check_errata_2138958
 	/* Applies to r0p0 */
 	mov	x1, #0x00
 	b	cpu_rev_var_ls
-endfunc check_errata_2242415
+endfunc check_errata_2138958
 
-/* --------------------------------------------------
- * Errata Workaround for Neoverse N2 Erratum 2138953.
- * This applies to revision r0p0 of Neoverse N2. it is still open.
+/* ---------------------------------------------------------------
+ * Errata Workaround for Neoverse N2 Erratum 2189731.
+ * This applies to revision r0p0 of Neoverse N2 and is still open.
  * Inputs:
  * x0: variant[4:7] and revision[0:3] of current cpu.
- * Shall clobber: x0-x1, x17
- * --------------------------------------------------
+ * Shall clobber: x0-x17
+ * ---------------------------------------------------------------
  */
-func errata_n2_2138953_wa
-	/* Check revision. */
-	mov	x17, x30
-	bl	check_errata_2138953
-	cbz	x0, 1f
+func errata_n2_2189731_wa
+	/* Compare x0 against revision r0p0 */
+	mov     x17, x30
+	bl      check_errata_2189731
+	cbz     x0, 1f
+	mrs     x1, NEOVERSE_N2_CPUACTLR5_EL1
+	orr     x1, x1, NEOVERSE_N2_CPUACTLR5_EL1_BIT_44
+	msr     NEOVERSE_N2_CPUACTLR5_EL1, x1
 
-	/* Apply instruction patching sequence */
-	mrs	x1, NEOVERSE_N2_CPUECTLR2_EL1
-	mov	x0, #NEOVERSE_N2_CPUECTLR2_EL1_PF_MODE_CNSRV
-	bfi	x1, x0, #CPUECTLR2_EL1_PF_MODE_LSB, #CPUECTLR2_EL1_PF_MODE_WIDTH
-	msr	NEOVERSE_N2_CPUECTLR2_EL1, x1
 1:
-	ret	x17
-endfunc errata_n2_2138953_wa
+	ret     x17
+endfunc errata_n2_2189731_wa
 
-func check_errata_2138953
+func check_errata_2189731
 	/* Applies to r0p0 */
-	mov	x1, #0x00
-	b	cpu_rev_var_ls
-endfunc check_errata_2138953
+	mov     x1, #0x00
+	b       cpu_rev_var_ls
+endfunc check_errata_2189731
 
 /* --------------------------------------------------
- * Errata Workaround for Neoverse N2 Erratum 2138958.
+ * Errata Workaround for Neoverse N2 Erratum 2242400.
  * This applies to revision r0p0 of Neoverse N2. it is still open.
  * Inputs:
  * x0: variant[4:7] and revision[0:3] of current cpu.
  * Shall clobber: x0-x1, x17
  * --------------------------------------------------
  */
-func errata_n2_2138958_wa
+func errata_n2_2242400_wa
 	/* Check revision. */
 	mov	x17, x30
-	bl	check_errata_2138958
+	bl	check_errata_2242400
 	cbz	x0, 1f
 
 	/* Apply instruction patching sequence */
 	mrs	x1, NEOVERSE_N2_CPUACTLR5_EL1
-	orr	x1, x1, NEOVERSE_N2_CPUACTLR5_EL1_BIT_13
+	orr	x1, x1, NEOVERSE_N2_CPUACTLR5_EL1_BIT_17
 	msr	NEOVERSE_N2_CPUACTLR5_EL1, x1
+	ldr	x0, =0x2
+	msr	S3_6_c15_c8_0, x0
+	ldr	x0, =0x10F600E000
+	msr	S3_6_c15_c8_2, x0
+	ldr	x0, =0x10FF80E000
+	msr	S3_6_c15_c8_3, x0
+	ldr	x0, =0x80000000003FF
+	msr	S3_6_c15_c8_1, x0
+	isb
 1:
 	ret	x17
-endfunc errata_n2_2138958_wa
+endfunc errata_n2_2242400_wa
 
-func check_errata_2138958
+func check_errata_2242400
 	/* Applies to r0p0 */
 	mov	x1, #0x00
 	b	cpu_rev_var_ls
-endfunc check_errata_2138958
+endfunc check_errata_2242400
 
 /* --------------------------------------------------
- * Errata Workaround for Neoverse N2 Erratum 2242400.
+ * Errata Workaround for Neoverse N2 Erratum 2242415.
  * This applies to revision r0p0 of Neoverse N2. it is still open.
  * Inputs:
  * x0: variant[4:7] and revision[0:3] of current cpu.
  * Shall clobber: x0-x1, x17
  * --------------------------------------------------
  */
-func errata_n2_2242400_wa
+func errata_n2_2242415_wa
 	/* Check revision. */
 	mov	x17, x30
-	bl	check_errata_2242400
+	bl	check_errata_2242415
 	cbz	x0, 1f
 
 	/* Apply instruction patching sequence */
-	mrs	x1, NEOVERSE_N2_CPUACTLR5_EL1
-	orr	x1, x1, NEOVERSE_N2_CPUACTLR5_EL1_BIT_17
-	msr	NEOVERSE_N2_CPUACTLR5_EL1, x1
-	ldr	x0, =0x2
-	msr	S3_6_c15_c8_0, x0
-	ldr	x0, =0x10F600E000
-	msr	S3_6_c15_c8_2, x0
-	ldr	x0, =0x10FF80E000
-	msr	S3_6_c15_c8_3, x0
-	ldr	x0, =0x80000000003FF
-	msr	S3_6_c15_c8_1, x0
-	isb
+	mrs	x1, NEOVERSE_N2_CPUACTLR_EL1
+	orr	x1, x1, NEOVERSE_N2_CPUACTLR_EL1_BIT_22
+	msr	NEOVERSE_N2_CPUACTLR_EL1, x1
 1:
 	ret	x17
-endfunc errata_n2_2242400_wa
+endfunc errata_n2_2242415_wa
 
-func check_errata_2242400
+func check_errata_2242415
 	/* Applies to r0p0 */
 	mov	x1, #0x00
 	b	cpu_rev_var_ls
-endfunc check_errata_2242400
+endfunc check_errata_2242415
 
 /* --------------------------------------------------
  * Errata Workaround for Neoverse N2 Erratum 2280757.
@@ -504,7 +504,6 @@
 	bl	errata_n2_2189731_wa
 #endif
 
-
 #if ERRATA_N2_2138956
 	mov	x0, x18
 	bl	errata_n2_2138956_wa
@@ -625,21 +624,21 @@
 	 * checking functions of each errata.
 	 */
 	report_errata ERRATA_N2_2002655, neoverse_n2, 2002655
+	report_errata ERRATA_N2_2002655, neoverse_n2, 2025414
 	report_errata ERRATA_N2_2067956, neoverse_n2, 2067956
-	report_errata ERRATA_N2_2025414, neoverse_n2, 2025414
-	report_errata ERRATA_N2_2189731, neoverse_n2, 2189731
-	report_errata ERRATA_N2_2138956, neoverse_n2, 2138956
 	report_errata ERRATA_N2_2138953, neoverse_n2, 2138953
-	report_errata ERRATA_N2_2242415, neoverse_n2, 2242415
+	report_errata ERRATA_N2_2138956, neoverse_n2, 2138956
 	report_errata ERRATA_N2_2138958, neoverse_n2, 2138958
+	report_errata ERRATA_N2_2189731, neoverse_n2, 2189731
 	report_errata ERRATA_N2_2242400, neoverse_n2, 2242400
+	report_errata ERRATA_N2_2242415, neoverse_n2, 2242415
 	report_errata ERRATA_N2_2280757, neoverse_n2, 2280757
 	report_errata ERRATA_N2_2326639, neoverse_n2, 2326639
 	report_errata ERRATA_N2_2376738, neoverse_n2, 2376738
 	report_errata ERRATA_N2_2388450, neoverse_n2, 2388450
 	report_errata ERRATA_N2_2743089, neoverse_n2, 2743089
-	report_errata WORKAROUND_CVE_2022_23960, neoverse_n2, cve_2022_23960
 	report_errata ERRATA_DSU_2313941, neoverse_n2, dsu_2313941
+	report_errata WORKAROUND_CVE_2022_23960, neoverse_n2, cve_2022_23960
 
 	ldp	x8, x30, [sp], #16
 	ret