diff options
author | Yifeng Zhao <zyf@rock-chips.com> | 2018-04-11 18:14:47 +0800 |
---|---|---|
committer | Tao Huang <huangtao@rock-chips.com> | 2018-04-13 14:24:19 +0800 |
commit | bde144277c360ead4c3b3cbed578cb5a9a2b8faa (patch) | |
tree | d0d32a738153b7f970877c5ad75e9a5ca717566d /drivers/rk_nand | |
parent | 0ddf8164ca1c21a208d94fb003228a2a549d1abf (diff) |
drivers: rk_nand: improve the processing mechanism of nand flash read and write exception
When NAND FLASH reads and writes with UECC, it may lose data.
Add a additional reading process to restore the data.
Change-Id: I08edc0f9f7867266e4e620c463b54f7813f66602
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
Diffstat (limited to 'drivers/rk_nand')
-rw-r--r-- | drivers/rk_nand/rk_zftl_arm64.S | 7381 |
1 files changed, 3722 insertions, 3659 deletions
diff --git a/drivers/rk_nand/rk_zftl_arm64.S b/drivers/rk_nand/rk_zftl_arm64.S index 5a6a3afb9a83..1d118e76115c 100644 --- a/drivers/rk_nand/rk_zftl_arm64.S +++ b/drivers/rk_nand/rk_zftl_arm64.S @@ -5,7 +5,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * date: 2018-04-08 + * date: 2018-04-11 * function: rk ftl v5 for rockchip soc base on arm v8 to support 3D/2D * TLC and MLC. */ @@ -5121,25 +5121,75 @@ ftl_get_blk_list_in_sblk: .global ftl_free_sblk .type ftl_free_sblk, %function ftl_free_sblk: - stp x29, x30, [sp, -32]! + stp x29, x30, [sp, -48]! add x29, sp, 0 - str x19, [sp,16] - uxth x19, w0 - mov w0, w19 + stp x19, x20, [sp,16] + adrp x19, .LANCHOR0 + uxth x20, w0 + add x3, x19, :lo12:.LANCHOR0 + stp x21, x22, [sp,32] + lsl x21, x20, 2 + mov x22, x20 + ldr x4, [x3,64] + add x2, x4, x21 + ldrb w0, [x2,2] + tbz x0, 3, .L822 + ldr x5, [x3,2848] + ldr w1, [x4,x21] + ldrh w4, [x4,x21] + ldrh w0, [x5,72] + ubfx x1, x1, 11, 8 + ldrh w5, [x5,74] + ubfx x4, x4, 0, 11 + add w4, w4, w5 + ldrh w5, [x3,3316] + cmp w5, w4, uxth + bcc .L823 + add w1, w0, w1 + ldrh w0, [x3,3318] + cmp w0, w1, uxth + bcs .L822 +.L823: + add x1, x19, :lo12:.LANCHOR0 + ldrh w0, [x1,2838] + ldrh w3, [x1,2830] + add w3, w0, w3 + ldrh w0, [x1,3282] + cmp w3, w0 + bge .L824 + ldrb w1, [x2,2] + mov w0, 2 + bfi w1, w0, 3, 2 + b .L828 +.L824: + ldrh w0, [x1,2834] + ldrh w3, [x1,2828] + ldrh w4, [x1,2836] + add w3, w0, w3 + ldrh w0, [x1,3320] + add w3, w3, w4 + cmp w3, w0 + bge .L822 + ldrb w1, [x2,2] + and w1, w1, -25 +.L828: + strb w1, [x2,2] +.L822: + mov w0, w22 + add x19, x19, :lo12:.LANCHOR0 bl zftl_remove_data_node - mov w0, w19 + mov w0, w22 bl zftl_insert_free_list - adrp x0, .LANCHOR0 - add x0, x0, :lo12:.LANCHOR0 - ldr x1, [x0,64] - add x1, x1, x19, lsl 2 - ldrb w2, [x1,2] - and w2, w2, 31 - strb w2, [x1,2] - ldr x0, [x0,72] - strh wzr, [x0,x19,lsl 1] - ldr x19, [sp,16] - ldp x29, x30, [sp], 32 + ldr x0, [x19,64] + add x0, x0, x21 + ldrb w1, [x0,2] + and w1, w1, 31 + strb w1, [x0,2] + ldr x0, [x19,72] + strh wzr, [x0,x20,lsl 1] + ldp x19, x20, [sp,16] + ldp x21, x22, [sp,32] + ldp x29, x30, [sp], 48 ret .size ftl_free_sblk, .-ftl_free_sblk .align 2 @@ -5159,126 +5209,126 @@ gc_free_src_blk: mov w20, 0 add x24, x23, 2888 add x21, x21, 1344 -.L823: +.L830: ldrh w0, [x24,56] adrp x25, .LANCHOR0 cmp w0, w20 - bls .L861 + bls .L868 add x0, x24, x20, sxtw 1 ldrh w22, [x0,58] ldr x0, [x23,72] lsl x26, x22, 1 mov x19, x22 ldrh w2, [x0,x26] - cbz w2, .L824 + cbz w2, .L831 adrp x0, .LC93 mov w1, w22 add x0, x0, :lo12:.LC93 bl printk -.L824: +.L831: add x0, x25, :lo12:.LANCHOR0 ldr x1, [x0,72] ldrh w1, [x1,x26] - cbnz w1, .L825 + cbnz w1, .L832 ldr x0, [x0,64] add x22, x0, x22, lsl 2 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L826 + tbz x0, 8, .L833 ldrb w2, [x22,2] adrp x0, .LC94 add x0, x0, :lo12:.LC94 mov w1, w19 ubfx x2, x2, 5, 3 bl printk -.L826: +.L833: ldrb w0, [x22,2] tst w0, 192 - beq .L839 + beq .L846 and w0, w0, 224 cmp w0, 224 - bne .L827 -.L839: + bne .L834 +.L846: adrp x0, .LC0 mov x1, x21 add x0, x0, :lo12:.LC0 mov w2, 770 bl printk -.L827: +.L834: mov w0, w19 add x25, x25, :lo12:.LANCHOR0 bl ftl_free_sblk ldr x2, [x25,80] ldrh w1, [x2,124] - cbz w1, .L829 + cbz w1, .L836 mov x0, 0 -.L831: +.L838: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,392] cmp w4, w19 - bne .L830 + bne .L837 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,392] sub w1, w1, #1 strh w1, [x2,124] - b .L829 -.L830: + b .L836 +.L837: add x0, x0, 1 cmp x0, 64 - bne .L831 -.L829: + bne .L838 +.L836: ldrh w1, [x2,120] - cbz w1, .L832 + cbz w1, .L839 mov x0, 0 -.L834: +.L841: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,136] cmp w4, w19 - bne .L833 + bne .L840 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,136] sub w1, w1, #1 strh w1, [x2,120] - b .L832 -.L833: + b .L839 +.L840: add x0, x0, 1 cmp x0, 64 - bne .L834 -.L832: + bne .L841 +.L839: ldrh w1, [x2,122] - cbz w1, .L835 + cbz w1, .L842 mov x0, 0 -.L837: +.L844: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,264] cmp w4, w19 - bne .L836 + bne .L843 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,264] sub w1, w1, #1 strh w1, [x2,122] - b .L835 -.L836: + b .L842 +.L843: add x0, x0, 1 cmp x0, 64 - bne .L837 - b .L835 -.L825: + bne .L844 + b .L842 +.L832: mov w0, w19 mov w1, 1 mov w2, 0 bl gc_add_sblk -.L835: +.L842: add w20, w20, 1 uxth w20, w20 - b .L823 -.L861: + b .L830 +.L868: strh wzr, [x24,56] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -5304,24 +5354,24 @@ ftl_erase_phy_blk: ldrh w19, [x5,3314] mov x20, x3 sub w19, w0, w19 - ldrb w0, [x5,3316] + ldrb w0, [x5,3322] asr w22, w2, w19 lsl w19, w4, w19 sub w19, w19, #1 and w19, w19, w2 sxth w19, w19 - cbz w0, .L863 - ldrh w2, [x5,3318] + cbz w0, .L870 + ldrh w2, [x5,3324] cmp w1, wzr mov w0, w22 cset w1, eq mul w2, w19, w2 bl flash_erase_block_en -.L863: +.L870: add x3, x20, :lo12:.LANCHOR0 mov w1, w21 mov w0, w22 - ldrh w2, [x3,3318] + ldrh w2, [x3,3324] mul w2, w19, w2 bl flash_erase_block_en ldp x19, x20, [sp,16] @@ -5348,87 +5398,87 @@ ftl_erase_sblk: mov w19, 0 add x0, x0, x20 ldrb w25, [x0,3] -.L868: +.L875: add x2, x23, :lo12:.LANCHOR0 - ldrb w0, [x2,3320] + ldrb w0, [x2,3326] cmp w19, w0 - bge .L879 + bge .L886 ldrb w3, [x2,3312] mov w21, 0 - ldrh w2, [x2,3318] + ldrh w2, [x2,3324] mov w1, w21 sub w4, w3, #1 mul w6, w19, w3 mul w5, w24, w3 -.L880: +.L887: cmp w1, w3 - bge .L893 + bge .L900 add w0, w1, w6 asr w0, w25, w0 - tbnz x0, 0, .L869 + tbnz x0, 0, .L876 and w0, w1, w4 add x7, x29, 80 add w0, w5, w0 mul w0, w0, w2 str w0, [x7,w21,sxtw 2] add w21, w21, 1 -.L869: +.L876: add w1, w1, 1 - b .L880 -.L893: + b .L887 +.L900: cmp w3, 4 - bne .L892 + bne .L899 mov x26, 0 -.L871: +.L878: cmp w21, w26 - ble .L874 + ble .L881 add x2, x29, 80 mov w0, w19 mov w1, w22 ldr w2, [x2,x26,lsl 2] add x26, x26, 1 bl flash_erase_block_en - b .L871 -.L892: + b .L878 +.L899: cmp w21, 2 - bne .L875 + bne .L882 add x0, x23, :lo12:.LANCHOR0 - ldrb w0, [x0,3316] - cbz w0, .L876 + ldrb w0, [x0,3322] + cbz w0, .L883 cmp w22, wzr ldr w2, [x29,80] ldr w3, [x29,84] mov w0, w19 cset w1, eq bl flash_erase_duplane_block -.L876: +.L883: ldr w2, [x29,80] mov w0, w19 ldr w3, [x29,84] mov w1, w22 bl flash_erase_duplane_block - b .L874 -.L875: + b .L881 +.L882: cmp w21, 1 - bne .L874 + bne .L881 add x0, x23, :lo12:.LANCHOR0 - ldrb w0, [x0,3316] - cbz w0, .L878 + ldrb w0, [x0,3322] + cbz w0, .L885 cmp w22, wzr ldr w2, [x29,80] mov w0, w19 cset w1, eq bl flash_erase_block_en -.L878: +.L885: ldr w2, [x29,80] mov w0, w19 mov w1, w22 bl flash_erase_block_en -.L874: +.L881: add w19, w19, 1 - b .L868 -.L879: - cbnz w22, .L881 + b .L875 +.L886: + cbnz w22, .L888 ldr x1, [x2,64] ldrh w0, [x1,x20] add w3, w0, 1 @@ -5444,10 +5494,10 @@ ftl_erase_sblk: ubfx x1, x1, 0, 11 uxth w2, w1 cmp w3, w2 - bge .L883 + bge .L890 strh w1, [x0,96] - b .L883 -.L881: + b .L890 +.L888: ldr x3, [x2,64] ldr w0, [x3,x20] ubfx x1, x0, 11, 8 @@ -5463,9 +5513,9 @@ ftl_erase_sblk: ldr w1, [x1,x20] ubfx x1, x1, 11, 8 cmp w2, w1, uxtb - bcs .L883 + bcs .L890 strh w1, [x0,98] -.L883: +.L890: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -5487,38 +5537,38 @@ ftl_alloc_sys_blk: ldr x1, [x1,2848] ldrh w2, [x1,136] cmp w2, 63 - bls .L895 + bls .L902 strh wzr, [x1,136] -.L895: +.L902: ldrh w0, [x1,112] - cbnz w0, .L896 + cbnz w0, .L903 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC0 add x1, x1, 1360 - mov w2, 994 + mov w2, 1012 bl printk -.L896: +.L903: add x0, x19, :lo12:.LANCHOR0 mov w4, 65535 ldr x1, [x0,2848] -.L900: +.L907: ldrh w2, [x1,136] -.L897: +.L904: cmp w2, 63 - bgt .L903 + bgt .L910 sxtw x3, w2 add x3, x3, 80 ldrh w0, [x1,x3,lsl 1] cmp w0, w4 - bne .L902 + bne .L909 add w2, w2, 1 - b .L897 -.L903: + b .L904 +.L910: strh wzr, [x1,136] - b .L900 -.L902: + b .L907 +.L909: mov w4, -1 strh w4, [x1,x3,lsl 1] strh w2, [x1,136] @@ -5543,33 +5593,33 @@ ftl_free_sys_blk: ldr x2, [x0,2848] ldrh w0, [x2,138] cmp w0, 63 - bls .L905 + bls .L912 strh wzr, [x2,138] -.L905: +.L912: ldrh w0, [x2,112] cmp w0, 63 - bls .L906 + bls .L913 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC0 add x1, x1, 1384 - mov w2, 1018 + mov w2, 1036 bl printk -.L906: +.L913: add x1, x19, :lo12:.LANCHOR0 mov w0, 65535 ldr x1, [x1,2848] -.L910: +.L917: ldrh w2, [x1,138] -.L907: +.L914: cmp w2, 63 - bgt .L912 + bgt .L919 sxtw x3, w2 add x3, x3, 80 ldrh w4, [x1,x3,lsl 1] cmp w4, w0 - bne .L908 + bne .L915 strh w20, [x1,x3,lsl 1] strh w2, [x1,138] ldrh w0, [x1,112] @@ -5578,12 +5628,12 @@ ftl_free_sys_blk: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret -.L908: +.L915: add w2, w2, 1 - b .L907 -.L912: + b .L914 +.L919: strh wzr, [x1,138] - b .L910 + b .L917 .size ftl_free_sys_blk, .-ftl_free_sys_blk .align 2 .global ftl_info_data_recovery @@ -5597,7 +5647,7 @@ ftl_info_data_recovery: str x23, [sp,48] ldrh w2, [x0] cmp w2, w1 - beq .L913 + beq .L920 adrp x19, .LANCHOR0 ubfiz x20, x2, 2, 16 add x23, x19, :lo12:.LANCHOR0 @@ -5605,36 +5655,36 @@ ftl_info_data_recovery: add x22, x21, x20 ldrb w1, [x22,2] tst w1, 224 - bne .L913 + bne .L920 ldrb w0, [x0,4] bfi w1, w0, 5, 3 mov w0, w2 strb w1, [x22,2] bl zftl_remove_free_node ldrb w0, [x22,2] - tbz x0, 3, .L917 + tbz x0, 3, .L924 ldr x1, [x23,2848] ldrh w0, [x1,116] sub w0, w0, #1 strh w0, [x1,116] - b .L918 -.L917: + b .L925 +.L924: tst w0, 24 ldr x1, [x23,2848] - bne .L919 + bne .L926 ldrh w0, [x1,114] sub w0, w0, #1 strh w0, [x1,114] - b .L918 -.L919: + b .L925 +.L926: ldrh w0, [x1,118] sub w0, w0, #1 strh w0, [x1,118] -.L918: +.L925: ldrb w0, [x22,2] and w0, w0, 224 cmp w0, 160 - bne .L920 + bne .L927 ldr w0, [x21,x20] add x19, x19, :lo12:.LANCHOR0 ubfx x1, x0, 11, 8 @@ -5645,29 +5695,29 @@ ftl_info_data_recovery: ldrh w0, [x1,120] sub w0, w0, #1 strh w0, [x1,120] - b .L913 -.L920: + b .L920 +.L927: ldrh w1, [x21,x20] cmp w0, 64 add w2, w1, 1 bfi w1, w2, 0, 11 strh w1, [x21,x20] - bne .L921 + bne .L928 add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,2848] ldrh w0, [x1,122] sub w0, w0, #1 strh w0, [x1,122] - b .L913 -.L921: + b .L920 +.L928: cmp w0, 96 - bne .L913 + bne .L920 add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,2848] ldrh w0, [x1,124] sub w0, w0, #1 strh w0, [x1,124] -.L913: +.L920: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -5691,14 +5741,14 @@ ftl_get_ppa_from_index: ldrb w4, [x4,3244] mul w0, w0, w4 cmp w1, w0 - bge .L923 + bge .L930 add x3, x3, 16 - b .L924 -.L923: + b .L931 +.L930: sub w1, w1, w0 add x3, x3, 48 uxth w1, w1 -.L924: +.L931: ldrb w2, [x3,9] mov w0, 65535 sdiv w20, w1, w2 @@ -5706,17 +5756,17 @@ ftl_get_ppa_from_index: add x1, x3, x1, uxth 1 ldrh w21, [x1,16] cmp w21, w0 - bne .L925 + bne .L932 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC0 add x1, x1, 1408 - mov w2, 1403 + mov w2, 1421 bl printk -.L925: +.L932: add x2, x19, :lo12:.LANCHOR0 - ldrh w0, [x2,3318] + ldrh w0, [x2,3324] madd w0, w21, w0, w20 ldp x19, x20, [sp,16] ldr x21, [sp,32] @@ -5736,22 +5786,22 @@ lpa_hash_get_ppa: ldrh w2, [x2,3328] ldr x4, [x1,3840] ldr x5, [x1,3848] -.L927: +.L934: cmp w2, w3 - beq .L931 + beq .L938 uxtw x1, w2 ldr w6, [x4,x1,lsl 2] cmp w6, w0 - bne .L928 + bne .L935 mov w0, w2 bl ftl_get_ppa_from_index - b .L929 -.L928: + b .L936 +.L935: ldrh w2, [x5,x1,lsl 1] - b .L927 -.L931: + b .L934 +.L938: mov w0, -1 -.L929: +.L936: ldp x29, x30, [sp], 16 ret .size lpa_hash_get_ppa, .-lpa_hash_get_ppa @@ -5766,67 +5816,67 @@ ftl_get_new_free_page: ldrh w1, [x0] mov w0, 65535 cmp w1, w0 - bne .L933 + bne .L940 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC0 add x1, x1, 1432 - mov w2, 1518 + mov w2, 1536 bl printk -.L933: +.L940: adrp x20, .LANCHOR0 ldrh w1, [x19,2] add x0, x20, :lo12:.LANCHOR0 ldrh w0, [x0,3276] cmp w1, w0 - bne .L934 + bne .L941 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC0 add x1, x1, 1432 - mov w2, 1519 + mov w2, 1537 bl printk -.L934: +.L941: ldrh w0, [x19,6] - cbnz w0, .L935 + cbnz w0, .L942 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC0 add x1, x1, 1432 - mov w2, 1520 + mov w2, 1538 bl printk -.L935: +.L942: ldrb w0, [x19,5] add x1, x20, :lo12:.LANCHOR0 add x0, x0, 8 ldrb w2, [x1,3244] mov w1, 65535 ldrh w0, [x19,x0,lsl 1] -.L936: +.L943: cmp w0, w1 - bne .L940 + bne .L947 ldrb w0, [x19,5] add w0, w0, 1 uxtb w0, w0 strb w0, [x19,5] cmp w0, w2 - bne .L937 + bne .L944 ldrh w0, [x19,2] strb wzr, [x19,5] add w0, w0, 1 strh w0, [x19,2] -.L937: +.L944: ldrb w0, [x19,5] add x0, x0, 8 ldrh w0, [x19,x0,lsl 1] - b .L936 -.L940: + b .L943 +.L947: add x20, x20, :lo12:.LANCHOR0 ldrh w2, [x19,2] - ldrh w1, [x20,3318] + ldrh w1, [x20,3324] ldrb w3, [x20,3244] mul w0, w0, w1 ldrh w1, [x19,6] @@ -5841,11 +5891,11 @@ ftl_get_new_free_page: uxtb w1, w1 strb w1, [x19,5] cmp w3, w1 - bne .L939 + bne .L946 add w2, w2, 1 strb wzr, [x19,5] strh w2, [x19,2] -.L939: +.L946: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -5863,15 +5913,15 @@ ftl_ext_alloc_new_blk: mov w1, 65533 sub w0, w0, #1 cmp w1, w0, uxth - bcs .L942 + bcs .L949 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC0 add x1, x1, 1456 - mov w2, 1551 + mov w2, 1569 bl printk -.L942: +.L949: adrp x19, .LANCHOR0 mov w1, 0 add x19, x19, :lo12:.LANCHOR0 @@ -5895,13 +5945,13 @@ ftl_total_vpn_update: adrp x1, .LANCHOR0 add x3, x1, :lo12:.LANCHOR0 ldrh w2, [x3,3856] - cbnz w0, .L944 + cbnz w0, .L951 cmp w2, 4 - bhi .L944 + bhi .L951 add w2, w2, 1 strh w2, [x3,3856] - b .L943 -.L944: + b .L950 +.L951: add x0, x1, :lo12:.LANCHOR0 mov w9, 65535 strh wzr, [x0,3856] @@ -5911,35 +5961,35 @@ ftl_total_vpn_update: mov x0, 0 mov w2, w0 mov w3, w0 -.L946: +.L953: cmp w6, w0, uxth - bls .L954 + bls .L961 ldrh w4, [x7,x0,lsl 1] cmp w4, w9 - beq .L947 + beq .L954 add x5, x8, x0, lsl 2 ldrb w5, [x5,2] and w5, w5, 224 cmp w5, 160 - bne .L948 + bne .L955 add w2, w2, w4 - b .L947 -.L948: + b .L954 +.L955: add w3, w3, w4 -.L947: - add x0, x0, 1 - b .L946 .L954: + add x0, x0, 1 + b .L953 +.L961: add x1, x1, :lo12:.LANCHOR0 ldr x0, [x1,80] ldr x1, [x1,2848] str w3, [x0,524] str w2, [x0,528] ldrh w1, [x1,120] - cbz w1, .L943 + cbz w1, .L950 udiv w2, w2, w1 str w2, [x0,532] -.L943: +.L950: ret .size ftl_total_vpn_update, .-ftl_total_vpn_update .align 2 @@ -5980,34 +6030,34 @@ ftl_vpn_decrement: str x19, [sp,16] cmp w1, w0 adrp x2, .LANCHOR0 - beq .L958 + beq .L965 add x0, x2, :lo12:.LANCHOR0 ubfiz x3, x1, 1, 16 ldr x0, [x0,72] ldrh w19, [x0,x3] - cbnz w19, .L959 + cbnz w19, .L966 adrp x0, .LC95 mov w2, w19 add x0, x0, :lo12:.LC95 bl printk - b .L963 -.L959: + b .L970 +.L966: sub w19, w19, #1 strh w19, [x0,x3] -.L958: +.L965: add x19, x2, :lo12:.LANCHOR0 mov w0, 0 ldrh w2, [x19,3858] cmp w2, w1 - beq .L960 + beq .L967 mov w0, 65535 cmp w2, w0 - bne .L961 + bne .L968 strh w1, [x19,3858] -.L963: +.L970: mov w0, 0 - b .L960 -.L961: + b .L967 +.L968: mov w0, w2 str x1, [x29,40] bl ftl_vpn_update @@ -6015,7 +6065,7 @@ ftl_vpn_decrement: ldr x1, [x29,40] cset w0, ne strh w1, [x19,3858] -.L960: +.L967: ldr x19, [sp,16] ldp x29, x30, [sp], 48 ret @@ -6036,42 +6086,42 @@ lpa_hash_update_ppa: mov w6, 65535 ldrh w4, [x4,w5,sxtw 1] mov w11, w6 -.L965: +.L972: cmp w4, w11 - beq .L969 + beq .L976 uxtw x9, w4 uxth x7, w4 lsl x10, x9, 2 add x13, x8, x10 ldr w10, [x8,x10] cmp w10, w0 - bne .L966 + bne .L973 mov w4, -1 str w4, [x13] mov w4, 65535 cmp w6, w4 add x4, x3, :lo12:.LANCHOR0 - bne .L967 + bne .L974 ldr x6, [x4,3848] add x4, x4, 3328 ldrh w6, [x6,x7,lsl 1] strh w6, [x4,w5,sxtw 1] - b .L968 -.L967: + b .L975 +.L974: ldr x4, [x4,3848] ldrh w8, [x4,x7,lsl 1] strh w8, [x4,w6,uxtw 1] -.L968: +.L975: add x4, x3, :lo12:.LANCHOR0 mov w6, -1 ldr x4, [x4,3848] strh w6, [x4,x7,lsl 1] - b .L969 -.L966: + b .L976 +.L973: mov w6, w4 ldrh w4, [x12,x9,lsl 1] - b .L965 -.L969: + b .L972 +.L976: add x3, x3, :lo12:.LANCHOR0 uxtw x4, w2 cmn w1, #1 @@ -6082,7 +6132,7 @@ lpa_hash_update_ppa: strh w2, [x0,w5,sxtw 1] ldr x0, [x3,3848] strh w6, [x0,x4,lsl 1] - beq .L971 + beq .L978 ldrh w0, [x3,3314] mov w2, 21 mov w4, 1 @@ -6094,7 +6144,7 @@ lpa_hash_update_ppa: and w1, w2, w1 udiv w0, w1, w0 bl ftl_vpn_decrement -.L971: +.L978: mov w0, -1 ldp x29, x30, [sp], 16 ret @@ -6123,26 +6173,26 @@ ftl_mask_bad_block: udiv w2, w0, w2 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - uxtb w20, w2 - tbz x0, 14, .L976 + uxth w20, w2 + tbz x0, 14, .L983 adrp x0, .LC96 mov w1, w21 add x0, x0, :lo12:.LC96 mov w2, w20 bl printk -.L976: +.L983: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0,56] cmp w1, w20 - bls .L975 + bls .L982 ldr x0, [x0,64] - add x20, x0, x20, uxtb 2 + add x20, x0, x20, uxth 2 mov w0, 1 lsl w1, w0, w21 ldrb w0, [x20,3] orr w1, w1, w0 strb w1, [x20,3] -.L975: +.L982: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -6230,7 +6280,7 @@ ftl_write_buf: stp x19, x20, [sp,16] str x21, [sp,32] mov x20, x0 - cbnz x0, .L983 + cbnz x0, .L990 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -6240,14 +6290,14 @@ ftl_write_buf: bl printk bl print_ftl_debug_info mov w0, -1 - b .L992 -.L983: + b .L999 +.L990: adrp x19, .LANCHOR0 ldrb w1, [x20,56] add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,2816] cmp w1, w0 - bls .L988 + bls .L995 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -6255,20 +6305,20 @@ ftl_write_buf: add x1, x1, 1480 mov w2, 644 bl printk -.L988: +.L995: ldrb w0, [x20,56] - cbz w0, .L985 + cbz w0, .L992 add x21, x19, :lo12:.LANCHOR0 ldrb w1, [x21,2816] cmp w1, w0 - bcs .L986 -.L985: + bcs .L993 +.L992: mov x0, x20 add x19, x19, :lo12:.LANCHOR0 bl buf_free ldrb w0, [x19,2840] - b .L992 -.L986: + b .L999 +.L993: add x0, x21, 2866 mov x1, x20 bl buf_add_tail @@ -6285,7 +6335,7 @@ ftl_write_buf: add w1, w1, 1 str w1, [x0,32] mov w0, w2 -.L992: +.L999: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -6308,10 +6358,10 @@ ftl_write_completed: mov w23, 21 mov w24, 1 add x21, x21, :lo12:.LC102 -.L994: +.L1001: ldrb w0, [x19,3860] cmp w0, 255 - beq .L1001 + beq .L1008 sbfiz x0, x0, 6, 32 add x20, x22, x0 add x4, x20, 32 @@ -6319,7 +6369,7 @@ ftl_write_completed: strb w0, [x19,3860] ldr w0, [x20,52] cmn w0, #1 - bne .L995 + bne .L1002 ldrh w2, [x19,3314] mov x0, x21 ldr w3, [x4,8] @@ -6344,33 +6394,33 @@ ftl_write_completed: str w1, [x0,556] ldrh w1, [x0,16] cmp w1, w25 - bne .L996 + bne .L1003 strh wzr, [x0,22] - b .L997 -.L996: + b .L1004 +.L1003: ldrh w1, [x0,48] cmp w1, w25 - bne .L997 + bne .L1004 strh wzr, [x0,54] -.L997: +.L1004: mov x0, x20 bl ftl_write_buf - b .L994 -.L995: + b .L1001 +.L1002: ldr w0, [x4,4] ldr w1, [x4,12] ldrh w2, [x20,48] bl lpa_hash_update_ppa ldrb w0, [x20,2] - tbz x0, 2, .L999 + tbz x0, 2, .L1006 and w0, w0, -3 strb w0, [x20,2] - b .L994 -.L999: + b .L1001 +.L1006: mov x0, x20 bl buf_free - b .L994 -.L1001: + b .L1001 +.L1008: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -6398,13 +6448,13 @@ ftl_alloc_sblk: uxth w19, w0 mov w0, 65535 cmp w19, w0 - beq .L1004 + beq .L1011 adrp x0, .LANCHOR0+64 ldr x21, [x0,#:lo12:.LANCHOR0+64] add x21, x21, x19, uxth 2 ldrb w0, [x21,2] tst w0, 224 - beq .L1005 + beq .L1012 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 @@ -6412,15 +6462,15 @@ ftl_alloc_sblk: add x1, x1, 1496 mov w2, 757 bl printk -.L1005: +.L1012: ldrb w1, [x21,2] bfi w1, w20, 5, 3 ubfx x2, x1, 3, 2 orr w0, w22, w2 bfi w1, w0, 3, 2 strb w1, [x21,2] - b .L1011 -.L1004: + b .L1018 +.L1011: adrp x21, .LC103 bl print_ftl_debug_info add x21, x21, :lo12:.LC103 @@ -6444,7 +6494,7 @@ ftl_alloc_sblk: add x1, x1, 1496 mov w2, 767 bl printk -.L1011: +.L1018: mov w0, w19 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -6482,13 +6532,13 @@ dump_sblk_queue: bl printk ldrb w19, [x20,3861] cmp w19, 255 - beq .L1013 + beq .L1020 add x20, x20, 768 sbfiz x19, x19, 6, 32 adrp x21, .LC105 add x19, x20, x19 add x21, x21, :lo12:.LC105 -.L1015: +.L1022: ldrb w1, [x19,1] mov x0, x21 ldrb w2, [x19,58] @@ -6496,11 +6546,11 @@ dump_sblk_queue: bl printk ldrb w19, [x19] cmp w19, 255 - beq .L1013 + beq .L1020 sbfiz x19, x19, 6, 32 add x19, x20, x19 - b .L1015 -.L1013: + b .L1022 +.L1020: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -6516,7 +6566,7 @@ queue_lun_state: mov w0, 0 ldrb w2, [x3,3861] cmp w2, 255 - beq .L1023 + beq .L1030 ldrh w8, [x3,3314] mov w4, 21 ldrb w7, [x3,3312] @@ -6528,64 +6578,64 @@ queue_lun_state: sub w4, w4, #1 asr w5, w5, w8 uxth w7, w7 - adrp x10, .L1027 + adrp x10, .L1034 uxth w4, w4 and w5, w5, w7 and w5, w5, w4 add x3, x3, 768 - add x10, x10, :lo12:.L1027 -.L1030: + add x10, x10, :lo12:.L1034 +.L1037: add x0, x3, x2, lsl 6 ldr w6, [x0,40] ubfx x11, x6, 21, 3 cmp w11, w9 - bne .L1024 + bne .L1031 lsr w6, w6, w8 ldrb w0, [x0,58] and w6, w7, w6 and w6, w4, w6 cmp w6, w5 - bne .L1025 + bne .L1032 cmp w1, 1 - beq .L1028 - b .L1023 -.L1025: + beq .L1035 + b .L1030 +.L1032: cmp w1, 3 - bhi .L1024 + bhi .L1031 ldrb w6, [x10,w1,uxtw] - adr x11, .Lrtx1027 + adr x11, .Lrtx1034 add x6, x11, w6, sxtb #2 br x6 -.Lrtx1027: +.Lrtx1034: .section .rodata .align 0 .align 2 -.L1027: - .byte (.L1026 - .Lrtx1027) / 4 - .byte (.L1028 - .Lrtx1027) / 4 - .byte (.L1029 - .Lrtx1027) / 4 - .byte (.L1023 - .Lrtx1027) / 4 +.L1034: + .byte (.L1033 - .Lrtx1034) / 4 + .byte (.L1035 - .Lrtx1034) / 4 + .byte (.L1036 - .Lrtx1034) / 4 + .byte (.L1030 - .Lrtx1034) / 4 .text -.L1026: +.L1033: cmp w0, 2 - b .L1039 -.L1028: + b .L1046 +.L1035: sub w6, w0, #6 and w6, w6, -3 uxtb w6, w6 - cbz w6, .L1024 - b .L1023 -.L1029: + cbz w6, .L1031 + b .L1030 +.L1036: cmp w0, 10 -.L1039: - bne .L1023 -.L1024: +.L1046: + bne .L1030 +.L1031: lsl x2, x2, 6 ldrb w2, [x3,x2] cmp w2, 255 - bne .L1030 + bne .L1037 mov w0, 0 -.L1023: +.L1030: ret .size queue_lun_state, .-queue_lun_state .align 2 @@ -6596,7 +6646,7 @@ queue_remove_completed_req: add x1, x0, :lo12:.LANCHOR0 ldrb w2, [x1,3861] cmp w2, 255 - beq .L1041 + beq .L1048 add x6, x1, 768 lsl x5, x2, 6 add x7, x6, x5 @@ -6604,51 +6654,51 @@ queue_remove_completed_req: sub w3, w3, #11 uxtb w3, w3 cmp w3, 1 - bhi .L1041 + bhi .L1048 ldrb w3, [x6,x5] strb w3, [x1,3861] mov w3, -1 strb w3, [x6,x5] ldrb w3, [x7,59] cmp w3, 1 - bne .L1043 + bne .L1050 ldrh w3, [x7,50] - cbnz w3, .L1044 + cbnz w3, .L1051 ldrb w3, [x1,3860] add x1, x1, 3860 - b .L1045 -.L1044: + b .L1052 +.L1051: ldrb w3, [x1,3224] add x1, x1, 3224 - b .L1045 -.L1043: - cbnz w3, .L1041 + b .L1052 +.L1050: + cbnz w3, .L1048 ldr w3, [x7,36] cmn w3, #1 - beq .L1041 + beq .L1048 ldrb w3, [x1,2880] add x1, x1, 2880 -.L1045: +.L1052: cmp w3, 255 add x0, x0, :lo12:.LANCHOR0 - bne .L1049 + bne .L1056 add x0, x0, x2, lsl 6 ldrb w0, [x0,769] strb w0, [x1] - b .L1041 -.L1049: - add x0, x0, 768 + b .L1048 .L1056: + add x0, x0, 768 +.L1063: mov w1, w3 sbfiz x3, x3, 6, 32 ldrb w3, [x0,x3] cmp w3, 255 - bne .L1056 + bne .L1063 add x2, x0, x2, lsl 6 sbfiz x1, x1, 6, 32 ldrb w2, [x2,1] strb w2, [x0,x1] -.L1041: +.L1048: ret .size queue_remove_completed_req, .-queue_remove_completed_req .align 2 @@ -6669,16 +6719,16 @@ pm_alloc_new_blk: ldrb w1, [x3,3244] strh w0, [x2,690] cmp w1, w0 - bls .L1058 + bls .L1065 add x0, x2, x0, sxtw 1 ldrh w1, [x0,672] mov w0, 65535 cmp w1, w0 - bne .L1059 -.L1058: + bne .L1066 +.L1065: adrp x22, .LC106 add x22, x22, :lo12:.LC106 -.L1071: +.L1078: mov w0, 1 add x20, x19, :lo12:.LANCHOR0 bl ftl_alloc_sblk @@ -6690,7 +6740,7 @@ pm_alloc_new_blk: add x1, x1, 672 bl ftl_get_blk_list_in_sblk uxth w0, w0 - cbnz w0, .L1060 + cbnz w0, .L1067 mov w1, w21 mov x0, x22 bl printk @@ -6699,23 +6749,23 @@ pm_alloc_new_blk: ldrb w2, [x1,2] orr w2, w2, -32 strb w2, [x1,2] - b .L1071 -.L1060: + b .L1078 +.L1067: ldr x1, [x20,2848] mov w0, 1 mov w2, 65535 str w0, [x20,3864] mov x20, 0 strh wzr, [x1,690] -.L1062: +.L1069: add x3, x1, x20, lsl 1 uxth w0, w20 ldrh w3, [x3,416] cmp w3, w2 - beq .L1061 + beq .L1068 add x20, x20, 1 cmp x20, 128 - bne .L1062 + bne .L1069 adrp x0, .LC0 adrp x1, .LANCHOR3 add x0, x0, :lo12:.LC0 @@ -6723,7 +6773,7 @@ pm_alloc_new_blk: mov w2, 192 bl printk mov w0, w20 -.L1061: +.L1068: add x1, x19, :lo12:.LANCHOR0 ldr x1, [x1,2848] add x0, x1, x0, sxtw 1 @@ -6731,7 +6781,7 @@ pm_alloc_new_blk: ldrh w0, [x1,688] add w0, w0, 1 strh w0, [x1,688] -.L1059: +.L1066: add x0, x19, :lo12:.LANCHOR0 ldr x1, [x0,2848] ldrh w0, [x1,690] @@ -6740,14 +6790,14 @@ pm_alloc_new_blk: mov w0, 65533 sub w1, w20, #1 cmp w0, w1, uxth - bcs .L1064 + bcs .L1071 adrp x0, .LC0 adrp x1, .LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, :lo12:.LANCHOR3 mov w2, 197 bl printk -.L1064: +.L1071: add x19, x19, :lo12:.LANCHOR0 mov w0, 21 ldr x1, [x19,2848] @@ -6759,7 +6809,7 @@ pm_alloc_new_blk: strh w4, [x1,694] adrp x1, .LANCHOR2 ldr w1, [x1,#:lo12:.LANCHOR2] - tbz x1, 12, .L1068 + tbz x1, 12, .L1075 mov w2, 1 mov w1, w20 lsl w2, w2, w0 @@ -6769,7 +6819,7 @@ pm_alloc_new_blk: mov w3, w20 uxth w4, w4 bl printk -.L1068: +.L1075: mov w0, 0 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -6788,34 +6838,34 @@ pm_select_ram_region: str x19, [sp,16] add x2, x2, :lo12:.LANCHOR0 mov x19, 0 -.L1075: +.L1082: add x1, x2, 3872 lsl x4, x19, 4 uxth w0, w19 ldrh w4, [x4,x1] cmp w4, w3 - beq .L1074 + beq .L1081 add x19, x19, 1 cmp x19, 32 - bne .L1075 + bne .L1082 mov x0, 0 mov w3, 32768 -.L1077: +.L1084: add x2, x1, x0, lsl 4 uxth w4, w0 ldrh w2, [x2,2] - tbnz x2, 15, .L1076 + tbnz x2, 15, .L1083 cmp w2, w3 - bcs .L1076 + bcs .L1083 mov w3, w2 mov w19, w4 -.L1076: +.L1083: add x0, x0, 1 cmp x0, 32 - bne .L1077 + bne .L1084 cmp w19, 32 mov w0, w19 - bne .L1074 + bne .L1081 adrp x0, .LANCHOR4+32 mov w2, -1 mov w1, 0 @@ -6823,23 +6873,23 @@ pm_select_ram_region: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 add x0, x0, 3872 -.L1079: +.L1086: ldrh w5, [x0,2] cmp w5, w2 - bcs .L1078 + bcs .L1085 ldrh w4, [x0] cmp w4, w3 csel w2, w2, w5, eq cmp w4, w3 csel w19, w19, w1, eq -.L1078: +.L1085: add w1, w1, 1 add x0, x0, 16 uxth w1, w1 cmp w1, 32 - bne .L1079 + bne .L1086 cmp w19, 32 - bne .L1080 + bne .L1087 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -6847,9 +6897,9 @@ pm_select_ram_region: add x1, x1, 24 mov w2, 295 bl printk -.L1080: +.L1087: mov w0, w19 -.L1074: +.L1081: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -6873,16 +6923,16 @@ flash_lsb_page_tbl_build: add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR0 - cbnz w0, .L1088 + cbnz w0, .L1095 mov x0, 0 add x2, x19, :lo12:.LANCHOR0 -.L1089: +.L1096: add x1, x2, 212 strh w0, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L1089 -.L1095: + bne .L1096 +.L1102: adrp x20, .LANCHOR4 mov w1, 255 add x20, x20, :lo12:.LANCHOR4 @@ -6891,39 +6941,39 @@ flash_lsb_page_tbl_build: add x19, x19, :lo12:.LANCHOR0 bl ftl_memset mov x0, 0 - b .L1090 -.L1088: + b .L1097 +.L1095: cmp w0, 1 - bne .L1091 + bne .L1098 mov x0, 0 mov w4, 3 mov w5, 2 add x3, x19, :lo12:.LANCHOR0 -.L1094: +.L1101: cmp x0, 3 uxth w2, w0 mov w1, w2 - bls .L1092 + bls .L1099 ubfiz w1, w2, 1, 15 and w2, w2, 1 cmp w2, wzr csel w2, w4, w5, ne sub w1, w1, w2 uxth w1, w1 -.L1092: +.L1099: add x2, x3, 212 strh w1, [x2,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L1094 - b .L1095 -.L1091: + bne .L1101 + b .L1102 +.L1098: cmp w0, 2 - bne .L1096 + bne .L1103 mov w1, 65535 mov x0, 0 add x4, x19, :lo12:.LANCHOR0 -.L1098: +.L1105: add x3, x4, 212 cmp x0, 1 uxth w2, w0 @@ -6933,36 +6983,36 @@ flash_lsb_page_tbl_build: add x0, x0, 1 cmp x0, 256 uxth w1, w1 - bne .L1098 - b .L1095 -.L1096: + bne .L1105 + b .L1102 +.L1103: cmp w0, 3 - bne .L1099 + bne .L1106 mov x0, 0 mov w4, 5 mov w5, 4 add x3, x19, :lo12:.LANCHOR0 -.L1102: +.L1109: cmp x0, 5 uxth w2, w0 mov w1, w2 - bls .L1100 + bls .L1107 ubfiz w1, w2, 1, 15 and w2, w2, 1 cmp w2, wzr csel w2, w4, w5, ne sub w1, w1, w2 uxth w1, w1 -.L1100: +.L1107: add x2, x3, 212 strh w1, [x2,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L1102 - b .L1095 -.L1099: + bne .L1109 + b .L1102 +.L1106: cmp w0, 4 - bne .L1103 + bne .L1110 add x2, x19, :lo12:.LANCHOR0 mov w5, 7 add x1, x2, 212 @@ -6982,7 +7032,7 @@ flash_lsb_page_tbl_build: strh w0, [x1,14] mov w0, 8 strh w2, [x1,6] -.L1105: +.L1112: and w3, w0, 1 ubfiz w2, w0, 1, 15 add w0, w0, 1 @@ -6993,48 +7043,48 @@ flash_lsb_page_tbl_build: sub w2, w2, w3 cmp w0, 256 strh w2, [x1,14] - bne .L1105 - b .L1095 -.L1103: + bne .L1112 + b .L1102 +.L1110: cmp w0, 5 - bne .L1106 + bne .L1113 mov x0, 0 add x2, x19, :lo12:.LANCHOR0 -.L1107: +.L1114: add x1, x2, 212 strh w0, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 16 - bne .L1107 + bne .L1114 mov x0, 0 -.L1108: +.L1115: add x2, x1, x0 add w3, w0, 16 add x0, x0, 2 cmp x0, 480 strh w3, [x2,32] - bne .L1108 - b .L1095 -.L1106: + bne .L1115 + b .L1102 +.L1113: cmp w0, 8 - bne .L1095 + bne .L1102 mov x0, 0 add x2, x19, :lo12:.LANCHOR0 -.L1109: +.L1116: add x1, x2, 212 strh w0, [x0,x1] add x0, x0, 2 cmp x0, 512 - bne .L1109 - b .L1095 -.L1090: + bne .L1116 + b .L1102 +.L1097: add x1, x19, 212 add x2, x20, 36 ldrh w1, [x0,x1] add x0, x0, 2 cmp x0, 512 strh w1, [x2,w1,sxtw 1] - bne .L1090 + bne .L1097 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7052,14 +7102,14 @@ flash_die_info_init: ldr w0, [x19,#:lo12:.LANCHOR2] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - tbz x0, 12, .L1126 + tbz x0, 12, .L1133 adrp x1, .LANCHOR3 adrp x0, .LC4 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC4 add x1, x1, 48 bl printk -.L1126: +.L1133: add x25, x19, :lo12:.LANCHOR2 adrp x21, .LANCHOR0 add x20, x21, :lo12:.LANCHOR0 @@ -7084,12 +7134,12 @@ flash_die_info_init: mov w2, 32 bl ftl_memset ldrb w23, [x25,-1] -.L1128: +.L1135: mov x0, x25 add x1, x27, x24, lsl 3 mov w2, w23 bl flash_mem_cmp8 - cbnz w0, .L1127 + cbnz w0, .L1134 ldrb w1, [x20,98] add x2, x26, 1064 str w0, [x2,w1,sxtw 2] @@ -7097,16 +7147,16 @@ flash_die_info_init: add x1, x20, x1, sxtw strb w0, [x20,98] strb w24, [x1,200] -.L1127: +.L1134: add x24, x24, 1 cmp x24, 4 - bne .L1128 + bne .L1135 add x0, x19, :lo12:.LANCHOR2 add x1, x0, 376 ldrb w2, [x1,8] cmp w2, 2 - beq .L1129 -.L1133: + beq .L1136 +.L1140: add x19, x19, :lo12:.LANCHOR2 add x21, x21, :lo12:.LANCHOR0 add x22, x22, :lo12:.LANCHOR4 @@ -7123,7 +7173,7 @@ flash_die_info_init: ldp x21, x22, [sp,32] ldp x29, x30, [sp], 112 ret -.L1129: +.L1136: add x24, x21, :lo12:.LANCHOR0 ldrh w20, [x1,14] ldrb w27, [x1,23] @@ -7137,7 +7187,7 @@ flash_die_info_init: ldrb w2, [x1,13] mul w20, w20, w2 lsl w28, w20, 1 -.L1132: +.L1139: add x1, x3, x25, lsl 3 mov x0, x26 mov w2, w23 @@ -7146,7 +7196,7 @@ flash_die_info_init: bl flash_mem_cmp8 ldr x3, [x29,104] ldr x4, [x29,96] - cbnz w0, .L1130 + cbnz w0, .L1137 ldrb w1, [x24,98] add x0, x4, 1064 cmp w27, wzr @@ -7156,11 +7206,11 @@ flash_die_info_init: add x1, x24, x1, sxtw strb w0, [x24,98] strb w25, [x1,200] -.L1130: +.L1137: add x25, x25, 1 cmp x25, 4 - bne .L1132 - b .L1133 + bne .L1139 + b .L1140 .size flash_die_info_init, .-flash_die_info_init .align 2 .global lpa_hash_init @@ -7195,7 +7245,7 @@ lpa_rebuild_hash: add x29, sp, 0 ldr w0, [x0,#:lo12:.LANCHOR2] str x19, [sp,16] - tbz x0, 12, .L1144 + tbz x0, 12, .L1151 adrp x1, .LANCHOR3 adrp x0, .LC108 add x1, x1, :lo12:.LANCHOR3 @@ -7204,7 +7254,7 @@ lpa_rebuild_hash: mov w2, 218 mov w3, 0 bl printk -.L1144: +.L1151: adrp x19, .LANCHOR0 mov w1, 255 add x19, x19, :lo12:.LANCHOR0 @@ -7219,28 +7269,28 @@ lpa_rebuild_hash: lsl w2, w2, 2 bl ftl_memset mov w0, 0 -.L1145: +.L1152: ldrh w1, [x19,3276] ldrb w2, [x19,3244] mul w1, w1, w2 cmp w0, w1, lsl 1 - bge .L1154 + bge .L1161 uxtw x2, w0 ldr x1, [x19,3840] ldr w1, [x1,x2,lsl 2] cmn w1, #1 - beq .L1146 + beq .L1153 uxtb w1, w1 add x3, x19, 3328 ldrh w4, [x3,w1,sxtw 1] strh w0, [x3,w1,sxtw 1] ldr x1, [x19,3848] strh w4, [x1,x2,lsl 1] -.L1146: +.L1153: add w0, w0, 1 uxth w0, w0 - b .L1145 -.L1154: + b .L1152 +.L1161: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7285,9 +7335,9 @@ zftl_read_flash_info: strb w1, [x19,9] mov x1, 0 strb w2, [x19,8] -.L1156: +.L1163: cmp w4, w1, uxtb - bls .L1158 + bls .L1165 add x2, x0, 200 ldrb w3, [x19,10] ldrb w2, [x1,x2] @@ -7295,8 +7345,8 @@ zftl_read_flash_info: lsl w2, w5, w2 orr w2, w2, w3 strb w2, [x19,10] - b .L1156 -.L1158: + b .L1163 +.L1165: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7391,13 +7441,13 @@ gc_static_wearleveling: ldr x6, [x0,2848] ldr w0, [x6,32] cmp w0, w1 - bls .L1161 + bls .L1168 ldr w1, [x6,36] add w1, w1, w0, lsr 10 and w0, w0, 1023 str w1, [x6,36] str w0, [x6,32] -.L1161: +.L1168: add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,80] ldr w1, [x0,568] @@ -7405,13 +7455,13 @@ gc_static_wearleveling: add w1, w1, 860160 add w1, w1, 3840 cmp w2, w1 - bhi .L1162 + bhi .L1169 ldr w1, [x0,572] ldr w3, [x6,36] add w1, w1, 32 cmp w3, w1 - bls .L1160 -.L1162: + bls .L1167 +.L1169: ldr w1, [x6,36] mov w9, 0 str w1, [x0,572] @@ -7428,29 +7478,29 @@ gc_static_wearleveling: mov w21, w9 mov w19, w26 mov w12, w26 -.L1164: +.L1171: cmp w3, w11 - bcs .L1208 + bcs .L1215 ubfiz x0, x3, 2, 16 add x5, x10, x0 ldrb w5, [x5,2] - tbz x5, 3, .L1165 + tbz x5, 3, .L1172 ldrh w5, [x10,x0] and w8, w5, 2047 ldr w5, [x10,x0] ubfx x0, x5, 11, 8 - b .L1166 -.L1165: + b .L1173 +.L1172: tst w5, 24 - bne .L1167 + bne .L1174 ldrh w5, [x10,x0] mov w0, 65535 and w8, w5, 2047 - b .L1166 -.L1167: + b .L1173 +.L1174: ldr w5, [x10,x0] ubfx x0, x5, 11, 8 -.L1190: +.L1197: cmp w19, w0 add w2, w2, 1 csel w19, w19, w0, cc @@ -7460,21 +7510,21 @@ gc_static_wearleveling: uxth w2, w2 uxth w19, w19 uxth w21, w0 -.L1191: +.L1198: add w3, w3, 1 uxth w3, w3 - b .L1164 -.L1208: + b .L1171 +.L1215: ldrh w0, [x6,96] cmp w0, w22 - bcs .L1169 + bcs .L1176 strh w22, [x6,96] -.L1169: +.L1176: ldrh w0, [x6,98] cmp w0, w21 - bcs .L1170 + bcs .L1177 strh w21, [x6,98] -.L1170: +.L1177: adrp x23, .LANCHOR2 str x23, [x29,128] udiv w3, w9, w1 @@ -7482,17 +7532,17 @@ gc_static_wearleveling: ldr w0, [x23,#:lo12:.LANCHOR2] udiv w4, w4, w2 strh w4, [x6,90] - tbz x0, 10, .L1171 + tbz x0, 10, .L1178 adrp x0, .LC109 uxth w3, w3 add x0, x0, :lo12:.LC109 uxth w4, w4 bl printk -.L1171: +.L1178: ldr x0, [x29,128] adrp x25, .LANCHOR4 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 10, .L1172 + tbz x0, 10, .L1179 add x6, x25, :lo12:.LANCHOR4 adrp x0, .LC110 add x0, x0, :lo12:.LC110 @@ -7503,7 +7553,7 @@ gc_static_wearleveling: mov w4, w21 ldrh w6, [x6,1130] bl printk -.L1172: +.L1179: add x0, x20, :lo12:.LANCHOR0 mov w1, 255 mov w2, 128 @@ -7517,18 +7567,18 @@ gc_static_wearleveling: ldrh w0, [x1,1130] ldr w2, [x29,136] cmp w2, w0 - bgt .L1173 + bgt .L1180 ldrh w1, [x1,1128] sub w0, w22, w26 cmp w0, w1 - bgt .L1173 -.L1180: - cbz w19, .L1182 + bgt .L1180 +.L1187: + cbz w19, .L1189 add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,2848] ldrh w0, [x0,134] - b .L1183 -.L1173: + b .L1190 +.L1180: add x9, x20, :lo12:.LANCHOR0 adrp x27, .LC112 adrp x28, .LC111 @@ -7543,10 +7593,10 @@ gc_static_wearleveling: str x0, [x29,112] add x0, x28, :lo12:.LC111 str x0, [x29,104] -.L1176: +.L1183: ldrh w0, [x23,56] cmp w0, w21 - bls .L1180 + bls .L1187 uxtw x22, w21 ldr x28, [x23,64] lsl x27, x22, 2 @@ -7554,24 +7604,24 @@ gc_static_wearleveling: ldrb w0, [x0,2] and w1, w0, 224 cmp w1, 224 - beq .L1177 + beq .L1184 tst w0, 192 cset w2, eq - cbnz w2, .L1177 + cbnz w2, .L1184 ubfx x0, x0, 3, 2 and w0, w0, 2 uxtb w1, w0 add x0, x25, :lo12:.LANCHOR4 - cbz w1, .L1178 + cbz w1, .L1185 ldrh w0, [x0,1130] ldr w1, [x29,136] cmp w1, w0 - ble .L1179 + ble .L1186 ldr w0, [x28,x27] add w1, w19, 1 ubfx x0, x0, 11, 8 cmp w0, w1 - bgt .L1179 + bgt .L1186 mov w1, w2 mov w0, w21 mov w2, 1 @@ -7581,7 +7631,7 @@ gc_static_wearleveling: str w0, [x29,140] ldr x0, [x29,128] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 10, .L1179 + tbz x0, 10, .L1186 ldr x0, [x23,64] ldr x11, [x23,72] add x0, x0, x27 @@ -7589,24 +7639,24 @@ gc_static_wearleveling: ldr w6, [x28,x27] ldrb w2, [x0,2] ldr x0, [x29,104] - b .L1207 -.L1178: + b .L1214 +.L1185: ldrh w0, [x0,1128] ldr w2, [x29,124] cmp w2, w0 - ble .L1179 + ble .L1186 ldrh w0, [x28,x27] add w2, w26, 1 and w0, w0, 2047 cmp w0, w2 - bgt .L1179 + bgt .L1186 mov w0, w21 mov w2, 1 add w24, w24, 1 bl gc_add_sblk ldr x0, [x29,128] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 10, .L1179 + tbz x0, 10, .L1186 ldr x0, [x23,64] ldr x11, [x23,72] add x0, x0, x27 @@ -7614,7 +7664,7 @@ gc_static_wearleveling: ldr w6, [x28,x27] ldrb w2, [x0,2] ldr x0, [x29,112] -.L1207: +.L1214: ldrh w3, [x11,x22,lsl 1] mov w1, w21 ldrh w4, [x23,2944] @@ -7622,78 +7672,78 @@ gc_static_wearleveling: and w5, w5, 2047 ubfx x6, x6, 11, 8 bl printk -.L1179: +.L1186: cmp w24, 4 - bhi .L1180 + bhi .L1187 ldr w0, [x29,140] cmp w0, 4 - bhi .L1180 -.L1177: + bhi .L1187 +.L1184: add w10, w21, 1 uxth w21, w10 - b .L1176 -.L1185: + b .L1183 +.L1192: ubfiz x3, x0, 2, 16 ldr x4, [x1,64] ldr w1, [x4,x3] ubfx x2, x1, 11, 8 cmp w2, w19 - bcc .L1184 + bcc .L1191 sub w2, w2, w19 bfi w1, w2, 11, 8 str w1, [x4,x3] -.L1184: +.L1191: add w0, w0, 1 uxth w0, w0 -.L1183: +.L1190: add x1, x20, :lo12:.LANCHOR0 ldrh w2, [x1,56] cmp w2, w0 - bhi .L1185 + bhi .L1192 ldr x0, [x1,2848] ldrh w1, [x0,72] add w1, w19, w1 strh w1, [x0,72] ldrh w1, [x0,98] cmp w1, w19 - bls .L1182 + bls .L1189 sub w19, w1, w19 strh w19, [x0,98] -.L1182: - cbz w26, .L1160 +.L1189: + cbz w26, .L1167 add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,2848] ldrh w0, [x0,134] -.L1187: +.L1194: add x1, x20, :lo12:.LANCHOR0 ldrh w2, [x1,56] cmp w2, w0 - bls .L1209 + bls .L1216 ubfiz x3, x0, 2, 16 ldr x4, [x1,64] ldrh w1, [x4,x3] and w2, w1, 2047 cmp w2, w26 - blt .L1188 + blt .L1195 sub w2, w2, w26 bfi w1, w2, 0, 11 strh w1, [x4,x3] -.L1188: +.L1195: add w0, w0, 1 uxth w0, w0 - b .L1187 -.L1209: + b .L1194 +.L1216: ldr x0, [x1,2848] ldrh w1, [x0,74] add w1, w26, w1 strh w1, [x0,74] ldrh w1, [x0,96] cmp w1, w26 - bls .L1160 + bls .L1167 sub w7, w1, w26 strh w7, [x0,96] - b .L1160 -.L1166: + b .L1167 +.L1173: cmp w26, w8 add w1, w1, 1 csel w7, w26, w8, cc @@ -7704,9 +7754,9 @@ gc_static_wearleveling: uxth w1, w1 uxth w26, w7 uxth w22, w8 - bne .L1190 - b .L1191 -.L1160: + bne .L1197 + b .L1198 +.L1167: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -7759,51 +7809,51 @@ zftl_sblk_list_init: ldr x0, [x19,2848] ldrsh w19, [x0,134] strh wzr, [x0,146] -.L1211: +.L1218: add x1, x21, :lo12:.LANCHOR0 ldrh w0, [x1,56] cmp w19, w0 - bge .L1241 + bge .L1248 sxtw x22, w19 ldr x27, [x1,64] ldr w2, [x29,108] add x27, x27, x22, lsl 2 ldrb w0, [x27,3] - cbz w0, .L1212 + cbz w0, .L1219 mov w0, 0 ldrb w5, [x1,3244] ldrh w6, [x1,3276] mov w2, w0 ldr x4, [x1,2848] -.L1213: +.L1220: cmp w0, w5 - bge .L1242 + bge .L1249 ldrb w1, [x27,3] asr w1, w1, w0 - tbnz x1, 0, .L1214 + tbnz x1, 0, .L1221 add w2, w6, w2 sxth w2, w2 - b .L1215 -.L1214: + b .L1222 +.L1221: ldrh w1, [x4,146] add w1, w1, 1 strh w1, [x4,146] -.L1215: +.L1222: add w0, w0, 1 - b .L1213 -.L1242: - cbz w2, .L1217 + b .L1220 +.L1249: + cbz w2, .L1224 sdiv w2, w23, w2 sxth w2, w2 - b .L1212 -.L1217: + b .L1219 +.L1224: ldrb w0, [x27,2] orr w0, w0, -32 strb w0, [x27,2] add x0, x21, :lo12:.LANCHOR0 ldr x0, [x0,72] strh w25, [x0,x22,lsl 1] -.L1212: +.L1219: add x20, x21, :lo12:.LANCHOR0 smull x0, w19, w24 ldr x1, [x20,8] @@ -7816,101 +7866,101 @@ zftl_sblk_list_init: ldrb w1, [x27,2] and w0, w1, 224 cmp w0, 224 - beq .L1220 + beq .L1227 cmp w0, 32 cset w28, eq - cbnz w28, .L1220 + cbnz w28, .L1227 ldr x2, [x20,80] ldrh w4, [x2,16] cmp w19, w4 - beq .L1220 + beq .L1227 ldrh w4, [x2,48] cmp w19, w4 - beq .L1220 + beq .L1227 ldrh w2, [x2,80] cmp w19, w2 - beq .L1220 + beq .L1227 cmp w0, 64 - bne .L1222 + bne .L1229 uxth w27, w19 add x0, x20, 3256 mov w1, w27 add x2, x20, 2834 - b .L1239 -.L1222: + b .L1246 +.L1229: cmp w0, 96 - bne .L1223 + bne .L1230 uxth w27, w19 add x0, x20, 3264 mov w1, w27 add x2, x20, 2836 - b .L1239 -.L1223: + b .L1246 +.L1230: cmp w0, 160 - bne .L1224 + bne .L1231 uxth w27, w19 add x0, x20, 3248 mov w1, w27 add x2, x20, 2838 -.L1239: +.L1246: bl _insert_data_list ldr x0, [x20,72] ldrh w0, [x0,x22,lsl 1] cmp w0, 7 - bhi .L1220 + bhi .L1227 mov w0, w27 mov w1, 1 mov w2, w28 - b .L1237 -.L1224: - cbnz w0, .L1220 + b .L1244 +.L1231: + cbnz w0, .L1227 ldr x0, [x20,72] ldrh w2, [x0,x22,lsl 1] - cbz w2, .L1225 + cbz w2, .L1232 mov x0, x26 mov w1, w19 bl printk ldrb w0, [x27,2] - tbz x0, 4, .L1226 + tbz x0, 4, .L1233 mov w1, 5 - b .L1233 -.L1226: - mov w1, 2 + b .L1240 .L1233: + mov w1, 2 +.L1240: bfi w0, w1, 5, 3 mov w2, 0 strb w0, [x27,2] mov w1, 1 mov w0, w19 -.L1237: +.L1244: bl gc_add_sblk - b .L1220 -.L1225: + b .L1227 +.L1232: ands w1, w1, 24 add x2, x21, :lo12:.LANCHOR0 - bne .L1228 + bne .L1235 add x0, x2, 3288 mov w1, w19 add x2, x2, 2828 - b .L1235 -.L1228: + b .L1242 +.L1235: cmp w1, 16 - bne .L1229 + bne .L1236 add x0, x2, 3296 mov w1, w19 add x2, x2, 2830 - b .L1235 -.L1229: + b .L1242 +.L1236: add x0, x2, 3304 mov w1, w19 add x2, x2, 2832 -.L1235: +.L1242: bl _insert_free_list -.L1220: +.L1227: add w19, w19, 1 sxth w19, w19 - b .L1211 -.L1241: + b .L1218 +.L1248: ldr x0, [x1,2848] ldrh w2, [x1,2828] strh w2, [x0,114] @@ -7951,8 +8001,8 @@ ftl_open_sblk_init: mov x26, x23 add x20, x20, :lo12:.LC106 mov w24, -1 -.L1244: -.L1247: +.L1251: +.L1254: mov w0, w21 bl ftl_alloc_sblk uxth w22, w0 @@ -7974,11 +8024,11 @@ ftl_open_sblk_init: mul w2, w1, w2 strh w2, [x19,6] strb w21, [x19,4] - beq .L1245 + beq .L1252 ldrb w3, [x0,3244] mul w3, w1, w3 uxth w3, w3 -.L1245: +.L1252: add x27, x26, :lo12:.LANCHOR0 strh w3, [x19,12] ubfiz x28, x22, 1, 16 @@ -7993,7 +8043,7 @@ ftl_open_sblk_init: ldrh w1, [x19,6] strh w1, [x0,x28] ldrb w0, [x19,9] - cbnz w0, .L1243 + cbnz w0, .L1250 mov x0, x20 mov w1, w22 bl printk @@ -8001,8 +8051,8 @@ ftl_open_sblk_init: strh w24, [x0,x28] mov w0, 7 strb w0, [x19,4] - b .L1247 -.L1243: + b .L1254 +.L1250: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -8026,7 +8076,7 @@ pm_free_sblk: stp x27, x28, [sp,80] ldrh w0, [x0,1132] cmp w0, 128 - bls .L1250 + bls .L1257 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -8034,7 +8084,7 @@ pm_free_sblk: add x1, x1, 96 mov w2, 76 bl printk -.L1250: +.L1257: add x28, x29, 112 mov w1, 0 mov w2, 256 @@ -8054,9 +8104,9 @@ pm_free_sblk: ldrh w7, [x4,698] sub w0, w0, #1 ldrh w9, [x1,1132] -.L1251: +.L1258: cmp w7, w3, uxth - bls .L1276 + bls .L1283 add x1, x4, x3, lsl 2 mov x2, 0 ldr w1, [x1,704] @@ -8064,23 +8114,23 @@ pm_free_sblk: and w1, w1, w0 udiv w1, w1, w8 uxth w1, w1 -.L1252: +.L1259: cmp w9, w2, uxth - bls .L1277 + bls .L1284 add x5, x4, x2, lsl 1 ldrh w5, [x5,416] cmp w5, w1 - bne .L1253 + bne .L1260 ldrh w5, [x28,x2,lsl 1] add w5, w5, 1 strh w5, [x28,x2,lsl 1] -.L1253: +.L1260: add x2, x2, 1 - b .L1252 -.L1277: + b .L1259 +.L1284: add x3, x3, 1 - b .L1251 -.L1276: + b .L1258 +.L1283: add x1, x21, :lo12:.LANCHOR0 mov w25, 0 adrp x24, .LC114 @@ -8092,11 +8142,11 @@ pm_free_sblk: ldrh w20, [x1,3276] mul w20, w0, w20 uxth w20, w20 -.L1256: +.L1263: add x0, x23, :lo12:.LANCHOR4 ldrh w0, [x0,1132] cmp w0, w19 - bls .L1278 + bls .L1285 add x0, x21, :lo12:.LANCHOR0 sxtw x22, w19 add x1, x22, 208 @@ -8106,31 +8156,31 @@ pm_free_sblk: ldrh w1, [x4,692] sdiv w1, w1, w2 cmp w1, w3 - bne .L1257 + bne .L1264 ldrb w1, [x0,3244] ldrh w0, [x0,3276] mul w0, w1, w0 strh w0, [x28,w19,sxtw 1] -.L1257: +.L1264: ldrh w0, [x28,x22,lsl 1] cmp w20, w0 - bls .L1258 + bls .L1265 cmp w0, wzr csel w25, w25, w19, eq csel w20, w20, w0, eq -.L1258: - cbnz w0, .L1260 +.L1265: + cbnz w0, .L1267 mov w0, 65535 cmp w3, w0 - beq .L1260 + beq .L1267 ldr w0, [x26,#:lo12:.LANCHOR2] - tbz x0, 12, .L1261 + tbz x0, 12, .L1268 ldrh w4, [x4,688] mov x0, x24 mov w1, w19 mov w2, 0 bl printk -.L1261: +.L1268: add x1, x21, :lo12:.LANCHOR0 add x22, x22, 208 str x1, [x29,104] @@ -8143,11 +8193,11 @@ pm_free_sblk: ldrh w1, [x0,688] sub w1, w1, #1 strh w1, [x0,688] -.L1260: +.L1267: add w19, w19, 1 uxth w19, w19 - b .L1256 -.L1278: + b .L1263 +.L1285: mov w0, w25 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8178,7 +8228,7 @@ flash_into_data_init: ldr w0, [x1,#:lo12:.LANCHOR2] stp x19, x20, [sp,16] mov x20, x1 - tbz x0, 12, .L1281 + tbz x0, 12, .L1288 adrp x2, .LANCHOR3 adrp x0, .LC115 add x2, x2, :lo12:.LANCHOR3 @@ -8186,7 +8236,7 @@ flash_into_data_init: mov w1, 100 add x2, x2, 112 bl printk -.L1281: +.L1288: adrp x19, .LANCHOR0 mov w1, 0 add x19, x19, :lo12:.LANCHOR0 @@ -8221,14 +8271,14 @@ flash_into_data_init: .type ftl_memcpy32, %function ftl_memcpy32: mov x3, 0 -.L1286: +.L1293: cmp w2, w3 - bls .L1288 + bls .L1295 ldr w4, [x1,x3,lsl 2] str w4, [x0,x3,lsl 2] add x3, x3, 1 - b .L1286 -.L1288: + b .L1293 +.L1295: ret .size ftl_memcpy32, .-ftl_memcpy32 .align 2 @@ -8250,17 +8300,17 @@ js_hash: mov w0, 42982 mov x2, 0 movk w0, 0x47c6, lsl 16 -.L1291: +.L1298: cmp w1, w2 - bls .L1293 + bls .L1300 lsl w3, w0, 5 ldrb w4, [x5,x2] add w3, w3, w0, lsr 2 add x2, x2, 1 add w3, w3, w4 eor w0, w0, w3 - b .L1291 -.L1293: + b .L1298 +.L1300: ret .size js_hash, .-js_hash .align 2 @@ -8385,13 +8435,13 @@ flash_sram_load_store: add x29, sp, 0 ldr x4, [x4,#:lo12:.LANCHOR4+1152] add x4, x4, 4096 - cbnz w2, .L1300 + cbnz w2, .L1307 add x1, x4, x1 - b .L1302 -.L1300: + b .L1309 +.L1307: add x0, x4, x1 mov x1, x6 -.L1302: +.L1309: mov w2, w3 bl ftl_memcpy ldp x29, x30, [sp], 16 @@ -8590,42 +8640,42 @@ rknand_print_hex: add x23, x23, :lo12:.LC117 add x21, x21, :lo12:.LC118 add x24, x24, :lo12:.LC1 -.L1317: +.L1324: cmp x19, x26 - beq .L1325 - cbnz w20, .L1318 + beq .L1332 + cbnz w20, .L1325 mov x0, x23 mov x1, x27 mov x2, x22 mov w3, w19 bl printk -.L1318: +.L1325: cmp w25, 4 mov x0, x21 - bne .L1319 + bne .L1326 ldr w1, [x22,x19,lsl 2] - b .L1324 -.L1319: + b .L1331 +.L1326: cmp w25, 2 - bne .L1321 + bne .L1328 ldrsh w1, [x22,x19,lsl 1] - b .L1324 -.L1321: + b .L1331 +.L1328: ldrb w1, [x22,x19] -.L1324: +.L1331: bl printk add w20, w20, 1 cmp w20, 15 - bls .L1322 + bls .L1329 adrp x1, .LC119 mov x0, x24 add x1, x1, :lo12:.LC119 mov w20, 0 bl printk -.L1322: +.L1329: add x19, x19, 1 - b .L1317 -.L1325: + b .L1324 +.L1332: adrp x0, .LC1 adrp x1, .LC119 add x1, x1, :lo12:.LC119 @@ -8668,30 +8718,30 @@ hynix_get_read_retry_default: add x26, x27, 128 strb w1, [x27,130] strb w0, [x27,131] - bne .L1327 + bne .L1334 ldr x1, [x29,136] mov w0, -89 strb w0, [x1,16] adrp x0, .LANCHOR2+425 mov w1, -9 strb w1, [x0,#:lo12:.LANCHOR2+425] - b .L1382 -.L1327: + b .L1389 +.L1334: cmp w25, 3 - bne .L1329 + bne .L1336 mov x4, 0 -.L1330: +.L1337: sub w0, w4, #80 strb w0, [x26,x4] add x4, x4, 1 cmp x4, 8 - bne .L1330 + bne .L1337 mov w21, w4 mov w28, w4 - b .L1328 -.L1329: + b .L1335 +.L1336: cmp w25, 4 - bne .L1331 + bne .L1338 mov w4, -52 strb w4, [x27,128] mov w4, -65 @@ -8707,10 +8757,10 @@ hynix_get_read_retry_default: strb w1, [x27,134] strb w4, [x27,132] strb w0, [x27,135] - b .L1328 -.L1331: + b .L1335 +.L1338: cmp w25, 5 - bne .L1332 + bne .L1339 mov w0, 56 strb w0, [x27,128] mov w0, 57 @@ -8720,10 +8770,10 @@ hynix_get_read_retry_default: strb w0, [x27,130] mov w0, 59 strb w0, [x27,131] - b .L1416 -.L1332: + b .L1423 +.L1339: cmp w25, 6 - bne .L1333 + bne .L1340 mov w0, 14 strb w0, [x27,128] mov w0, 15 @@ -8733,32 +8783,32 @@ hynix_get_read_retry_default: strb w0, [x27,130] mov w0, 17 strb w0, [x27,131] - b .L1416 -.L1333: + b .L1423 +.L1340: cmp w25, 7 - bne .L1382 + bne .L1389 mov x0, 0 -.L1334: +.L1341: sub w1, w0, #80 strb w1, [x26,x0] add x0, x0, 1 cmp x0, 8 - bne .L1334 + bne .L1341 mov w0, -44 mov w21, 12 strb w0, [x27,136] mov w28, 10 mov w0, -43 strb w0, [x27,137] - b .L1328 -.L1382: + b .L1335 +.L1389: mov w21, 7 -.L1416: +.L1423: mov w28, 4 -.L1328: +.L1335: sub w0, w25, #1 cmp w0, 1 - bhi .L1413 + bhi .L1420 ldr x0, [x29,128] adrp x24, .LANCHOR2 add x24, x24, :lo12:.LANCHOR2 @@ -8766,10 +8816,10 @@ hynix_get_read_retry_default: add x19, x0, :lo12:.LANCHOR0 mov w27, 55 add x24, x24, 408 -.L1335: +.L1342: ldrb w0, [x19,98] cmp w0, w23 - bls .L1342 + bls .L1349 add x0, x19, x23, sxtw ldr x2, [x29,136] ldrb w0, [x0,200] @@ -8780,7 +8830,7 @@ hynix_get_read_retry_default: madd x20, x0, x20, x2 add x22, x22, x1 add x20, x20, 32 -.L1337: +.L1344: str w27, [x22,2056] ldrb w0, [x26,x25] str w0, [x22,2052] @@ -8790,12 +8840,12 @@ hynix_get_read_retry_default: strb w0, [x20,x25] add x25, x25, 1 cmp w28, w25, uxtb - bhi .L1337 + bhi .L1344 mov x0, 0 -.L1338: +.L1345: add w2, w0, 8 mov x1, 0 -.L1339: +.L1346: add x3, x1, x0 add x1, x1, 4 add x3, x24, x3 @@ -8805,10 +8855,10 @@ hynix_get_read_retry_default: add w3, w5, w3 strb w3, [x20,w2,sxtw] add w2, w2, 8 - bne .L1339 + bne .L1346 add x0, x0, 1 cmp x0, 4 - bne .L1338 + bne .L1345 add w23, w23, 1 strb wzr, [x20,16] strb wzr, [x20,24] @@ -8818,11 +8868,11 @@ hynix_get_read_retry_default: strb wzr, [x20,48] strb wzr, [x20,41] strb wzr, [x20,49] - b .L1335 -.L1413: + b .L1342 +.L1420: sub w0, w25, #3 cmp w0, 4 - bhi .L1342 + bhi .L1349 mul w0, w28, w21 sub w23, w28, #1 mov w20, 0 @@ -8836,13 +8886,13 @@ hynix_get_read_retry_default: adrp x26, .LANCHOR4 add x0, x23, 1 str x0, [x29,112] -.L1343: +.L1350: ldr x0, [x29,128] add x0, x0, :lo12:.LANCHOR0 ldrb w1, [x0,98] cmp w1, w20 - bhi .L1381 -.L1342: + bhi .L1388 +.L1349: ldr x0, [x29,136] strb w28, [x0,1] strb w21, [x0,2] @@ -8853,7 +8903,7 @@ hynix_get_read_retry_default: ldp x27, x28, [sp,80] ldp x29, x30, [sp], 144 ret -.L1381: +.L1388: add x1, x0, x20, sxtw ldrb w1, [x1,200] ldr x0, [x0,16] @@ -8871,28 +8921,28 @@ hynix_get_read_retry_default: cmp w25, 4 str w0, [x23,2056] ldr x1, [x29,104] - bne .L1344 + bne .L1351 mov w0, 64 str w1, [x23,2052] str w0, [x23,2048] mov w0, 204 - b .L1417 -.L1344: + b .L1424 +.L1351: cmp w19, 1 - bhi .L1346 + bhi .L1353 ldrb w0, [x27,128] str w0, [x23,2052] mov w0, 82 - b .L1418 -.L1346: + b .L1425 +.L1353: mov w0, 174 str w0, [x23,2052] str wzr, [x23,2048] mov w0, 176 -.L1417: +.L1424: str w0, [x23,2052] mov w0, 77 -.L1418: +.L1425: str w0, [x23,2048] mov w0, 22 str w0, [x23,2056] @@ -8906,13 +8956,13 @@ hynix_get_read_retry_default: str wzr, [x23,2056] str wzr, [x23,2052] str wzr, [x23,2052] - bne .L1347 + bne .L1354 mov w0, 31 str w0, [x23,2052] - b .L1348 -.L1347: + b .L1355 +.L1354: str wzr, [x23,2052] -.L1348: +.L1355: mov w7, 2 str w7, [x23,2052] str wzr, [x23,2052] @@ -8922,89 +8972,89 @@ hynix_get_read_retry_default: bl nandc_wait_flash_ready cmp w19, 1 mov w1, 16 - bls .L1350 + bls .L1357 ldr x7, [x29,104] cmp w25, 7 mov w1, 32 csel w1, w1, w7, eq -.L1350: +.L1357: adrp x0, .LANCHOR4 mov x7, 0 add x0, x0, :lo12:.LANCHOR4 ldr x0, [x0,1160] -.L1351: +.L1358: ldr w8, [x23,2048] strb w8, [x0,x7] add x7, x7, 1 cmp w1, w7, uxtb - bhi .L1351 + bhi .L1358 cmp w25, 7 - bne .L1352 + bne .L1359 mov w1, 0 -.L1354: +.L1361: ldrb w7, [x0] cmp w7, 12 - beq .L1353 + beq .L1360 ldrb w7, [x0,1] cmp w7, 10 - beq .L1353 + beq .L1360 add w1, w1, 1 add x0, x0, 4 uxtb w1, w1 cmp w1, 8 - bne .L1354 - b .L1355 -.L1353: + bne .L1361 + b .L1362 +.L1360: cmp w1, 7 - bne .L1356 -.L1355: + bne .L1363 +.L1362: adrp x0, .LC120 mov w1, 0 add x0, x0, :lo12:.LC120 bl printk -.L1357: - b .L1357 -.L1352: +.L1364: + b .L1364 +.L1359: cmp w25, 6 - bne .L1356 + bne .L1363 mov x1, 0 -.L1358: +.L1365: ldrb w7, [x0,x1] cmp w7, 12 - beq .L1356 + beq .L1363 add x7, x0, x1 ldrb w7, [x7,8] cmp w7, 4 - beq .L1356 + beq .L1363 add x1, x1, 1 cmp x1, 8 - bne .L1358 + bne .L1365 adrp x0, .LC120 mov w1, 0 add x0, x0, :lo12:.LC120 bl printk -.L1360: - b .L1360 -.L1356: +.L1367: + b .L1367 +.L1363: add x0, x26, :lo12:.LANCHOR4 ldr x9, [x0,1160] mov x0, 0 -.L1361: +.L1368: ldr w1, [x29,120] cmp w1, w0 - ble .L1420 + ble .L1427 ldr w1, [x23,2048] strb w1, [x9,x0] add x0, x0, 1 - b .L1361 -.L1420: + b .L1368 +.L1427: add x0, x26, :lo12:.LANCHOR4 mov w8, w22 mov w7, 8 ldr x11, [x0,1160] -.L1364: +.L1371: mov w0, 0 -.L1363: +.L1370: add w1, w0, w8 add w0, w0, 1 sbfiz x1, x1, 2, 32 @@ -9012,54 +9062,54 @@ hynix_get_read_retry_default: ldr w10, [x11,x1] mvn w10, w10 str w10, [x11,x1] - bne .L1363 + bne .L1370 ldr w0, [x29,124] subs w7, w7, #1 add w8, w8, w0 - bne .L1364 + bne .L1371 mov x7, 0 mov w15, 1 -.L1365: +.L1372: add x0, x26, :lo12:.LANCHOR4 mov w1, 0 mov w10, w1 ldr x14, [x0,1160] -.L1369: +.L1376: lsl w8, w15, w10 mov w12, w7 mov w0, 16 mov w11, 0 -.L1367: +.L1374: ldr w13, [x14,w12,sxtw 2] add w12, w12, w22 and w13, w8, w13 cmp w13, w8 csinc w11, w11, w11, ne subs w0, w0, #1 - bne .L1367 + bne .L1374 cmp w11, 9 orr w8, w1, w8 add w10, w10, 1 csel w1, w8, w1, cs cmp w10, 32 - bne .L1369 + bne .L1376 str w1, [x14,x7,lsl 2] add x7, x7, 1 cmp w22, w7 - bgt .L1365 + bgt .L1372 add x1, x26, :lo12:.LANCHOR4 mov x7, 0 mov w8, w7 ldr x1, [x1,1160] -.L1372: +.L1379: ldr w10, [x1,x7] add x7, x7, 4 cmp w10, wzr csinc w8, w8, w8, ne cmp x7, 32 - bne .L1372 + bne .L1379 cmp w8, 7 - ble .L1373 + ble .L1380 adrp x0, .LC121 mov w2, 1 add x0, x0, :lo12:.LC121 @@ -9069,39 +9119,39 @@ hynix_get_read_retry_default: mov w1, 0 add x0, x0, :lo12:.LC120 bl printk -.L1374: - b .L1374 -.L1373: +.L1381: + b .L1381 +.L1380: cmp w25, 6 mov w7, 4 - beq .L1375 + beq .L1382 cmp w25, 7 mov w7, 10 mov w1, 8 csel w7, w1, w7, ne -.L1375: +.L1382: mov w8, 0 -.L1376: +.L1383: mov x1, 0 -.L1377: +.L1384: add w10, w0, w1 ldrb w11, [x9,x1] add x1, x1, 1 cmp w28, w1, uxtb strb w11, [x24,w10,sxtw] - bhi .L1377 + bhi .L1384 add w8, w8, 1 ldr x1, [x29,112] cmp w8, w21 add w0, w0, w7 add x9, x9, x1 - blt .L1376 + blt .L1383 mov w24, 255 str w24, [x23,2056] bl nandc_wait_flash_ready cmp w19, 1 mov w0, 56 - bhi .L1419 + bhi .L1426 mov w0, 54 str w0, [x23,2056] ldrb w0, [x27,128] @@ -9116,12 +9166,12 @@ hynix_get_read_retry_default: str w24, [x23,2052] str w24, [x23,2052] str w24, [x23,2052] -.L1419: +.L1426: str w0, [x23,2056] add w20, w20, 1 bl nandc_wait_flash_ready uxtb w20, w20 - b .L1343 + b .L1350 .size hynix_get_read_retry_default, .-hynix_get_read_retry_default .align 2 .global flash_get_read_retry_tbl @@ -9134,9 +9184,9 @@ flash_get_read_retry_tbl: sub w1, w0, #1 uxtb w1, w1 cmp w1, 6 - bhi .L1421 + bhi .L1428 bl hynix_get_read_retry_default -.L1421: +.L1428: ldp x29, x30, [sp], 16 ret .size flash_get_read_retry_tbl, .-flash_get_read_retry_tbl @@ -9159,51 +9209,51 @@ nandc_xfer_done: strb wzr, [x1,1168] ldrb w1, [x19,#:lo12:.LANCHOR0] cmp w1, 9 - bne .L1424 + bne .L1431 ldr x24, [x20,16] ldr w0, [x24,16] str w0, [x29,64] ldr w20, [x24,48] ubfx x20, x20, 1, 1 - cbnz w20, .L1444 + cbnz w20, .L1451 adrp x21, .LC125 adrp x23, .LC124 add x21, x21, :lo12:.LC125 add x23, x23, :lo12:.LC124 - b .L1426 -.L1444: + b .L1433 +.L1451: adrp x21, .LC123 adrp x22, .LC124 mov w20, 0 add x21, x21, :lo12:.LC123 add x22, x22, :lo12:.LC124 -.L1425: +.L1432: ldr w2, [x24,64] ldr w1, [x29,64] ubfx x2, x2, 16, 6 ubfx x1, x1, 22, 6 cmp w2, w1 - bge .L1428 + bge .L1435 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,16] ldr w0, [x0] str w0, [x29,72] ldr w0, [x29,72] - tbz x0, 13, .L1427 + tbz x0, 13, .L1434 ldr w0, [x29,72] - tbz x0, 17, .L1427 + tbz x0, 17, .L1434 ldr w1, [x29,72] adrp x0, .LC122 add x0, x0, :lo12:.LC122 ubfx x1, x1, 17, 1 bl printk - b .L1428 -.L1427: + b .L1435 +.L1434: ldr w0, [x29,64] add w20, w20, 1 ubfx x0, x0, 22, 6 cmp w20, w0, lsl 12 - bne .L1425 + bne .L1432 ldr w2, [x24,64] mov w1, w20 ldr w3, [x29,64] @@ -9218,15 +9268,15 @@ nandc_xfer_done: ldr x1, [x1,16] bl rknand_print_hex ldr w0, [x29,72] - tbz x0, 13, .L1425 + tbz x0, 13, .L1432 add x0, x23, :lo12:.LANCHOR4 mov w1, 1 strb w1, [x0,1168] -.L1428: +.L1435: add x20, x19, :lo12:.LANCHOR0 add x20, x20, 144 ldr w0, [x20,32] - cbz w0, .L1432 + cbz w0, .L1439 ldr w1, [x29,64] mov w2, 0 ldr w0, [x20,24] @@ -9237,15 +9287,15 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 2 - b .L1472 -.L1434: + b .L1479 +.L1441: add x22, x19, :lo12:.LANCHOR0 add w20, w20, 1 ldr x0, [x22,16] ldr w0, [x0,16] str w0, [x29,64] and w0, w20, 16777215 - cbnz w0, .L1426 + cbnz w0, .L1433 ldr w2, [x29,64] mov w1, w20 ldr w3, [x24,64] @@ -9257,13 +9307,13 @@ nandc_xfer_done: mov w2, 4 mov w3, 64 bl rknand_print_hex -.L1426: +.L1433: ldr w0, [x29,64] - tbz x0, 20, .L1434 + tbz x0, 20, .L1441 add x20, x19, :lo12:.LANCHOR0 add x20, x20, 144 ldr w0, [x20,32] - cbz w0, .L1432 + cbz w0, .L1439 ldr w1, [x29,64] mov w2, 1 ldr w0, [x20,24] @@ -9274,49 +9324,49 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 2 - b .L1471 -.L1424: + b .L1478 +.L1431: ldr x23, [x20,16] ldr w0, [x23,8] str w0, [x29,64] ldr w20, [x23,16] ubfx x20, x20, 1, 1 - cbnz w20, .L1445 + cbnz w20, .L1452 adrp x21, .LC125 adrp x24, .LC124 add x21, x21, :lo12:.LC125 add x24, x24, :lo12:.LC124 - b .L1437 -.L1445: + b .L1444 +.L1452: adrp x21, .LC123 adrp x22, .LC124 mov w20, 0 add x21, x21, :lo12:.LC123 add x22, x22, :lo12:.LC124 -.L1436: +.L1443: ldr w2, [x23,28] ldr w1, [x29,64] ubfx x2, x2, 16, 5 ubfx x1, x1, 22, 6 cmp w2, w1 - bge .L1439 + bge .L1446 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,16] ldr w0, [x0] str w0, [x29,72] ldr w0, [x29,72] - tbz x0, 13, .L1438 + tbz x0, 13, .L1445 ldr w0, [x29,72] - tbz x0, 17, .L1438 + tbz x0, 17, .L1445 ldr w1, [x29,72] adrp x0, .LC126 add x0, x0, :lo12:.LC126 bl printk - b .L1439 -.L1438: + b .L1446 +.L1445: add w20, w20, 1 and w0, w20, 16777215 - cbnz w0, .L1436 + cbnz w0, .L1443 ldr w2, [x23,28] mov w1, w20 ldr w3, [x29,64] @@ -9330,12 +9380,12 @@ nandc_xfer_done: mov w3, 64 ldr x1, [x1,16] bl rknand_print_hex - b .L1436 -.L1439: + b .L1443 +.L1446: add x20, x19, :lo12:.LANCHOR0 add x20, x20, 144 ldr w0, [x20,32] - cbz w0, .L1432 + cbz w0, .L1439 ldr w1, [x29,64] mov w2, 0 ldr w0, [x20,24] @@ -9346,17 +9396,17 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 7 -.L1472: +.L1479: mov w2, 0 - b .L1470 -.L1443: + b .L1477 +.L1450: add x22, x19, :lo12:.LANCHOR0 add w20, w20, 1 ldr x0, [x22,16] ldr w0, [x0,8] str w0, [x29,64] and w0, w20, 16777215 - cbnz w0, .L1437 + cbnz w0, .L1444 ldr w2, [x29,64] mov w1, w20 ldr w3, [x23,28] @@ -9368,13 +9418,13 @@ nandc_xfer_done: mov w2, 4 mov w3, 64 bl rknand_print_hex -.L1437: +.L1444: ldr w0, [x29,64] - tbz x0, 20, .L1443 + tbz x0, 20, .L1450 add x20, x19, :lo12:.LANCHOR0 add x20, x20, 144 ldr w0, [x20,32] - cbz w0, .L1432 + cbz w0, .L1439 ldr w1, [x29,64] mov w2, 1 ldr w0, [x20,24] @@ -9385,11 +9435,11 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 7 -.L1471: +.L1478: mov w2, 1 -.L1470: +.L1477: bl rknand_dma_unmap_single -.L1432: +.L1439: add x19, x19, :lo12:.LANCHOR0 ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9418,19 +9468,19 @@ nandc_xfer: bl nandc_xfer_start bl nandc_xfer_done mov w0, 0 - cbnz w20, .L1503 + cbnz w20, .L1510 adrp x19, .LANCHOR0 add x3, x19, :lo12:.LANCHOR0 ldrb w1, [x19,#:lo12:.LANCHOR0] cmp w1, 9 - bne .L1475 + bne .L1482 ldr x5, [x3,16] lsr w22, w22, 2 mov w4, 1 mov w3, w0 -.L1476: +.L1483: cmp w3, w22 - bcs .L1512 + bcs .L1519 uxtw x1, w3 add x1, x1, 84 ldr w1, [x5,x1,lsl 2] @@ -9442,30 +9492,30 @@ nandc_xfer: and w1, w1, w2 and w4, w4, w1 ldr w1, [x29,72] - tbnz x1, 2, .L1495 + tbnz x1, 2, .L1502 ldr w1, [x29,72] - tbnz x1, 18, .L1495 + tbnz x1, 18, .L1502 ldr w2, [x29,72] ldr w1, [x29,72] ubfx x2, x2, 3, 7 ubfx x1, x1, 19, 7 cmp w2, w1 ldr w1, [x29,72] - ble .L1478 + ble .L1485 ubfx x1, x1, 3, 7 - b .L1479 -.L1478: + b .L1486 +.L1485: ubfx x1, x1, 19, 7 -.L1479: +.L1486: cmp w0, w1 csel w0, w0, w1, cs - b .L1477 -.L1495: + b .L1484 +.L1502: mov w0, -1 -.L1477: +.L1484: add w3, w3, 1 - b .L1476 -.L1512: + b .L1483 +.L1519: add x22, x19, :lo12:.LANCHOR0 cmp w4, wzr ldr x1, [x22,16] @@ -9476,7 +9526,7 @@ nandc_xfer: movk w1, 0x2, lsl 16 and w1, w20, w1 cmp w1, 139264 - bne .L1482 + bne .L1489 adrp x0, .LC127 mov w1, w20 add x0, x0, :lo12:.LC127 @@ -9485,11 +9535,11 @@ nandc_xfer: ldr x0, [x22,16] str w20, [x0] mov w0, -1 -.L1482: - tbz x20, 13, .L1483 +.L1489: + tbz x20, 13, .L1490 adrp x1, .LANCHOR4+1168 ldrb w1, [x1,#:lo12:.LANCHOR4+1168] - cbz w1, .L1483 + cbz w1, .L1490 adrp x0, .LC128 mov w1, w20 add x0, x0, :lo12:.LC128 @@ -9498,8 +9548,8 @@ nandc_xfer: ldr x0, [x19,16] mov w1, 1 str w1, [x0,16] - b .L1484 -.L1475: + b .L1491 +.L1482: ldrb w0, [x3,188] mov w5, 128 lsr w6, w22, 1 @@ -9509,10 +9559,10 @@ nandc_xfer: csel w5, w0, w5, cc mov w1, w20 mov w4, w20 -.L1486: +.L1493: cmp w4, w6 add w7, w1, w5 - bcs .L1513 + bcs .L1520 ldr x0, [x3,144] and x1, x1, 4294967292 ldr w0, [x0,x1] @@ -9529,24 +9579,24 @@ nandc_xfer: add w2, w2, 4 strb w0, [x23,x1] mov w1, w7 - b .L1486 -.L1513: + b .L1493 +.L1520: add x0, x19, :lo12:.LANCHOR0 mov w2, 0 lsr w22, w22, 2 ldr x6, [x0,16] mov w0, w2 -.L1488: +.L1495: cmp w2, w22 - bcs .L1514 + bcs .L1521 uxtw x1, w2 add x1, x1, 8 ldr w1, [x6,x1,lsl 2] str w1, [x29,72] ldr w1, [x29,72] - tbnz x1, 2, .L1498 + tbnz x1, 2, .L1505 ldr w1, [x29,72] - tbnz x1, 15, .L1498 + tbnz x1, 15, .L1505 ldr w3, [x29,72] ubfx x5, x3, 3, 5 ldr w3, [x29,72] @@ -9559,26 +9609,26 @@ nandc_xfer: orr w1, w4, w1, lsl 5 cmp w3, w1 ldr w1, [x29,72] - bls .L1490 + bls .L1497 ubfx x3, x1, 3, 5 ldr w1, [x29,72] ubfx x1, x1, 27, 1 - b .L1511 -.L1490: + b .L1518 +.L1497: ubfx x3, x1, 16, 5 ldr w1, [x29,72] ubfx x1, x1, 29, 1 -.L1511: +.L1518: orr w1, w3, w1, lsl 5 cmp w0, w1 csel w0, w0, w1, cs - b .L1489 -.L1498: + b .L1496 +.L1505: mov w0, -1 -.L1489: +.L1496: add w2, w2, 1 - b .L1488 -.L1514: + b .L1495 +.L1521: add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,16] str wzr, [x1,16] @@ -9587,7 +9637,7 @@ nandc_xfer: movk w1, 0x2, lsl 16 and w1, w20, w1 cmp w1, 139264 - bne .L1483 + bne .L1490 adrp x0, .LC129 mov w1, w20 add x0, x0, :lo12:.LC129 @@ -9595,24 +9645,24 @@ nandc_xfer: bl printk ldr x0, [x19,16] str w20, [x0] - b .L1484 -.L1483: + b .L1491 +.L1490: cmn w0, #1 - beq .L1503 + beq .L1510 ldr w1, [x23] cmn w1, #1 - bne .L1503 + bne .L1510 ldr w1, [x23,4] cmn w1, #1 - bne .L1503 + bne .L1510 ldr w1, [x21] cmn w1, #1 mov w1, 512 csel w0, w0, w1, ne - b .L1503 -.L1484: + b .L1510 +.L1491: mov w0, -1 -.L1503: +.L1510: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -9642,36 +9692,36 @@ flash_read_page: and w20, w1, 2097151 ubfx x24, x23, 24, 2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1516 + tbz x0, 4, .L1523 adrp x0, .LC130 mov w1, w21 add x0, x0, :lo12:.LC130 mov w2, w24 mov w3, w23 bl printk -.L1516: +.L1523: bl nandc_wait_flash_ready mov w0, w21 bl nandc_cs - cbnz w24, .L1517 + cbnz w24, .L1524 mov w0, w21 bl zftl_flash_enter_slc_mode - b .L1518 -.L1517: + b .L1525 +.L1524: add x0, x22, :lo12:.LANCHOR0 ldr x0, [x0,88] ldrb w0, [x0,12] cmp w0, 3 - bne .L1519 + bne .L1526 sxtw x0, w21 add x0, x0, 8 add x0, x19, x0, lsl 8 str w24, [x0,8] - b .L1518 -.L1519: + b .L1525 +.L1526: mov w0, w21 bl zftl_flash_exit_slc_mode -.L1518: +.L1525: ubfiz x5, x21, 8, 8 and w23, w23, 255 add x19, x19, x5 @@ -9685,19 +9735,19 @@ flash_read_page: str w0, [x19,2052] mov w0, 48 str w0, [x19,2056] - cbz w24, .L1520 + cbz w24, .L1527 add x22, x22, :lo12:.LANCHOR0 ldr x0, [x22,88] ldrb w0, [x0,12] cmp w0, 3 - bne .L1520 + bne .L1527 add w20, w20, w20, lsl 1 sub w0, w20, #1 add w0, w0, w24 - b .L1531 -.L1520: + b .L1538 +.L1527: mov w0, w20 -.L1531: +.L1538: bl nandc_set_seed bl nandc_wait_flash_ready mov w0, 5 @@ -9732,39 +9782,39 @@ micron_read_retrial: add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR0 + mov w20, 0 add x19, x19, :lo12:.LANCHOR0 - str w5, [x29,120] + str w4, [x29,120] stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - uxtb w25, w0 - mov w22, w2 - ldrb w20, [x19,188] + uxtb w24, w0 + mov w21, w1 + ldrb w0, [x19,188] + mov x25, x2 mov x26, x3 - mov x27, x4 - mov w21, 0 - adrp x24, .LANCHOR4 - add w20, w20, w20, lsl 1 - asr w0, w20, 2 + mov w28, -1 + adrp x23, .LANCHOR4 + add w0, w0, w0, lsl 1 + asr w0, w0, 2 str w0, [x29,124] - mov w20, -1 bl nandc_wait_flash_ready - ldr x23, [x19,16] - uxtb x19, w25 + ldr x22, [x19,16] + uxtb x19, w24 lsl x0, x19, 8 str x0, [x29,112] adrp x0, .LC131 add x0, x0, :lo12:.LC131 str x0, [x29,104] -.L1533: - add x0, x24, :lo12:.LANCHOR4 +.L1540: + add x0, x23, :lo12:.LANCHOR4 ldrb w0, [x0,1184] - cmp w21, w0 - bcs .L1537 + cmp w20, w0 + bcs .L1544 ldr x0, [x29,112] - add w28, w21, 1 - add x1, x23, x0 + add w27, w20, 1 + add x1, x22, x0 mov w0, 239 str x1, [x29,96] str w0, [x1,2056] @@ -9773,47 +9823,47 @@ micron_read_retrial: mov w0, 200 bl timer_delay_ns ldr x1, [x29,96] - mov w0, w25 + mov w0, w24 ldr w4, [x29,120] - mov x2, x26 - mov x3, x27 - str w28, [x1,2048] + mov x2, x25 + mov x3, x26 + str w27, [x1,2048] str wzr, [x1,2048] str wzr, [x1,2048] str wzr, [x1,2048] - mov w1, w22 + mov w1, w21 bl flash_read_page mov w6, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L1534 + tbz x0, 12, .L1541 ldr x0, [x29,104] - mov w1, w21 - mov w2, w22 - mov w3, w21 - mov w4, w20 + mov w1, w20 + mov w2, w21 + mov w3, w20 + mov w4, w28 str x6, [x29,96] bl printk ldr x6, [x29,96] -.L1534: +.L1541: cmn w6, #1 - beq .L1535 + beq .L1542 adrp x0, .LANCHOR4 - cmn w20, #1 + cmn w28, #1 add x0, x0, :lo12:.LANCHOR4 - csel w20, w20, w6, ne - ldr x26, [x0,1160] - ldr x27, [x0,1176] + csel w28, w28, w6, ne + ldr x25, [x0,1160] + ldr x26, [x0,1176] ldr w0, [x29,124] cmp w6, w0 - bcc .L1542 -.L1535: - mov w21, w28 - b .L1533 + bcc .L1549 .L1542: - mov w20, w6 -.L1537: - add x19, x23, x19, lsl 8 + mov w20, w27 + b .L1540 +.L1549: + mov w28, w6 +.L1544: + add x19, x22, x19, lsl 8 mov w0, 239 str w0, [x19,2056] mov w0, 137 @@ -9825,26 +9875,26 @@ micron_read_retrial: ldr w0, [x29,124] str wzr, [x19,2048] str wzr, [x19,2048] - cmp w20, w0 - bcc .L1539 - cmn w20, #1 + cmp w28, w0 + bcc .L1546 + cmn w28, #1 mov w0, 256 - csel w20, w20, w0, eq -.L1539: - cmn w20, #1 - beq .L1543 - cmp w20, 256 - bne .L1540 -.L1543: + csel w28, w28, w0, eq +.L1546: + cmn w28, #1 + beq .L1550 + cmp w28, 256 + bne .L1547 +.L1550: adrp x0, .LC132 - mov w1, w21 + mov w1, w20 add x0, x0, :lo12:.LC132 - mov w2, w22 - mov w3, w21 - mov w4, w20 + mov w2, w21 + mov w3, w20 + mov w4, w28 bl printk -.L1540: - mov w0, w20 +.L1547: + mov w0, w28 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9857,230 +9907,229 @@ micron_read_retrial: .global toshiba_3d_read_retrial .type toshiba_3d_read_retrial, %function toshiba_3d_read_retrial: - stp x29, x30, [sp, -144]! - uxtb w0, w0 + stp x29, x30, [sp, -128]! add x29, sp, 0 stp x19, x20, [sp,16] stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] + mov w24, w1 + uxtb w22, w0 stp x27, x28, [sp,80] - uxtb w19, w1 - mov w25, w2 - str w0, [x29,128] + mov x26, x2 mov x27, x3 - mov x28, x4 - str w5, [x29,124] + str w4, [x29,124] adrp x20, .LANCHOR0 bl nandc_wait_flash_ready - add x0, x20, :lo12:.LANCHOR0 - ldrsw x22, [x29,128] - mov w1, 46 - mov w2, 56 - add x22, x22, 8 + ubfx x19, x24, 24, 2 + add x1, x20, :lo12:.LANCHOR0 + sxtw x0, w22 + mov w2, 46 + mov w3, 56 + add x0, x0, 8 mov w21, 10 - ldr x26, [x0,16] - lsl x22, x22, 8 - ldrb w0, [x0,189] - add x24, x26, x22 - cmp w0, 36 - csel w1, w2, w1, ne - cmp w0, 36 - mov w0, 26 - mov w23, w1 - csel w21, w21, w0, ne - cbnz w19, .L1557 + ldr x25, [x1,16] + lsl x0, x0, 8 + ldrb w1, [x1,189] + add x23, x25, x0 + cmp w1, 36 + csel w2, w3, w2, ne + str w2, [x29,112] + cmp w1, 36 + mov w1, 26 + csel w21, w21, w1, ne + cbnz w19, .L1564 + str x0, [x29,112] adrp x0, .LC133 - str x22, [x29,112] add x0, x0, :lo12:.LC133 mov w19, -1 - mov w23, 1 + mov w28, 1 str x0, [x29,104] - adrp x22, .LANCHOR4 -.L1564: +.L1571: add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,189] cmp w0, 36 - mov x0, x24 - bne .L1558 - mov w1, w23 + mov x0, x23 + bne .L1565 + mov w1, w28 mov w2, 0 bl toshiba_tlc_set_rr_para ldr x0, [x29,112] mov w1, 93 - add x0, x26, x0 + add x0, x25, x0 str w1, [x0,8] - b .L1559 -.L1558: - mov w1, w23 + b .L1566 +.L1565: + mov w1, w28 bl toshiba_3d_set_slc_rr_para -.L1559: +.L1566: ldr w4, [x29,124] - mov w1, w25 - ldrb w0, [x29,128] - mov x2, x27 - mov x3, x28 + mov w0, w22 + mov w1, w24 + mov x2, x26 + mov x3, x27 bl flash_read_page mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1560 + tbz x0, 4, .L1567 ldr x0, [x29,104] mov w3, w4 - mov w1, w23 - mov w2, w25 + mov w1, w28 + mov w2, w24 str x4, [x29,96] bl printk ldr x4, [x29,96] -.L1560: +.L1567: cmn w4, #1 - beq .L1561 - add x0, x22, :lo12:.LANCHOR4 + beq .L1568 + adrp x0, .LANCHOR4 cmn w19, #1 + add x0, x0, :lo12:.LANCHOR4 csel w19, w19, w4, ne - ldr x27, [x0,1160] - ldr x28, [x0,1176] + ldr x26, [x0,1160] + ldr x27, [x0,1176] add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,188] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1580 -.L1561: - add w23, w23, 1 - cmp w23, w21 - bne .L1564 - b .L1563 -.L1580: - mov w21, w23 + bcc .L1587 +.L1568: + add w28, w28, 1 + cmp w28, w21 + bne .L1571 + b .L1570 +.L1587: + mov w21, w28 mov w19, w4 -.L1563: +.L1570: add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,189] cmp w0, 36 - mov x0, x24 - bne .L1565 + mov x0, x23 + bne .L1572 mov w1, 0 mov w2, w1 - b .L1603 -.L1565: + b .L1610 +.L1572: mov w1, 0 bl toshiba_3d_set_slc_rr_para - b .L1566 -.L1557: + b .L1573 +.L1564: + mov x28, x0 adrp x0, .LC134 - orr w25, w25, w19, lsl 24 add x0, x0, :lo12:.LC134 mov w19, -1 mov w21, 1 - str x0, [x29,112] -.L1573: + str x0, [x29,104] +.L1580: add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,189] cmp w0, 36 - mov x0, x24 - bne .L1567 + mov x0, x23 + bne .L1574 mov w1, w21 mov w2, 1 bl toshiba_tlc_set_rr_para - add x0, x26, x22 + add x0, x25, x28 mov w1, 93 - b .L1602 -.L1567: + b .L1609 +.L1574: mov w1, w21 bl toshiba_3d_set_tlc_rr_para - add x0, x26, x22 + add x0, x25, x28 mov w1, 38 -.L1602: +.L1609: str w1, [x0,8] - mov x2, x27 - mov w1, w25 - mov x3, x28 + mov x2, x26 + mov w0, w22 + mov w1, w24 ldr w4, [x29,124] - ldrb w0, [x29,128] + mov x3, x27 bl flash_read_page mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1569 - ldr x0, [x29,112] + tbz x0, 4, .L1576 + ldr x0, [x29,104] mov w3, w4 mov w1, w21 - mov w2, w25 - str x4, [x29,104] + mov w2, w24 + str x4, [x29,96] bl printk - ldr x4, [x29,104] -.L1569: + ldr x4, [x29,96] +.L1576: cmn w4, #1 - beq .L1570 + beq .L1577 adrp x0, .LANCHOR4 cmn w19, #1 add x0, x0, :lo12:.LANCHOR4 csel w19, w19, w4, ne - ldr x27, [x0,1160] - ldr x28, [x0,1176] + ldr x26, [x0,1160] + ldr x27, [x0,1176] add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,188] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1581 -.L1570: + bcc .L1588 +.L1577: + ldr w0, [x29,112] add w21, w21, 1 - cmp w21, w23 - bne .L1573 - b .L1572 -.L1581: + cmp w21, w0 + bne .L1580 + b .L1579 +.L1588: mov w19, w4 -.L1572: +.L1579: add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,189] cmp w0, 36 - mov x0, x24 - bne .L1574 + mov x0, x23 + bne .L1581 mov w1, 0 mov w2, 1 -.L1603: +.L1610: bl toshiba_tlc_set_rr_para - b .L1566 -.L1574: + b .L1573 +.L1581: mov w1, 0 bl toshiba_3d_set_tlc_rr_para -.L1566: +.L1573: add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,189] cmp w0, 36 - bne .L1575 - ldr x0, [x29,128] - ubfiz x23, x0, 8, 8 + bne .L1582 + ubfiz x22, x22, 8, 8 mov w0, 85 - add x26, x26, x23 - str w0, [x26,2056] + add x25, x25, x22 + str w0, [x25,2056] mov w0, 255 - str wzr, [x26,2052] - str wzr, [x26,2048] - str w0, [x26,2056] -.L1575: + str wzr, [x25,2052] + str wzr, [x25,2048] + str w0, [x25,2056] +.L1582: add x20, x20, :lo12:.LANCHOR0 ldrb w0, [x20,188] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1576 + bcc .L1583 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1576: +.L1583: cmn w19, #1 - beq .L1582 + beq .L1589 cmp w19, 256 - bne .L1577 -.L1582: + bne .L1584 +.L1589: adrp x0, .LC135 mov w1, w21 add x0, x0, :lo12:.LC135 - mov w2, w25 + mov w2, w24 mov w3, w21 mov w4, w19 bl printk -.L1577: +.L1584: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp,16] @@ -10088,7 +10137,7 @@ toshiba_3d_read_retrial: ldp x23, x24, [sp,48] ldp x25, x26, [sp,64] ldp x27, x28, [sp,80] - ldp x29, x30, [sp], 144 + ldp x29, x30, [sp], 128 ret .size toshiba_3d_read_retrial, .-toshiba_3d_read_retrial .align 2 @@ -10098,18 +10147,18 @@ toshiba_read_retrial: stp x29, x30, [sp, -128]! add x29, sp, 0 stp x21, x22, [sp,32] + stp x25, x26, [sp,64] + stp x19, x20, [sp,16] stp x23, x24, [sp,48] stp x27, x28, [sp,80] - stp x19, x20, [sp,16] uxtb w23, w0 - str w2, [x29,124] - stp x25, x26, [sp,64] + str w1, [x29,124] + mov x26, x2 mov x27, x3 - mov x28, x4 - str w5, [x29,120] + str w4, [x29,120] adrp x19, .LANCHOR0 bl nandc_wait_flash_ready - mov w24, 0 + mov w25, 0 add x1, x19, :lo12:.LANCHOR0 sxtw x0, w23 add x21, x0, 8 @@ -10120,35 +10169,35 @@ toshiba_read_retrial: add x21, x22, x21, lsl 8 uxtb w0, w0 cmp w0, 1 - bls .L1605 + bls .L1612 ldrb w0, [x1,136] - cbz w0, .L1606 + cbz w0, .L1613 mov w0, 1 - mov w24, 1 + mov w25, 1 bl nandc_set_if_mode -.L1606: +.L1613: ubfiz x0, x23, 8, 8 mov w1, 92 add x0, x22, x0 str w1, [x0,2056] mov w1, 197 str w1, [x0,2056] -.L1605: +.L1612: ldr x0, [x29,112] mov w20, 1 - mov w25, -1 + mov w24, -1 add x0, x0, 8 lsl x0, x0, 8 str x0, [x29,104] ubfiz x0, x23, 8, 8 str x0, [x29,96] -.L1607: +.L1614: adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 ldrb w0, [x0,1184] add w0, w0, 1 cmp w20, w0 - bcs .L1638 + bcs .L1645 add x0, x19, :lo12:.LANCHOR0 mov w1, w20 ldrb w0, [x0,189] @@ -10156,33 +10205,33 @@ toshiba_read_retrial: uxtb w0, w0 cmp w0, 1 mov x0, x21 - bhi .L1608 + bhi .L1615 bl sandisk_set_rr_para - b .L1609 -.L1608: + b .L1616 +.L1615: bl toshiba_set_rr_para -.L1609: +.L1616: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,189] cmp w0, 34 - bne .L1610 + bne .L1617 adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 ldrb w0, [x0,1184] sub w0, w0, #3 cmp w20, w0 - bne .L1610 + bne .L1617 ldr x0, [x29,104] mov w1, 179 add x0, x22, x0 str w1, [x0,8] -.L1610: +.L1617: ldr x0, [x29,96] mov w1, 38 ldr w4, [x29,120] - mov x2, x27 + mov x2, x26 add x0, x22, x0 - mov x3, x28 + mov x3, x27 str w1, [x0,2056] mov w1, 93 str w1, [x0,2056] @@ -10190,25 +10239,25 @@ toshiba_read_retrial: ldr w1, [x29,124] bl flash_read_page cmn w0, #1 - mov w26, w0 - beq .L1613 - cmn w25, #1 - csel w25, w25, w0, ne + mov w28, w0 + beq .L1620 + cmn w24, #1 + csel w24, w24, w0, ne adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - ldr x27, [x0,1160] - ldr x28, [x0,1176] + ldr x26, [x0,1160] + ldr x27, [x0,1176] add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,188] add w0, w0, w0, lsl 1 - cmp w26, w0, lsr 2 - bcc .L1615 -.L1613: + cmp w28, w0, lsr 2 + bcc .L1622 +.L1620: add w20, w20, 1 - b .L1607 -.L1638: - mov w26, w25 -.L1615: + b .L1614 +.L1645: + mov w28, w24 +.L1622: add x0, x19, :lo12:.LANCHOR0 mov w1, 0 ldrb w0, [x0,189] @@ -10216,12 +10265,12 @@ toshiba_read_retrial: uxtb w0, w0 cmp w0, 1 mov x0, x21 - bhi .L1617 + bhi .L1624 bl sandisk_set_rr_para - b .L1618 -.L1617: + b .L1625 +.L1624: bl toshiba_set_rr_para -.L1618: +.L1625: ldr x0, [x29,112] add x19, x19, :lo12:.LANCHOR0 add x0, x0, 8 @@ -10230,31 +10279,31 @@ toshiba_read_retrial: str w0, [x22,8] ldrb w0, [x19,188] add w0, w0, w0, lsl 1 - cmp w26, w0, lsr 2 - bcc .L1619 - cmn w26, #1 + cmp w28, w0, lsr 2 + bcc .L1626 + cmn w28, #1 mov w0, 256 - csel w26, w26, w0, eq -.L1619: - cmn w26, #1 - beq .L1625 - cmp w26, 256 - bne .L1620 -.L1625: + csel w28, w28, w0, eq +.L1626: + cmn w28, #1 + beq .L1632 + cmp w28, 256 + bne .L1627 +.L1632: adrp x0, .LC135 ldr w2, [x29,124] add x0, x0, :lo12:.LC135 mov w1, w20 mov w3, w20 - mov w4, w26 + mov w4, w28 bl printk -.L1620: +.L1627: bl nandc_wait_flash_ready - cbz w24, .L1622 + cbz w25, .L1629 mov w0, 4 bl nandc_set_if_mode -.L1622: - mov w0, w26 +.L1629: + mov w0, w28 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -10277,11 +10326,11 @@ hynix_read_retrial: stp x25, x26, [sp,64] stp x19, x20, [sp,16] stp x23, x24, [sp,48] - str w5, [x29,124] - mov w23, w2 + mov x25, x2 + mov w23, w1 ldr x5, [x0,192] - mov x25, x3 - mov x26, x4 + mov x26, x3 + str w4, [x29,124] mov x22, x21 add x27, x5, 112 mov w19, -1 @@ -10291,9 +10340,9 @@ hynix_read_retrial: bl nandc_wait_flash_ready mov w6, 0 adrp x7, .LANCHOR4 -.L1640: +.L1647: cmp w6, w24 - bcs .L1644 + bcs .L1651 add w20, w20, 1 mov w0, w22 str x7, [x29,104] @@ -10312,7 +10361,7 @@ hynix_read_retrial: cmn w0, #1 ldr x6, [x29,112] ldr x7, [x29,104] - beq .L1642 + beq .L1649 add x1, x7, :lo12:.LANCHOR4 cmn w19, #1 csel w19, w19, w0, ne @@ -10322,29 +10371,29 @@ hynix_read_retrial: ldrb w1, [x1,188] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L1649 -.L1642: - add w6, w6, 1 - b .L1640 + bcc .L1656 .L1649: + add w6, w6, 1 + b .L1647 +.L1656: mov w19, w0 -.L1644: +.L1651: add x28, x28, :lo12:.LANCHOR0 add x21, x27, x21 ldrb w0, [x28,188] strb w20, [x21,8] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1646 + bcc .L1653 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1646: +.L1653: cmn w19, #1 - beq .L1650 + beq .L1657 cmp w19, 256 - bne .L1647 -.L1650: + bne .L1654 +.L1657: adrp x0, .LC136 mov w1, w6 add x0, x0, :lo12:.LC136 @@ -10352,7 +10401,7 @@ hynix_read_retrial: mov w3, w6 mov w4, w19 bl printk -.L1647: +.L1654: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10391,7 +10440,7 @@ flash_ddr_tunning_read: mov w21, 6 mov w19, -1 str x0, [x29,104] -.L1665: +.L1672: mov w0, w21 bl nandc_set_ddr_para ldr w4, [x29,116] @@ -10403,7 +10452,7 @@ flash_ddr_tunning_read: mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1660 + tbz x0, 4, .L1667 ldr x0, [x29,104] mov w3, w4 mov w1, w21 @@ -10411,10 +10460,10 @@ flash_ddr_tunning_read: str x4, [x29,96] bl printk ldr x4, [x29,96] -.L1660: +.L1667: add w0, w25, 1 cmp w4, w0 - bhi .L1661 + bhi .L1668 adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 ldr x23, [x0,1160] @@ -10423,62 +10472,62 @@ flash_ddr_tunning_read: add x0, x0, :lo12:.LANCHOR0 ldrb w0, [x0,188] cmp w4, w0, lsr 2 - bcs .L1670 + bcs .L1677 add w27, w27, 1 cmp w27, 7 - bls .L1670 + bls .L1677 sub w26, w21, w27 mov w25, w4 mov w19, 0 - b .L1663 -.L1661: + b .L1670 +.L1668: cmp w28, w27 - bcs .L1671 + bcs .L1678 cmp w27, 7 sub w22, w26, w27 - bhi .L1664 + bhi .L1671 mov w28, w27 - b .L1671 -.L1670: + b .L1678 +.L1677: mov w26, w21 mov w25, w4 mov w19, 0 - b .L1662 -.L1671: + b .L1669 +.L1678: mov w27, 0 -.L1662: +.L1669: add w21, w21, 2 cmp w21, 50 - bne .L1665 -.L1663: + bne .L1672 +.L1670: cmp w28, w27 csel w26, w26, w22, ls -.L1664: - cbz w26, .L1666 +.L1671: + cbz w26, .L1673 adrp x0, .LANCHOR0+188 mov w1, 3 ldrb w0, [x0,#:lo12:.LANCHOR0+188] udiv w0, w0, w1 cmp w25, w0 - bcs .L1666 + bcs .L1673 adrp x0, .LC138 mov w1, w26 add x0, x0, :lo12:.LC138 bl printk mov w0, w26 - b .L1679 -.L1666: + b .L1686 +.L1673: ldrb w0, [x29,120] -.L1679: +.L1686: bl nandc_set_ddr_para - cbz w19, .L1668 + cbz w19, .L1675 adrp x0, .LC139 ldr w1, [x29,124] add x0, x0, :lo12:.LC139 mov w2, w20 mov w25, w19 bl printk -.L1668: +.L1675: mov w0, w25 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10509,7 +10558,7 @@ flash_read_page_en: mov w23, w4 ubfx x26, x19, 24, 2 cmp w0, w21 - bhi .L1681 + bhi .L1688 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -10517,40 +10566,40 @@ flash_read_page_en: add x1, x1, 136 mov w2, 378 bl printk -.L1681: +.L1688: add x0, x20, :lo12:.LANCHOR0 add x21, x0, x21, sxtw adrp x0, .LANCHOR2 ldrb w22, [x21,200] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1682 + tbz x0, 4, .L1689 adrp x0, .LC140 mov w1, w22 add x0, x0, :lo12:.LC140 mov w2, w19 bl printk -.L1682: - cbnz w26, .L1683 +.L1689: + cbnz w26, .L1690 add x0, x20, :lo12:.LANCHOR0 ldrb w1, [x0,97] - cbz w1, .L1684 + cbz w1, .L1691 ldrb w0, [x0,208] - cbz w0, .L1683 -.L1684: + cbz w0, .L1690 +.L1691: add x1, x20, :lo12:.LANCHOR0 ldrh w2, [x1,210] udiv w0, w19, w2 mul w0, w0, w2 ldrb w2, [x1,208] sub w19, w19, w0 - cbz w2, .L1685 + cbz w2, .L1692 add w19, w0, w19, lsl 1 - b .L1683 -.L1685: + b .L1690 +.L1692: add x1, x1, 212 ldrh w19, [x1,w19,uxtw 1] add w19, w19, w0 -.L1683: +.L1690: mov w0, w22 mov w1, w19 mov x2, x25 @@ -10559,16 +10608,16 @@ flash_read_page_en: bl flash_read_page cmn w0, #1 mov w21, w0 - bne .L1692 + bne .L1699 add x26, x20, :lo12:.LANCHOR0 ldrb w27, [x26,184] - cbnz w27, .L1687 -.L1690: + cbnz w27, .L1694 +.L1697: adrp x0, .LANCHOR4+1192 - ldr x6, [x0,#:lo12:.LANCHOR4+1192] - cbnz x6, .L1688 - b .L1689 -.L1687: + ldr x5, [x0,#:lo12:.LANCHOR4+1192] + cbnz x5, .L1695 + b .L1696 +.L1694: mov w0, w22 mov w1, w19 mov x2, x25 @@ -10578,19 +10627,18 @@ flash_read_page_en: bl flash_read_page strb w27, [x26,184] cmn w0, #1 - beq .L1690 - b .L1708 -.L1688: + beq .L1697 + b .L1715 +.L1695: mov w0, w22 - mov w1, 0 - mov w2, w19 - mov x3, x25 - mov x4, x24 - mov w5, w23 - blr x6 + mov w1, w19 + mov x2, x25 + mov x3, x24 + mov w4, w23 + blr x5 cmn w0, #1 - bne .L1708 -.L1689: + bne .L1715 +.L1696: add x20, x20, :lo12:.LANCHOR0 adrp x0, .LC141 add x0, x0, :lo12:.LC141 @@ -10600,16 +10648,16 @@ flash_read_page_en: ldrb w4, [x20,184] bl printk ldrb w0, [x20,136] - cbz w0, .L1692 + cbz w0, .L1699 mov w0, w22 mov w1, w19 mov x2, x25 mov x3, x24 mov w4, w23 bl flash_ddr_tunning_read -.L1708: +.L1715: mov w21, w0 -.L1692: +.L1699: mov w0, w21 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -10648,12 +10696,12 @@ flash_get_last_written_page: add w1, w26, w19 bl flash_read_page_en cmp w0, 512 - bne .L1710 + bne .L1717 mov w28, 0 mov w5, 2 -.L1711: +.L1718: cmp w28, w19 - bgt .L1710 + bgt .L1717 add w0, w28, w19 mov x2, x24 mov x3, x21 @@ -10665,24 +10713,24 @@ flash_get_last_written_page: bl flash_read_page_en cmp w0, 512 ldr x5, [x29,104] - bne .L1712 + bne .L1719 sub w19, w20, #1 sxth w19, w19 - b .L1711 -.L1712: + b .L1718 +.L1719: add w20, w20, 1 sxth w28, w20 - b .L1711 -.L1710: + b .L1718 +.L1717: ldr w0, [x27,#:lo12:.LANCHOR2] - tbz x0, 12, .L1715 + tbz x0, 12, .L1722 adrp x0, .LC142 ldr w3, [x21] add x0, x0, :lo12:.LC142 mov w1, w22 mov w2, w19 bl printk -.L1715: +.L1722: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10729,7 +10777,7 @@ flash_info_blk_init: stp x21, x22, [sp,32] stp x23, x24, [sp,48] adrp x20, .LANCHOR0 - tbz x0, 12, .L1721 + tbz x0, 12, .L1728 add x4, x20, :lo12:.LANCHOR0 adrp x2, .LANCHOR3 adrp x0, .LC143 @@ -10740,10 +10788,10 @@ flash_info_blk_init: add x2, x2, 160 mov w3, 2048 bl printk -.L1721: +.L1728: mov w22, 4 adrp x24, .LANCHOR4 -.L1724: +.L1731: add x19, x20, :lo12:.LANCHOR0 add x21, x24, :lo12:.LANCHOR4 mov w0, 0 @@ -10755,21 +10803,21 @@ flash_info_blk_init: mul w1, w22, w1 bl flash_read_page_en cmn w0, #1 - beq .L1722 + beq .L1729 ldr x2, [x19,192] mov w0, 21321 movk w0, 0x5359, lsl 16 ldr w1, [x2] cmp w1, w0 - beq .L1723 -.L1722: + beq .L1730 +.L1729: add w22, w22, 1 cmp w22, 16 - bne .L1724 -.L1748: + bne .L1731 +.L1755: mov w0, -1 - b .L1747 -.L1723: + b .L1754 +.L1730: ldrb w1, [x2,36] mov w4, 4 ldrh w3, [x19,210] @@ -10782,16 +10830,16 @@ flash_info_blk_init: mov w21, 0 bl flash_read_page_en cmn w0, #1 - beq .L1726 + beq .L1733 ldr x0, [x19,192] mov w1, 21321 movk w1, 0x5359, lsl 16 mov w21, 0 ldr w2, [x0] cmp w2, w1 - bne .L1726 + bne .L1733 ldr w21, [x0,4] -.L1726: +.L1733: add x19, x23, :lo12:.LANCHOR4 add x22, x20, :lo12:.LANCHOR0 mov w0, 0 @@ -10803,21 +10851,21 @@ flash_info_blk_init: ldr x2, [x22,192] bl flash_read_page_en cmn w0, #1 - beq .L1727 + beq .L1734 ldr x0, [x22,192] mov w1, 21321 movk w1, 0x5359, lsl 16 ldr w2, [x0] cmp w2, w1 - bne .L1727 + bne .L1734 ldr w1, [x0,4] cmp w21, w1 - bcs .L1727 + bcs .L1734 ldrb w1, [x0,37] ldrb w0, [x0,36] strb w1, [x19,1208] strb w0, [x19,1209] -.L1727: +.L1734: add x21, x23, :lo12:.LANCHOR4 add x22, x20, :lo12:.LANCHOR0 mov w0, 0 @@ -10832,8 +10880,8 @@ flash_info_blk_init: ldrb w0, [x21,1208] ldrh w21, [x22,210] mul w21, w0, w21 -.L1728: - tbnz w19, #31, .L1749 +.L1735: + tbnz w19, #31, .L1756 add x22, x20, :lo12:.LANCHOR0 add x3, x23, :lo12:.LANCHOR4 mov w0, 0 @@ -10843,31 +10891,31 @@ flash_info_blk_init: ldr x3, [x3,1200] bl flash_read_page_en cmn w0, #1 - beq .L1729 + beq .L1736 ldr x0, [x22,192] ldr w1, [x0] mov w0, 21321 movk w0, 0x5359, lsl 16 cmp w1, w0 - bne .L1729 -.L1731: + bne .L1736 +.L1738: mov w0, 0 - b .L1747 -.L1729: + b .L1754 +.L1736: sub w19, w19, #1 sxth w19, w19 - b .L1728 -.L1749: + b .L1735 +.L1756: cmn w19, #1 - bne .L1731 + bne .L1738 add x20, x20, :lo12:.LANCHOR0 adrp x0, .LC144 add x0, x0, :lo12:.LC144 ldr x1, [x20,192] ldr w1, [x1] bl printk - b .L1748 -.L1747: + b .L1755 +.L1754: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -10908,20 +10956,20 @@ flash_ddr_para_scan: mov w4, 4 bl flash_read_page cmn w0, #1 - bne .L1751 + bne .L1758 ldrb w0, [x21,764] - tbz x0, 0, .L1751 + tbz x0, 0, .L1758 mov w0, 1 bl flash_set_interface_mode mov w0, w22 bl nandc_set_if_mode strb wzr, [x21,136] - b .L1752 -.L1751: + b .L1759 +.L1758: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 strb w0, [x19,136] -.L1752: +.L1759: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10968,9 +11016,9 @@ id_block_read_data.constprop.30: adrp x0, .LC145 add x0, x0, :lo12:.LC145 str x0, [x29,112] -.L1757: +.L1764: cmp w22, w27 - bcs .L1794 + bcs .L1801 ldr w0, [x29,168] adrp x1, .LANCHOR4 add x1, x1, :lo12:.LANCHOR4 @@ -10984,15 +11032,15 @@ id_block_read_data.constprop.30: udiv w20, w20, w23 and w20, w20, 65535 ldrh w0, [x0,w20,sxtw 1] - cbnz w1, .L1758 + cbnz w1, .L1765 mov w20, w0 - b .L1759 -.L1758: + b .L1766 +.L1765: ldrb w1, [x19,208] lsl w0, w20, 1 cmp w1, wzr csel w20, w0, w20, ne -.L1759: +.L1766: ldr w1, [x29,160] ldr w0, [x29,164] ldrb w28, [x19,96] @@ -11007,7 +11055,7 @@ id_block_read_data.constprop.30: str w0, [x29,132] mov w0, w28 bl nandc_bch_sel -.L1760: +.L1767: mov w0, 0 mov w1, w24 mov x2, x21 @@ -11016,60 +11064,59 @@ id_block_read_data.constprop.30: bl flash_read_page cmn w0, #1 mov w20, w0 - bne .L1767 - ldrb w5, [x19,184] - cbnz w5, .L1762 -.L1765: + bne .L1774 + ldrb w6, [x19,184] + cbnz w6, .L1769 +.L1772: adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - ldr x7, [x0,1192] - cbnz x7, .L1763 - b .L1764 -.L1762: + ldr x6, [x0,1192] + cbnz x6, .L1770 + b .L1771 +.L1769: mov w0, 0 mov w1, w24 mov x2, x21 add x3, x29, 176 mov w4, w23 - str x5, [x29,104] + str x6, [x29,104] strb wzr, [x19,184] bl flash_read_page cmn w0, #1 - ldr x5, [x29,104] - strb w5, [x19,184] - beq .L1765 - b .L1793 -.L1763: + ldr x6, [x29,104] + strb w6, [x19,184] + beq .L1772 + b .L1800 +.L1770: mov w0, 0 - mov w2, w24 - mov w1, w0 - mov x3, x21 - add x4, x29, 176 - mov w5, w23 - blr x7 + mov w1, w24 + mov x2, x21 + add x3, x29, 176 + mov w4, w23 + blr x6 cmn w0, #1 - bne .L1793 -.L1764: + bne .L1800 +.L1771: ldrb w0, [x19,136] - cbz w0, .L1767 + cbz w0, .L1774 mov w0, 0 mov w1, w24 mov x2, x21 add x3, x29, 176 mov w4, w23 bl flash_ddr_tunning_read -.L1793: +.L1800: mov w20, w0 -.L1767: +.L1774: cmn w20, #1 - bne .L1768 + bne .L1775 cmp w28, 16 - beq .L1768 + beq .L1775 mov w0, 16 mov w28, 16 bl nandc_bch_sel - b .L1760 -.L1768: + b .L1767 +.L1775: ldr w0, [x29,132] bl nandc_bch_sel cmn w20, #1 @@ -11080,18 +11127,18 @@ id_block_read_data.constprop.30: cmp w0, w26 cset w0, eq tst w1, w0 - beq .L1770 - cbnz w25, .L1770 + beq .L1777 + cbnz w25, .L1777 ldr w1, [x21] mov w0, 18766 movk w0, 0x464e, lsl 16 cmp w1, w0 - bne .L1770 + bne .L1777 ldr w0, [x29,144] ldrb w23, [x21,17] add w27, w27, w0 - b .L1771 -.L1770: + b .L1778 +.L1777: ldr x0, [x29,144] mov w2, w22 ldr w1, [x29,140] @@ -11102,12 +11149,12 @@ id_block_read_data.constprop.30: ldr x0, [x29,112] bl printk str wzr, [x29,168] -.L1771: +.L1778: ldr w0, [x29,144] add w22, w0, w22 uxth w22, w22 - b .L1757 -.L1794: + b .L1764 +.L1801: ldr x0, [x29,120] ldrb w1, [x29,136] add x0, x0, :lo12:.LANCHOR0 @@ -11142,7 +11189,7 @@ flash_complete_page_read: mov x26, x2 ubfx x22, x24, 24, 2 cmp w0, w23 - bhi .L1796 + bhi .L1803 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -11150,33 +11197,33 @@ flash_complete_page_read: add x1, x1, 184 mov w2, 789 bl printk -.L1796: +.L1803: add x21, x20, :lo12:.LANCHOR0 add x23, x21, x23, sxtw ldrb w23, [x23,200] mov w0, w23 ldr x27, [x21,16] bl nandc_cs - cbnz w22, .L1797 + cbnz w22, .L1804 ldrb w0, [x21,97] - cbz w0, .L1798 + cbz w0, .L1805 ldrb w0, [x21,208] - cbz w0, .L1797 -.L1798: + cbz w0, .L1804 +.L1805: add x1, x20, :lo12:.LANCHOR0 ldrh w2, [x1,210] udiv w0, w19, w2 mul w0, w0, w2 ldrb w2, [x1,208] sub w19, w19, w0 - cbz w2, .L1799 + cbz w2, .L1806 add w19, w0, w19, lsl 1 - b .L1797 -.L1799: + b .L1804 +.L1806: add x1, x1, 212 ldrh w19, [x1,w19,uxtw 1] add w19, w19, w0 -.L1797: +.L1804: ubfiz x0, x23, 8, 8 add x5, x27, x0 mov w0, 5 @@ -11191,19 +11238,19 @@ flash_complete_page_read: str w0, [x5,2052] mov w0, 224 str w0, [x5,2056] - cbz w22, .L1800 + cbz w22, .L1807 add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,88] ldrb w0, [x0,12] cmp w0, 3 - bne .L1800 + bne .L1807 sub w0, w22, #1 add w1, w19, w19, lsl 1 add w0, w0, w1 - b .L1838 -.L1800: + b .L1845 +.L1807: mov w0, w19 -.L1838: +.L1845: adrp x21, .LANCHOR2 bl nandc_set_seed add x27, x21, :lo12:.LANCHOR2 @@ -11215,10 +11262,10 @@ flash_complete_page_read: ldrb w2, [x27,9] bl nandc_xfer cmn w0, #1 - bne .L1802 + bne .L1809 add x28, x20, :lo12:.LANCHOR0 ldrb w5, [x28,184] - cbz w5, .L1803 + cbz w5, .L1810 ldrb w4, [x27,9] mov w0, w23 orr w1, w19, w22, lsl 24 @@ -11229,15 +11276,15 @@ flash_complete_page_read: bl flash_read_page ldr x5, [x29,104] strb w5, [x28,184] - cbnz w22, .L1804 -.L1811: + cbnz w22, .L1811 +.L1818: add x1, x20, :lo12:.LANCHOR0 ldrb w2, [x1,97] - cbz w2, .L1804 + cbz w2, .L1811 ldrb w1, [x1,188] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - blt .L1804 + blt .L1811 add x21, x21, :lo12:.LANCHOR2 ldrb w1, [x21,395] sub w1, w1, #4 @@ -11245,15 +11292,15 @@ flash_complete_page_read: cmp w1, 3 mov w1, 256 csel w0, w0, w1, hi - b .L1821 -.L1804: + b .L1828 +.L1811: cmn w0, #1 - bne .L1821 -.L1812: + bne .L1828 +.L1819: adrp x0, .LANCHOR4+1192 - ldr x6, [x0,#:lo12:.LANCHOR4+1192] - cbnz x6, .L1807 -.L1810: + ldr x5, [x0,#:lo12:.LANCHOR4+1192] + cbnz x5, .L1814 +.L1817: add x20, x20, :lo12:.LANCHOR0 adrp x0, .LC146 add x0, x0, :lo12:.LC146 @@ -11263,22 +11310,21 @@ flash_complete_page_read: ldrb w4, [x20,184] bl printk ldrb w0, [x20,136] - cbnz w0, .L1808 + cbnz w0, .L1815 mov w0, -1 - b .L1821 -.L1807: - add x5, x21, :lo12:.LANCHOR2 + b .L1828 +.L1814: + add x4, x21, :lo12:.LANCHOR2 mov w0, w23 - mov w1, w22 - mov w2, w19 - mov x3, x25 - mov x4, x26 - ldrb w5, [x5,385] - blr x6 + orr w1, w19, w22, lsl 24 + mov x2, x25 + mov x3, x26 + ldrb w4, [x4,385] + blr x5 cmn w0, #1 - bne .L1821 - b .L1810 -.L1808: + bne .L1828 + b .L1817 +.L1815: add x21, x21, :lo12:.LANCHOR2 mov w0, w23 orr w1, w19, w22, lsl 24 @@ -11286,14 +11332,14 @@ flash_complete_page_read: mov x3, x26 ldrb w4, [x21,385] bl flash_ddr_tunning_read - b .L1821 -.L1802: - cbz w22, .L1811 - b .L1821 -.L1803: - cbz w22, .L1811 - b .L1812 -.L1821: + b .L1828 +.L1809: + cbz w22, .L1818 + b .L1828 +.L1810: + cbz w22, .L1818 + b .L1819 +.L1828: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -11314,7 +11360,7 @@ queue_wait_first_req_completed: stp x23, x24, [sp,48] ldrb w20, [x0,3861] cmp w20, 255 - beq .L1875 + beq .L1882 add x0, x0, 768 mov w1, 0 add x0, x0, x20, lsl 6 @@ -11322,34 +11368,34 @@ queue_wait_first_req_completed: ldr w21, [x0,40] sub w3, w2, #1 cmp w3, 9 - bhi .L1841 - adrp x0, .L1843 - add x0, x0, :lo12:.L1843 + bhi .L1848 + adrp x0, .L1850 + add x0, x0, :lo12:.L1850 ldrb w0, [x0,w3,uxtw] - adr x1, .Lrtx1843 + adr x1, .Lrtx1850 add x0, x1, w0, sxtb #2 br x0 -.Lrtx1843: +.Lrtx1850: .section .rodata .align 0 .align 2 -.L1843: - .byte (.L1842 - .Lrtx1843) / 4 - .byte (.L1842 - .Lrtx1843) / 4 - .byte (.L1844 - .Lrtx1843) / 4 - .byte (.L1844 - .Lrtx1843) / 4 - .byte (.L1844 - .Lrtx1843) / 4 - .byte (.L1845 - .Lrtx1843) / 4 - .byte (.L1846 - .Lrtx1843) / 4 - .byte (.L1847 - .Lrtx1843) / 4 - .byte (.L1844 - .Lrtx1843) / 4 - .byte (.L1847 - .Lrtx1843) / 4 +.L1850: + .byte (.L1849 - .Lrtx1850) / 4 + .byte (.L1849 - .Lrtx1850) / 4 + .byte (.L1851 - .Lrtx1850) / 4 + .byte (.L1851 - .Lrtx1850) / 4 + .byte (.L1851 - .Lrtx1850) / 4 + .byte (.L1852 - .Lrtx1850) / 4 + .byte (.L1853 - .Lrtx1850) / 4 + .byte (.L1854 - .Lrtx1850) / 4 + .byte (.L1851 - .Lrtx1850) / 4 + .byte (.L1854 - .Lrtx1850) / 4 .text -.L1842: +.L1849: mov w0, w21 mov w1, 64 bl flash_wait_device_ready - tbz x0, 6, .L1875 + tbz x0, 6, .L1882 add x19, x19, :lo12:.LANCHOR0 mov w0, w21 add x19, x19, 768 @@ -11367,18 +11413,18 @@ queue_wait_first_req_completed: ldrb w0, [x20,2] orr w0, w0, 8 strb w0, [x20,2] - b .L1875 -.L1844: + b .L1882 +.L1851: bl nandc_iqr_wait_flash_ready mov w0, w21 mov w1, 64 bl flash_wait_device_ready mov w21, w0 - tbz x21, 6, .L1875 + tbz x21, 6, .L1882 mov w1, 5 add x19, x19, :lo12:.LANCHOR0 ands w1, w21, w1 - beq .L1850 + beq .L1857 add x19, x19, 768 mov w0, 11 add x20, x19, x20, lsl 6 @@ -11392,11 +11438,11 @@ queue_wait_first_req_completed: bl printk mov w0, -1 str w0, [x20,52] - b .L1876 -.L1850: + b .L1883 +.L1857: add x20, x19, x20, lsl 6 - b .L1857 -.L1847: + b .L1864 +.L1854: add x22, x19, :lo12:.LANCHOR0 mov w0, 3 cmp w2, 10 @@ -11405,28 +11451,28 @@ queue_wait_first_req_completed: csel w1, w0, w1, ne ubfx x3, x21, 21, 3 add x0, x22, x20, lsl 6 -.L1852: +.L1859: ldrb w23, [x0] cmp w23, 255 - beq .L1877 + beq .L1884 add x0, x22, x23, lsl 6 ldrb w2, [x0,58] cmp w2, w1 - bne .L1852 + bne .L1859 ldr w2, [x0,40] ubfx x2, x2, 21, 3 cmp w3, w2 - bne .L1852 + bne .L1859 bl nandc_iqr_wait_flash_ready mov w0, w21 mov w1, 64 bl flash_wait_device_ready mov w21, w0 and w0, w0, 64 - tbz x21, 6, .L1860 + tbz x21, 6, .L1867 ands w0, w21, 15 add x22, x22, x20, lsl 6 - beq .L1855 + beq .L1862 adrp x0, .LC147 ldrb w1, [x22,1] ldr w2, [x22,52] @@ -11438,7 +11484,7 @@ queue_wait_first_req_completed: strb w0, [x22,58] mov w0, -1 str w0, [x22,52] -.L1854: +.L1861: add x19, x19, :lo12:.LANCHOR0 add x19, x19, 768 add x20, x19, x20, lsl 6 @@ -11447,52 +11493,52 @@ queue_wait_first_req_completed: strb w0, [x23,58] ldr w0, [x20,52] str w0, [x23,52] -.L1876: +.L1883: mov w1, w21 - b .L1841 -.L1855: + b .L1848 +.L1862: mov w1, 12 str w0, [x22,52] strb w1, [x22,58] -.L1860: +.L1867: mov w21, w0 - b .L1854 -.L1877: + b .L1861 +.L1884: mov w1, -1 - b .L1841 -.L1845: + b .L1848 +.L1852: mov w1, 32 mov w0, w21 bl flash_wait_device_ready - tbz x0, 5, .L1875 + tbz x0, 5, .L1882 ands w1, w0, 15 add x19, x19, :lo12:.LANCHOR0 add x20, x19, x20, lsl 6 - beq .L1857 + beq .L1864 mov w1, 11 strb w1, [x20,826] mov w1, -1 str w1, [x20,820] mov w1, w0 - b .L1841 -.L1857: + b .L1848 +.L1864: mov w0, 12 str w1, [x20,820] strb w0, [x20,826] - b .L1841 -.L1846: + b .L1848 +.L1853: mov w1, 64 mov w0, w21 bl flash_wait_device_ready - tbz x0, 6, .L1875 + tbz x0, 6, .L1882 add x19, x19, :lo12:.LANCHOR0 add x20, x19, x20, lsl 6 str w0, [x20,820] mov w0, 6 strb w0, [x20,826] -.L1875: +.L1882: mov w1, 0 -.L1841: +.L1848: mov w0, w1 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11508,15 +11554,15 @@ sblk_wait_write_queue_completed: add x29, sp, 0 str x19, [sp,16] adrp x19, .LANCHOR0 -.L1879: +.L1886: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,3861] cmp w0, 255 - beq .L1881 + beq .L1888 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L1879 -.L1881: + b .L1886 +.L1888: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -11591,42 +11637,42 @@ ftl_open_sblk_read_test: strh w19, [x29,64] strb w0, [x29,73] mov w19, 0 -.L1885: +.L1892: adrp x0, .LANCHOR0 add x1, x0, :lo12:.LANCHOR0 mov x23, x0 ldrh w1, [x1,3276] cmp w1, w19 - bls .L1884 + bls .L1891 mov w20, 0 -.L1891: +.L1898: add x3, x23, :lo12:.LANCHOR0 ldrb w0, [x3,3244] cmp w0, w20 - bls .L1897 + bls .L1904 add x0, x29, 64 add x0, x0, x20, sxtw 1 ldrh w0, [x0,16] mov w1, 65535 cmp w0, w1 - beq .L1887 - ldrh w1, [x3,3318] + beq .L1894 + ldrh w1, [x3,3324] mov x2, x22 ldrb w3, [x3,2816] madd w0, w0, w1, w19 mov x1, x21 bl ftl_read_ppa_page cmp w0, 512 - beq .L1884 -.L1887: + beq .L1891 +.L1894: add w20, w20, 1 uxth w20, w20 - b .L1891 -.L1897: + b .L1898 +.L1904: add w19, w19, 1 uxth w19, w19 - b .L1885 -.L1884: + b .L1892 +.L1891: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -11653,20 +11699,20 @@ sblk_read_page: mov w22, w21 mov w25, -1 add x26, x23, 3861 -.L1899: - cbz w22, .L1911 +.L1906: + cbz w22, .L1918 ldrb w27, [x19] ldr w28, [x19,40] -.L1900: +.L1907: mov w0, w28 mov w1, 0 bl queue_lun_state mov w2, w0 - cbz w0, .L1912 + cbz w0, .L1919 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L1900 -.L1912: + b .L1907 +.L1919: ldr w1, [x19,40] mov w0, 48 str x2, [x29,104] @@ -11679,29 +11725,29 @@ sblk_read_page: strb w25, [x19] bl buf_add_tail subs w22, w22, #1 - beq .L1911 + beq .L1918 add x19, x23, 768 sbfiz x27, x27, 6, 32 add x19, x19, x27 - b .L1899 -.L1911: + b .L1906 +.L1918: adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 add x19, x19, 768 -.L1904: - cbz w21, .L1913 +.L1911: + cbz w21, .L1920 ldrb w0, [x20,58] cmp w0, 12 - bne .L1905 + bne .L1912 ldrb w20, [x20] sub w21, w21, #1 add x20, x19, x20, lsl 6 - b .L1904 -.L1905: + b .L1911 +.L1912: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L1904 -.L1913: + b .L1911 +.L1920: mov w0, w21 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11728,14 +11774,14 @@ gc_check_data_one_wl: ldr x0, [x20,2896] ldr x23, [x20,80] add x20, x20, 2888 - cbnz x0, .L1915 + cbnz x0, .L1922 mov w0, 1 bl buf_alloc str x0, [x20,8] -.L1915: +.L1922: add x0, x19, :lo12:.LANCHOR0 ldr x20, [x0,2896] - cbnz x20, .L1916 + cbnz x20, .L1923 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -11743,51 +11789,51 @@ gc_check_data_one_wl: add x1, x1, 216 mov w2, 348 bl printk -.L1916: +.L1923: mov w24, 0 add x25, x23, 80 add x21, x19, :lo12:.LANCHOR0 adrp x26, .LANCHOR4 -.L1917: +.L1924: ldrb w0, [x25,9] cmp w24, w0 - bge .L1938 + bge .L1945 mov w22, 1 sxtw x27, w24 -.L1926: +.L1933: add x0, x21, 2888 ldrh w1, [x0,20] cmp w22, w1 - bgt .L1939 + bgt .L1946 add x1, x27, 8 - ldrh w2, [x21,3318] + ldrh w2, [x21,3324] ldrh w0, [x0,16] ldrh w1, [x25,x1,lsl 1] mul w1, w1, w2 ldrb w2, [x21,3225] cmp w2, 3 - bne .L1918 + bne .L1925 add w1, w1, w0 orr w1, w1, w22, lsl 24 - b .L1937 -.L1918: + b .L1944 +.L1925: cmp w2, 2 - bne .L1920 + bne .L1927 sub w0, w0, #1 add w1, w0, w1 add w1, w1, w22 orr w1, w1, 33554432 - b .L1937 -.L1920: + b .L1944 +.L1927: add w1, w1, w0 -.L1937: +.L1944: str w1, [x20,40] mov x0, x20 mov w1, 1 bl sblk_read_page ldr w2, [x20,52] cmn w2, #1 - beq .L1921 + beq .L1928 add x3, x26, :lo12:.LANCHOR4 ldrh w0, [x21,2910] ldr x1, [x20,24] @@ -11796,23 +11842,23 @@ gc_check_data_one_wl: ldr w5, [x4,x0] ldr w4, [x1,4] cmp w5, w4 - bne .L1921 + bne .L1928 ldr x3, [x3,1112] ldr w3, [x3,x0] ldr w0, [x1,8] cmp w3, w0 - beq .L1922 -.L1921: + beq .L1929 +.L1928: add x0, x26, :lo12:.LANCHOR4 ldrh w4, [x21,2910] lsl x4, x4, 2 ldr x1, [x0,1104] ldr w3, [x1,x4] cmn w3, #1 - beq .L1922 + beq .L1929 adrp x1, .LANCHOR2 ldr w1, [x1,#:lo12:.LANCHOR2] - tbz x1, 10, .L1923 + tbz x1, 10, .L1930 ldr x7, [x20,24] ldr x5, [x0,1112] ldr w0, [x7,12] @@ -11825,29 +11871,29 @@ gc_check_data_one_wl: ldr w1, [x20,40] ldr w7, [x7,8] bl printk -.L1923: +.L1930: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x23,80] ldr x0, [x19,72] strh wzr, [x0,x1,lsl 1] mov w0, -1 - b .L1924 -.L1922: + b .L1931 +.L1929: ldrh w0, [x21,2910] add w22, w22, 1 add w0, w0, 1 strh w0, [x21,2910] - b .L1926 -.L1939: + b .L1933 +.L1946: add w24, w24, 1 - b .L1917 -.L1938: + b .L1924 +.L1945: add x19, x19, :lo12:.LANCHOR0 ldrh w0, [x19,2904] add w0, w0, 1 strh w0, [x19,2904] mov w0, 0 -.L1924: +.L1931: sub sp, x29, #16 ldp x19, x20, [sp,32] ldp x21, x22, [sp,48] @@ -11883,24 +11929,24 @@ flash_prog_page: add x22, x19, x22, lsl 8 and w24, w1, 2097151 ubfx x27, x23, 24, 2 - tbz x0, 4, .L1941 + tbz x0, 4, .L1948 adrp x0, .LC149 mov w2, w27 add x0, x0, :lo12:.LC149 bl printk -.L1941: +.L1948: bl nandc_wait_flash_ready mov w0, w20 bl hynix_reconfig_rr_para mov w0, w20 bl nandc_cs mov w0, w20 - cbnz w27, .L1942 + cbnz w27, .L1949 bl zftl_flash_enter_slc_mode - b .L1943 -.L1942: + b .L1950 +.L1949: bl zftl_flash_exit_slc_mode -.L1943: +.L1950: ubfiz x4, x20, 8, 8 mov w0, 128 add x19, x19, x4 @@ -11932,16 +11978,16 @@ flash_prog_page: mov w0, w20 and w19, w21, 4 bl nandc_de_cs - tbz x21, 2, .L1944 + tbz x21, 2, .L1951 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L1944 + tbz x0, 12, .L1951 adrp x0, .LC150 mov w1, w23 add x0, x0, :lo12:.LC150 mov w2, w19 bl printk -.L1944: +.L1951: mov w0, w19 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -11961,13 +12007,13 @@ flash_test_blk: stp x21, x22, [sp,32] uxtb w22, w0 uxth w20, w1 - cbnz w22, .L1955 + cbnz w22, .L1962 adrp x0, .LANCHOR5+512 ldrb w1, [x0,#:lo12:.LANCHOR5+512] mov w0, w22 cmp w1, w20 - bhi .L1956 -.L1955: + bhi .L1963 +.L1962: adrp x19, .LANCHOR4 mov w1, 165 add x19, x19, :lo12:.LANCHOR4 @@ -11985,7 +12031,7 @@ flash_test_blk: mov w1, w21 bl flash_erase_block cmn w0, #1 - beq .L1961 + beq .L1968 adrp x20, .LANCHOR2 ldr x2, [x19,1216] add x20, x20, :lo12:.LANCHOR2 @@ -11996,7 +12042,7 @@ flash_test_blk: ldrb w4, [x20,9] bl flash_prog_page cmn w0, #1 - beq .L1961 + beq .L1968 ldrb w4, [x20,9] mov w0, w22 ldr x2, [x19,1216] @@ -12005,28 +12051,28 @@ flash_test_blk: bl flash_read_page cmn w0, #1 mov w20, w0 - beq .L1961 + beq .L1968 ldr x0, [x19,1216] ldr w1, [x0] mov w0, 23130 bfi w0, w0, 16, 16 cmp w1, w0 - bne .L1961 + bne .L1968 ldr x0, [x19,1224] ldr w1, [x0] mov w0, 42405 bfi w0, w0, 16, 16 cmp w1, w0 csinv w20, w20, wzr, eq - b .L1958 -.L1961: + b .L1965 +.L1968: mov w20, -1 -.L1958: +.L1965: mov w0, w22 mov w1, w21 bl flash_erase_block mov w0, w20 -.L1956: +.L1963: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -12087,7 +12133,7 @@ flash_start_page_prog: mov x23, x3 ubfx x26, x1, 24, 2 cmp w0, w27 - bhi .L1971 + bhi .L1978 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -12095,57 +12141,57 @@ flash_start_page_prog: add x1, x1, 240 mov w2, 685 bl printk -.L1971: +.L1978: add x28, x20, :lo12:.LANCHOR0 add x0, x28, x27, sxtw ldrb w21, [x0,200] ldr x25, [x28,16] bl nandc_rdy_status - cbnz w0, .L1972 + cbnz w0, .L1979 ldrb w0, [x28,98] cmp w0, 1 - bne .L1973 + bne .L1980 bl nandc_wait_flash_ready - b .L1972 -.L1973: + b .L1979 +.L1980: mov w0, w27 mov w1, w19 mov w2, 64 bl flash_wait_device_ready_raw -.L1972: +.L1979: mov w0, w21 bl hynix_reconfig_rr_para mov w0, w21 bl nandc_cs - cbnz w26, .L1974 + cbnz w26, .L1981 add x0, x20, :lo12:.LANCHOR0 ldrb w1, [x0,97] - cbz w1, .L1975 + cbz w1, .L1982 ldrb w0, [x0,208] - cbz w0, .L1976 -.L1975: + cbz w0, .L1983 +.L1982: add x20, x20, :lo12:.LANCHOR0 ldrh w1, [x20,210] udiv w0, w19, w1 mul w0, w0, w1 ldrb w1, [x20,208] sub w19, w19, w0 - cbz w1, .L1977 + cbz w1, .L1984 add w19, w0, w19, lsl 1 - b .L1976 -.L1977: + b .L1983 +.L1984: add x20, x20, 212 ldrh w19, [x20,w19,uxtw 1] add w19, w19, w0 - b .L1978 -.L1976: + b .L1985 +.L1983: mov w0, w21 bl zftl_flash_enter_slc_mode - b .L1978 -.L1974: + b .L1985 +.L1981: mov w0, w21 bl zftl_flash_exit_slc_mode -.L1978: +.L1985: ubfiz x1, x21, 8, 8 mov w0, 128 add x20, x25, x1 @@ -12195,28 +12241,28 @@ queue_prog_cmd: add x1, x0, :lo12:.LANCHOR0 ldrb w2, [x1,3861] cmp w2, 255 - beq .L1983 + beq .L1990 ubfx x4, x4, 21, 3 add x1, x1, 768 -.L1985: +.L1992: add x3, x1, x2, lsl 6 ldr w5, [x3,40] ubfx x5, x5, 21, 3 cmp w4, w5 - bne .L1984 + bne .L1991 ldrb w5, [x3,58] add x3, x3, 48 cmp w5, 6 - bne .L1984 + bne .L1991 mov w1, 3 strb w1, [x3,10] - b .L1983 -.L1984: + b .L1990 +.L1991: lsl x2, x2, 6 ldrb w2, [x1,x2] cmp w2, 255 - bne .L1985 -.L1983: + bne .L1992 +.L1990: mov w1, 3 strb w1, [x19,58] mov w1, 1 @@ -12245,16 +12291,16 @@ sblk_prog_page: mov x19, x0 uxtb w20, w1 ldrh w0, [x0,50] - cbz w0, .L1991 + cbz w0, .L1998 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L1991 + tbz x0, 8, .L1998 adrp x0, .LC151 ldr w1, [x19,40] add x0, x0, :lo12:.LC151 mov w2, w20 bl printk -.L1991: +.L1998: adrp x21, .LANCHOR0 adrp x24, .LANCHOR3 add x21, x21, :lo12:.LANCHOR0 @@ -12262,44 +12308,44 @@ sblk_prog_page: mov w22, 0 add x26, x21, 768 add x24, x24, 264 -.L1992: - cbz w20, .L2018 +.L1999: + cbz w20, .L2025 ldrb w25, [x19] ldr w23, [x19,40] -.L1993: +.L2000: mov w0, w23 mov w1, 1 bl queue_lun_state - cbz w0, .L2019 + cbz w0, .L2026 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L1993 -.L2019: + b .L2000 +.L2026: cmp w20, 1 - beq .L1995 + beq .L2002 ldrb w0, [x21,765] - cbnz w0, .L1996 -.L1995: + cbnz w0, .L2003 +.L2002: mov x0, x19 bl queue_prog_cmd - b .L1997 -.L1996: + b .L2004 +.L2003: ldrb w0, [x19] ubfx x27, x23, 21, 3 cmp w0, 255 - bne .L1998 + bne .L2005 adrp x0, .LC0 mov x1, x24 add x0, x0, :lo12:.LC0 mov w2, 489 bl printk -.L1998: +.L2005: ldrb w0, [x19] add x0, x26, x0, lsl 6 ldr w4, [x0,40] ubfx x0, x4, 21, 3 cmp w27, w0 - bne .L1999 + bne .L2006 ldrh w3, [x21,3314] mov w1, 21 ldrb w6, [x21,3312] @@ -12320,13 +12366,13 @@ sblk_prog_page: and w0, w1, w5 cmp w0, w3 uxth w2, w2 - beq .L1999 + beq .L2006 and w23, w2, w23 and w2, w2, w4 cmp w23, w2 - bne .L1999 + bne .L2006 cmp w22, w6 - beq .L1999 + beq .L2006 ldr w1, [x19,40] mov w0, 17 ldr x2, [x19,8] @@ -12341,17 +12387,17 @@ sblk_prog_page: strb w0, [x19] add x0, x21, 3861 bl buf_add_tail - b .L1997 -.L1999: + b .L2004 +.L2006: mov x0, x19 mov w22, 0 bl queue_prog_cmd -.L1997: +.L2004: sbfiz x19, x25, 6, 32 sub w20, w20, #1 add x19, x26, x19 - b .L1992 -.L2018: + b .L1999 +.L2025: mov w0, w20 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -12373,13 +12419,13 @@ ftl_flush: mov x19, x2 adrp x20, .LANCHOR5 ldrb w1, [x0,2841] - cbz w1, .L2021 + cbz w1, .L2028 add x2, x20, :lo12:.LANCHOR5 add x0, x0, 768 ldrb w2, [x2,513] add x0, x0, x2, lsl 6 bl sblk_prog_page -.L2021: +.L2028: add x2, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR5 mov w0, -1 @@ -12401,15 +12447,15 @@ zftl_cache_flush: stp x29, x30, [sp, -16]! add x29, sp, 0 ldrb w0, [x0,#:lo12:.LANCHOR0+2841] - cbz w0, .L2025 + cbz w0, .L2032 bl timer_get_time adrp x1, .LANCHOR5+516 ldr w1, [x1,#:lo12:.LANCHOR5+516] add w1, w1, 100 cmp w0, w1 - bls .L2025 + bls .L2032 bl ftl_flush -.L2025: +.L2032: ldp x29, x30, [sp], 16 ret .size zftl_cache_flush, .-zftl_cache_flush @@ -12435,7 +12481,7 @@ flash_start_tlc_page_prog: mov x23, x6 cmp w0, w26 mov x19, x4 - bhi .L2030 + bhi .L2037 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -12443,19 +12489,19 @@ flash_start_tlc_page_prog: add x1, x1, 280 mov w2, 648 bl printk -.L2030: +.L2037: add x4, x19, :lo12:.LANCHOR0 add x26, x4, x26, sxtw ldrb w26, [x26,200] mov w0, w26 ldr x19, [x4,16] bl nandc_cs - cbz w25, .L2031 + cbz w25, .L2038 sxtw x1, w26 add x1, x1, 8 add x1, x19, x1, lsl 8 str w25, [x1,8] -.L2031: +.L2038: ubfiz x7, x26, 8, 8 mov w0, 128 add x19, x19, x7 @@ -12561,16 +12607,16 @@ sblk_tlc_prog_one_page: mov x20, x0 ldr x0, [x0] ldr w21, [x0,40] -.L2037: +.L2044: mov w0, w21 mov w1, 1 bl queue_lun_state mov w19, w0 - cbz w0, .L2039 + cbz w0, .L2046 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2037 -.L2039: + b .L2044 +.L2046: mov x0, x20 bl queue_tlc_prog_cmd ldr x21, [sp,32] @@ -12593,17 +12639,17 @@ sblk_xlc_prog_pages: ldr x0, [x0] mov w24, w2 ldr w20, [x0,40] -.L2041: +.L2048: mov w0, w20 mov w1, 1 bl queue_lun_state - cbz w0, .L2045 + cbz w0, .L2052 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2041 -.L2045: + b .L2048 +.L2052: cmp w24, 2 - bne .L2043 + bne .L2050 ldr x6, [x19] mov w1, 1 ldr x0, [x22] @@ -12687,11 +12733,11 @@ sblk_xlc_prog_pages: add x0, x0, :lo12:.LANCHOR0 add x0, x0, 3861 bl buf_add_tail - b .L2044 -.L2043: + b .L2051 +.L2050: mov x0, x19 bl queue_tlc_prog_cmd -.L2044: +.L2051: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -12722,7 +12768,7 @@ flash_prog_page_en: cmp w0, w21 ubfx x28, x20, 24, 2 mov x19, x6 - bhi .L2047 + bhi .L2054 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -12730,40 +12776,40 @@ flash_prog_page_en: add x1, x1, 312 mov w2, 473 bl printk -.L2047: +.L2054: add x2, x19, :lo12:.LANCHOR0 mov w26, w20 add x0, x2, x21, sxtw ldrb w27, [x0,200] - cbnz w28, .L2048 + cbnz w28, .L2055 ldrb w0, [x2,97] - cbz w0, .L2049 + cbz w0, .L2056 ldrb w0, [x2,208] - cbz w0, .L2048 -.L2049: + cbz w0, .L2055 +.L2056: add x6, x19, :lo12:.LANCHOR0 ldrh w26, [x6,210] ldrb w1, [x6,208] udiv w2, w20, w26 mul w26, w2, w26 sub w0, w20, w26 - cbz w1, .L2050 + cbz w1, .L2057 add w26, w26, w0, lsl 1 - b .L2048 -.L2050: + b .L2055 +.L2057: add x6, x6, 212 ldrh w0, [x6,w0,uxtw 1] add w26, w0, w26 -.L2048: +.L2055: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L2051 + tbz x0, 4, .L2058 adrp x0, .LC152 mov w1, w27 add x0, x0, :lo12:.LC152 mov w2, w20 bl printk -.L2051: +.L2058: mov w1, w26 mov w0, w27 mov x2, x23 @@ -12771,7 +12817,7 @@ flash_prog_page_en: mov w4, w24 bl flash_prog_page mov w26, w0 - cbz w25, .L2052 + cbz w25, .L2059 adrp x19, .LANCHOR4 mov w0, w21 add x25, x19, :lo12:.LANCHOR4 @@ -12781,20 +12827,20 @@ flash_prog_page_en: ldr x3, [x25,1224] bl flash_read_page_en cmp w0, 512 - beq .L2053 + beq .L2060 cmn w0, #1 - beq .L2053 + beq .L2060 ldr x0, [x25,1216] ldr w1, [x23] ldr w0, [x0] cmp w1, w0 - bne .L2053 + bne .L2060 ldr x0, [x25,1224] ldr w1, [x22] ldr w0, [x0] cmp w1, w0 - beq .L2052 -.L2053: + beq .L2059 +.L2060: add x19, x19, :lo12:.LANCHOR4 mov w2, 4 adrp x0, .LC153 @@ -12808,12 +12854,12 @@ flash_prog_page_en: add x0, x0, :lo12:.LC154 mov w3, w2 bl rknand_print_hex - b .L2054 -.L2052: + b .L2061 +.L2059: cmn w26, #1 mov w0, w26 - bne .L2055 -.L2054: + bne .L2062 +.L2061: adrp x0, .LC155 mov w1, w20 add x0, x0, :lo12:.LC155 @@ -12826,7 +12872,7 @@ flash_prog_page_en: mov w2, 499 bl printk mov w0, -1 -.L2055: +.L2062: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -12860,69 +12906,69 @@ ftl_test_block: add x28, x28, :lo12:.LC156 str x0, [x29,104] add x26, x26, 256 -.L2069: +.L2076: adrp x20, .LANCHOR0 add x0, x20, :lo12:.LANCHOR0 - ldrb w1, [x0,3320] + ldrb w1, [x0,3326] cmp w1, w21 - bls .L2078 + bls .L2085 mov w24, 0 -.L2079: +.L2086: add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,3312] cmp w0, w24 - bls .L2094 + bls .L2101 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2070 + tbz x0, 12, .L2077 mov x0, x28 mov w1, w23 bl printk -.L2070: +.L2077: add x0, x20, :lo12:.LANCHOR0 ldrb w19, [x0,3312] madd w19, w23, w19, w24 uxth w19, w19 - cbnz w21, .L2071 + cbnz w21, .L2078 ldr x0, [x0,192] ldrb w0, [x0,47] cmp w0, w19 - bcs .L2072 -.L2071: + bcs .L2079 +.L2078: uxtb w22, w21 mov w1, w19 mov w0, w22 bl flash_check_bad_block - cbnz w0, .L2072 + cbnz w0, .L2079 add x4, x20, :lo12:.LANCHOR0 mov w0, w22 mov w1, w27 str x4, [x29,96] - ldrh w3, [x4,3318] + ldrh w3, [x4,3324] mul w25, w19, w3 mov w2, w25 bl flash_erase_block_en ldr x4, [x29,96] - cbz w0, .L2073 + cbz w0, .L2080 ldrb w0, [x4,3225] cmp w0, 2 - bne .L2093 + bne .L2100 ldrb w0, [x4,97] - cbz w0, .L2093 + cbz w0, .L2100 mov w0, w22 mov w1, 1 mov w2, w25 bl flash_erase_block_en - cbz w0, .L2075 - b .L2093 -.L2073: - cbz w27, .L2076 -.L2075: + cbz w0, .L2082 + b .L2100 +.L2080: + cbz w27, .L2083 +.L2082: add x0, x20, :lo12:.LANCHOR0 mov w27, 1 ldrb w0, [x0,3225] add w25, w25, w0, lsl 24 -.L2076: +.L2083: add x4, x20, :lo12:.LANCHOR0 ldr x2, [x29,104] mov w0, w22 @@ -12931,28 +12977,28 @@ ftl_test_block: mov w5, 1 ldrb w4, [x4,2816] bl flash_prog_page_en - cbz w0, .L2072 -.L2093: + cbz w0, .L2079 +.L2100: mov w0, w22 mov w1, w19 bl flash_mask_bad_block -.L2072: +.L2079: add w24, w24, 1 uxth w24, w24 - b .L2079 -.L2094: + b .L2086 +.L2101: add w21, w21, 1 uxth w21, w21 - b .L2069 -.L2078: - cbz w27, .L2080 + b .L2076 +.L2085: + cbz w27, .L2087 ldr x0, [x0,64] add x23, x0, x23, uxth 2 ldrb w0, [x23,2] mov w1, 2 bfi w0, w1, 3, 2 strb w0, [x23,2] -.L2080: +.L2087: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -12984,19 +13030,19 @@ ftl_prog_page: bl flash_prog_page_en cmn w0, #1 mov w19, w0 - bne .L2096 + bne .L2103 adrp x2, .LANCHOR3 adrp x0, .LC0 add x1, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 336 - mov w2, 2034 + mov w2, 2052 bl printk adrp x0, .LC155 mov w1, w20 add x0, x0, :lo12:.LC155 bl printk -.L2096: +.L2103: mov w0, w19 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 64 @@ -13029,12 +13075,12 @@ ftl_info_flush: add x24, x24, :lo12:.LC157 add x23, x23, 352 bl ftl_memset -.L2098: +.L2105: add x0, x21, :lo12:.LANCHOR0 ldrb w27, [x19,832] ldrh w20, [x19,834] ldr x2, [x0,2848] - ldrh w28, [x0,3318] + ldrh w28, [x0,3324] ldr w1, [x2,4] add w1, w1, 1 str w1, [x2,4] @@ -13044,29 +13090,29 @@ ftl_info_flush: str w0, [x19,580] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2099 + tbz x0, 12, .L2106 ldr w3, [x3,4] mov x0, x24 mov w1, w27 mov w2, w20 bl printk -.L2099: +.L2106: add x1, x21, :lo12:.LANCHOR0 ldrh w0, [x19,834] ldrh w1, [x1,3276] cmp w1, w0 - bhi .L2100 + bhi .L2107 adrp x20, .LC0 add x20, x20, :lo12:.LC0 -.L2105: +.L2112: ldrb w1, [x19,833] add w1, w1, 1 uxtb w1, w1 strb w1, [x19,833] cmp w1, 7 - bls .L2101 + bls .L2108 mov x1, 0 -.L2104: +.L2111: add x0, x21, :lo12:.LANCHOR0 uxth w25, w1 ldr x2, [x0,192] @@ -13076,23 +13122,23 @@ ftl_info_flush: add w0, w2, 127 uxtb w0, w0 cmp w0, 125 - bhi .L2102 + bhi .L2109 mov x0, x20 mov x1, x23 mov w2, 672 bl printk - b .L2103 -.L2102: + b .L2110 +.L2109: cmp w2, 255 - bne .L2103 + bne .L2110 add x1, x1, 1 cmp x1, 8 - bne .L2104 + bne .L2111 mov w25, w1 -.L2103: +.L2110: strb w25, [x19,833] mov w25, 1 -.L2101: +.L2108: add x27, x21, :lo12:.LANCHOR0 ldrb w1, [x19,833] ldr x0, [x27,192] @@ -13100,8 +13146,8 @@ ftl_info_flush: ldrb w2, [x1,40] strb w2, [x19,832] cmp w2, 255 - beq .L2105 - ldrh w20, [x27,3318] + beq .L2112 + ldrh w20, [x27,3324] mov w0, 0 mul w20, w2, w20 mov w1, w20 @@ -13115,13 +13161,13 @@ ftl_info_flush: bl ftl_prog_page mov w0, 1 strh w0, [x19,834] - b .L2106 -.L2100: + b .L2113 +.L2107: madd w20, w27, w28, w20 - cbnz w0, .L2106 + cbnz w0, .L2113 mov w1, w20 bl flash_erase_block -.L2106: +.L2113: add x4, x21, :lo12:.LANCHOR0 mov w1, w20 mov w0, 0 @@ -13134,21 +13180,21 @@ ftl_info_flush: adrp x0, .LANCHOR6 add w1, w1, 1 strh w1, [x19,834] - beq .L2107 + beq .L2114 add x1, x0, :lo12:.LANCHOR6 ldrb w1, [x1,-128] - cbz w1, .L2108 -.L2107: + cbz w1, .L2115 +.L2114: add x0, x0, :lo12:.LANCHOR6 strb wzr, [x0,-128] - b .L2098 -.L2108: - cbnz w25, .L2109 -.L2117: + b .L2105 +.L2115: + cbnz w25, .L2116 +.L2124: add x22, x22, :lo12:.LANCHOR5 ldrb w0, [x22,832] cmp w0, 255 - bne .L2111 + bne .L2118 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -13156,8 +13202,8 @@ ftl_info_flush: add x1, x1, 352 add x0, x0, :lo12:.LC0 bl printk - b .L2111 -.L2109: + b .L2118 +.L2116: ldrb w19, [x19,833] adrp x20, .LANCHOR3 adrp x23, .LC0 @@ -13165,9 +13211,9 @@ ftl_info_flush: add w19, w19, 1 add x23, x23, :lo12:.LC0 add x20, x20, 352 -.L2112: +.L2119: cmp w19, 7 - bhi .L2117 + bhi .L2124 add x0, x21, :lo12:.LANCHOR0 ldr x1, [x0,192] add w0, w19, 8 @@ -13176,26 +13222,26 @@ ftl_info_flush: add w0, w24, 127 uxtb w0, w0 cmp w0, 125 - bhi .L2113 + bhi .L2120 mov x0, x23 mov x1, x20 mov w2, 701 bl printk - b .L2114 -.L2113: + b .L2121 +.L2120: cmp w24, 255 - beq .L2115 -.L2114: + beq .L2122 +.L2121: add x0, x21, :lo12:.LANCHOR0 - ldrh w1, [x0,3318] + ldrh w1, [x0,3324] mov w0, 0 mul w1, w24, w1 bl flash_erase_block -.L2115: +.L2122: add w19, w19, 1 uxth w19, w19 - b .L2112 -.L2111: + b .L2119 +.L2118: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13249,7 +13295,7 @@ ftl_info_blk_init: strh wzr, [x22,834] ldrb w0, [x0,40] strb w0, [x22,832] -.L2135: +.L2142: add x5, x20, :lo12:.LANCHOR0 add w0, w19, 8 sxth w25, w19 @@ -13257,8 +13303,8 @@ ftl_info_blk_init: add x0, x1, x0, sxtw ldrb w1, [x0,32] cmp w1, 255 - beq .L2131 - ldrh w22, [x5,3318] + beq .L2138 + ldrh w22, [x5,3324] mov w0, 0 ldrb w4, [x5,2816] mov x2, x24 @@ -13270,7 +13316,7 @@ ftl_info_blk_init: cmn w0, #1 mov w28, w0 ldr x5, [x29,104] - bne .L2132 + bne .L2139 ldrb w4, [x5,2816] mov w0, 0 add w1, w22, 1 @@ -13278,9 +13324,9 @@ ftl_info_blk_init: mov x3, x23 bl ftl_read_page mov w28, w0 -.L2132: +.L2139: ldr w0, [x27,#:lo12:.LANCHOR2] - tbz x0, 12, .L2133 + tbz x0, 12, .L2140 add x0, x20, :lo12:.LANCHOR0 mov w1, w19 mov w2, w28 @@ -13289,28 +13335,28 @@ ftl_info_blk_init: mov x0, x26 ldr w4, [x4] bl printk -.L2133: +.L2140: cmn w28, #1 - beq .L2131 + beq .L2138 add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,2848] ldr w1, [x0] mov w0, 21574 movk w0, 0x494c, lsl 16 cmp w1, w0 - beq .L2148 -.L2131: + beq .L2155 +.L2138: sub w19, w19, #1 cmn w19, #1 - bne .L2135 + bne .L2142 mov w25, 0 - b .L2134 -.L2148: + b .L2141 +.L2155: mov w19, w25 -.L2134: +.L2141: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2136 + tbz x0, 12, .L2143 add x0, x20, :lo12:.LANCHOR0 mov w1, w19 mov w2, 4800 @@ -13319,9 +13365,9 @@ ftl_info_blk_init: add x0, x0, :lo12:.LC159 ldr w3, [x3] bl printk -.L2136: +.L2143: cmn w19, #1 - bne .L2137 + bne .L2144 add x0, x21, :lo12:.LANCHOR5 mov w1, 0 add x0, x0, 896 @@ -13333,8 +13379,8 @@ ftl_info_blk_init: movk w0, 0x494c, lsl 16 str w0, [x1] mov w0, w19 - b .L2138 -.L2137: + b .L2145 +.L2144: add x26, x20, :lo12:.LANCHOR0 add x23, x21, :lo12:.LANCHOR5 add w0, w25, 8 @@ -13354,10 +13400,10 @@ ftl_info_blk_init: add w0, w0, 1 uxth w19, w0 ldrb w0, [x23,832] - ldrh w23, [x26,3318] + ldrh w23, [x26,3324] mul w23, w0, w23 -.L2139: - tbnz w22, #31, .L2144 +.L2146: + tbnz w22, #31, .L2151 add x26, x20, :lo12:.LANCHOR0 mov w0, 0 add w1, w22, w23 @@ -13366,63 +13412,63 @@ ftl_info_blk_init: ldrb w4, [x26,2816] bl ftl_read_page cmn w0, #1 - beq .L2140 + beq .L2147 ldr x0, [x26,2848] ldr w1, [x0] mov w0, 21574 movk w0, 0x494c, lsl 16 cmp w1, w0 - bne .L2140 -.L2144: + bne .L2147 +.L2151: add x20, x20, :lo12:.LANCHOR0 add x21, x21, :lo12:.LANCHOR5 ldr x0, [x20,2848] strh w19, [x21,834] ldr w2, [x0,16] cmp w2, 2048 - bls .L2142 + bls .L2149 lsr w1, w2, 11 ldr w3, [x0,20] add w3, w3, w1 sub w1, w2, w1, lsl 11 str w3, [x0,20] str w1, [x0,16] - b .L2142 -.L2140: + b .L2149 +.L2147: sub w22, w22, #1 sxth w22, w22 - b .L2139 -.L2142: + b .L2146 +.L2149: ldr w2, [x0,24] cmp w2, 2048 - bls .L2145 + bls .L2152 lsr w1, w2, 11 ldr w3, [x0,28] add w3, w3, w1 sub w1, w2, w1, lsl 11 str w3, [x0,28] str w1, [x0,24] -.L2145: +.L2152: ldr w2, [x0,32] cmp w2, 1024 - bls .L2146 + bls .L2153 lsr w1, w2, 10 ldr w3, [x0,36] add w3, w3, w1 sub w1, w2, w1, lsl 10 str w3, [x0,36] str w1, [x0,32] -.L2146: +.L2153: ldr w2, [x0,40] cmp w2, 1024 - bls .L2147 + bls .L2154 lsr w1, w2, 10 ldr w3, [x0,44] add w3, w3, w1 sub w1, w2, w1, lsl 10 str w3, [x0,44] str w1, [x0,40] -.L2147: +.L2154: ldr w1, [x0,64] add w1, w1, 1 str w1, [x0,64] @@ -13431,7 +13477,7 @@ ftl_info_blk_init: mov w0, 0 bl ftl_info_flush mov w0, 0 -.L2138: +.L2145: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -13458,17 +13504,17 @@ ftl_ext_info_flush: ldr x1, [x1,80] ldr w3, [x1,520] cmp w0, w3 - bls .L2166 + bls .L2173 ldr w2, [x1,12] sub w2, w2, w3 add w2, w2, w0 str w2, [x1,12] - b .L2179 -.L2166: - bcs .L2167 -.L2179: + b .L2186 +.L2173: + bcs .L2174 +.L2186: str w0, [x1,520] -.L2167: +.L2174: adrp x23, .LANCHOR3 adrp x24, .LANCHOR6 add x23, x23, :lo12:.LANCHOR3 @@ -13477,11 +13523,11 @@ ftl_ext_info_flush: add x23, x23, 368 sub x25, x24, #64 bl ftl_total_vpn_update -.L2168: +.L2175: adrp x19, .LANCHOR5 add x19, x19, :lo12:.LANCHOR5 add x19, x19, 576 -.L2171: +.L2178: add x2, x22, :lo12:.LANCHOR0 ldr x0, [x2,2848] ldr w1, [x0,56] @@ -13490,21 +13536,21 @@ ftl_ext_info_flush: ldrh w1, [x0,140] ldrh w0, [x2,3276] cmp w1, w0 - bcc .L2169 + bcc .L2176 bl ftl_ext_alloc_new_blk -.L2169: +.L2176: add x0, x22, :lo12:.LANCHOR0 ldr x0, [x0,2848] ldrh w1, [x0,130] mov w0, 65535 cmp w1, w0 - bne .L2170 + bne .L2177 adrp x0, .LC0 mov x1, x23 add x0, x0, :lo12:.LC0 - mov w2, 1621 + mov w2, 1639 bl printk -.L2170: +.L2177: add x21, x22, :lo12:.LANCHOR0 mov w0, 21 mov w1, 1 @@ -13518,7 +13564,7 @@ ftl_ext_info_flush: sub w20, w20, #1 ldrb w2, [x21,2816] and w3, w20, w3 - ldrh w20, [x21,3318] + ldrh w20, [x21,3324] mov w1, 0 lsl w2, w2, 1 madd w20, w3, w20, w0 @@ -13541,17 +13587,17 @@ ftl_ext_info_flush: uxth w1, w1 strh w1, [x2,140] cmp w1, 1 - beq .L2171 + beq .L2178 cmn w0, #1 - beq .L2172 + beq .L2179 ldrb w0, [x24,-126] - cbz w0, .L2173 -.L2172: + cbz w0, .L2180 +.L2179: adrp x0, .LANCHOR6 add x0, x0, :lo12:.LANCHOR6 strb wzr, [x0,-126] - b .L2168 -.L2173: + b .L2175 +.L2180: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -13570,82 +13616,85 @@ ftl_ext_info_init: adrp x19, .LANCHOR0 str x27, [sp,80] add x1, x19, :lo12:.LANCHOR0 - adrp x20, .LANCHOR6 - stp x23, x24, [sp,48] + mov w20, 1 stp x21, x22, [sp,32] + stp x23, x24, [sp,48] stp x25, x26, [sp,64] strh wzr, [x1,3856] - adrp x21, .LANCHOR5 + adrp x21, .LANCHOR6 ldr x0, [x1,2848] - add x2, x20, :lo12:.LANCHOR6 - ldrh w22, [x1,3314] + adrp x22, .LANCHOR5 + ldrh w23, [x1,3314] mov w1, 21 - add x3, x21, :lo12:.LANCHOR5 - sub x2, x2, #64 + add x2, x21, :lo12:.LANCHOR6 + add x3, x22, :lo12:.LANCHOR5 ldrh w0, [x0,130] - sub w22, w1, w22 + sub w23, w1, w23 + lsl w20, w20, w23 + sub x2, x2, #64 + asr w23, w0, w23 + sub w20, w20, #1 + and w20, w20, w0 add x3, x3, 576 - asr w22, w0, w22 - and w25, w0, 16383 - mov w1, w25 - uxtb w22, w22 - mov w0, w22 + uxtb w23, w23 + mov w1, w20 + mov w0, w23 bl flash_get_last_written_page - sxth w24, w0 + sxth w25, w0 adrp x0, .LANCHOR2 - mov w23, w24 + mov w24, w25 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2181 + tbz x0, 12, .L2188 adrp x1, .LANCHOR3 adrp x0, .LC108 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC108 add x1, x1, 392 - mov w2, 1665 - mov w3, w24 + mov w2, 1683 + mov w3, w25 bl printk -.L2181: - add x20, x20, :lo12:.LANCHOR6 - add x21, x21, :lo12:.LANCHOR5 - mov w26, w24 - sub x20, x20, #64 - add x21, x21, 576 -.L2182: - tbnz w26, #31, .L2187 +.L2188: + add x21, x21, :lo12:.LANCHOR6 + add x22, x22, :lo12:.LANCHOR5 + mov w26, w25 + sub x21, x21, #64 + add x22, x22, 576 +.L2189: + tbnz w26, #31, .L2194 add x27, x19, :lo12:.LANCHOR0 - mov w0, w22 - mov x2, x20 - mov x3, x21 - ldrh w1, [x27,3318] + mov w0, w23 + mov x2, x21 + mov x3, x22 + ldrh w1, [x27,3324] ldrb w4, [x27,2816] - madd w1, w25, w1, w26 + madd w1, w20, w1, w26 bl flash_read_page_en cmp w0, 512 - beq .L2183 + beq .L2190 cmn w0, #1 - beq .L2183 + beq .L2190 ldr x0, [x27,80] ldr w1, [x0] mov w0, 20038 movk w0, 0x4549, lsl 16 cmp w1, w0 - bne .L2183 -.L2187: + bne .L2190 +.L2194: bl zftl_sblk_list_init add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2848] ldrh w1, [x0,140] - cmp w1, w24 - bgt .L2185 - add w23, w23, 1 - strh w23, [x0,140] + cmp w1, w25 + bgt .L2192 + add w24, w24, 1 + strh w24, [x0,140] bl ftl_ext_info_flush - b .L2185 -.L2183: + b .L2192 +.L2190: sub w26, w26, #1 sxth w26, w26 - b .L2182 -.L2185: + b .L2189 +.L2192: add x19, x19, :lo12:.LANCHOR0 ldr x20, [x19,80] bl timer_get_time @@ -13686,7 +13735,7 @@ ftl_low_format: adrp x24, .LANCHOR0 add x22, x22, :lo12:.LC0 add x20, x20, 416 -.L2200: +.L2207: add x0, x24, :lo12:.LANCHOR0 adrp x19, .LANCHOR0 ldr x0, [x0,192] @@ -13695,23 +13744,23 @@ ftl_low_format: add w0, w23, 127 uxtb w0, w0 cmp w0, 125 - bhi .L2198 + bhi .L2205 mov x0, x22 mov x1, x20 - mov w2, 1836 + mov w2, 1854 bl printk -.L2198: +.L2205: cmp w23, 255 - beq .L2199 + beq .L2206 add x0, x19, :lo12:.LANCHOR0 - ldrh w1, [x0,3318] + ldrh w1, [x0,3324] mov w0, 0 mul w1, w23, w1 bl flash_erase_block -.L2199: +.L2206: add w21, w21, 1 cmp w21, 16 - bne .L2200 + bne .L2207 bl sblk_init bl ftl_info_blk_init adrp x0, .LANCHOR5 @@ -13725,9 +13774,9 @@ ftl_low_format: ldr x0, [x1,2848] ldrh w5, [x1,56] ldrh w0, [x0,134] -.L2201: +.L2208: cmp w0, w5 - bcs .L2235 + bcs .L2242 add x4, x19, :lo12:.LANCHOR0 ubfiz x1, x0, 2, 16 add w0, w0, 1 @@ -13742,8 +13791,8 @@ ftl_low_format: ldrb w2, [x1,2] bfi w2, w6, 3, 2 strb w2, [x1,2] - b .L2201 -.L2235: + b .L2208 +.L2242: add x0, x19, :lo12:.LANCHOR0 mov w1, 21574 movk w1, 0x494c, lsl 16 @@ -13754,11 +13803,11 @@ ftl_low_format: str w1, [x2] ldr x0, [x0,2848] strh wzr, [x0,148] -.L2203: +.L2210: add x21, x19, :lo12:.LANCHOR0 ldrh w0, [x21,56] cmp w0, w20 - bls .L2236 + bls .L2243 add x0, x24, :lo12:.LANCHOR7 mov w27, 0 ubfiz x22, x20, 2, 16 @@ -13767,17 +13816,17 @@ ftl_low_format: mov w0, w20 bl ftl_test_block ldrb w28, [x21,3312] - ldrb w4, [x21,3320] + ldrb w4, [x21,3326] mov w21, w27 mul w6, w20, w28 uxth w5, w28 -.L2204: +.L2211: cmp w21, w4 - bcs .L2208 + bcs .L2215 mov x26, 0 -.L2209: +.L2216: cmp w5, w26, uxth - bls .L2237 + bls .L2244 add w1, w6, w26 mov w0, w21 str x5, [x29,104] @@ -13787,7 +13836,7 @@ ftl_low_format: ldr x6, [x29,120] ldr x4, [x29,112] ldr x5, [x29,104] - cbz w0, .L2205 + cbz w0, .L2212 add x3, x19, :lo12:.LANCHOR0 add w1, w27, w26 lsl w1, w25, w1 @@ -13800,31 +13849,31 @@ ftl_low_format: ldrh w0, [x1,148] add w0, w0, 1 strh w0, [x1,148] - b .L2206 -.L2205: + b .L2213 +.L2212: add w23, w23, 1 uxth w23, w23 -.L2206: +.L2213: add x26, x26, 1 - b .L2209 -.L2237: + b .L2216 +.L2244: add w21, w21, 1 add w27, w27, w28 uxth w21, w21 - b .L2204 -.L2208: - cbnz w23, .L2210 + b .L2211 +.L2215: + cbnz w23, .L2217 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,64] add x22, x0, x22 ldrb w0, [x22,2] orr w0, w0, -32 strb w0, [x22,2] -.L2210: +.L2217: add w20, w20, 1 uxth w20, w20 - b .L2203 -.L2236: + b .L2210 +.L2243: adrp x0, .LANCHOR6 mov w1, 0 add x0, x0, :lo12:.LANCHOR6 @@ -13843,7 +13892,7 @@ ftl_low_format: ldrb w20, [x0,47] udiv w20, w20, w4 add w20, w20, 1 -.L2214: +.L2221: add x3, x19, :lo12:.LANCHOR0 lsl x0, x1, 2 cmp w4, 1 @@ -13852,11 +13901,11 @@ ftl_low_format: ldr x2, [x3,64] add x2, x2, x0 strb w5, [x2,3] - bne .L2213 + bne .L2220 ldr x2, [x3,64] add x2, x2, x0 strb w7, [x2,3] -.L2213: +.L2220: add x2, x19, :lo12:.LANCHOR0 add x1, x1, 1 cmp w20, w1, uxth @@ -13869,7 +13918,7 @@ ftl_low_format: ldrb w3, [x0,2] orr w3, w3, -32 strb w3, [x0,2] - bhi .L2214 + bhi .L2221 mov w0, 16 sdiv w4, w0, w4 ldr x0, [x2,2848] @@ -13878,14 +13927,14 @@ ftl_low_format: strh w4, [x0,134] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2215 + tbz x0, 12, .L2222 adrp x0, .LC160 - mov w1, 1883 + mov w1, 1901 add x0, x0, :lo12:.LC160 mov w2, 128 mov w3, w20 bl printk -.L2215: +.L2222: add x21, x19, :lo12:.LANCHOR0 mov w1, 255 mov w2, 128 @@ -13895,19 +13944,19 @@ ftl_low_format: ldrb w8, [x21,3312] mov w10, 21 ldrh w0, [x21,3314] - ldrb w13, [x21,3320] + ldrb w13, [x21,3326] uxth w9, w8 sub w10, w10, w0 mov w0, 0 mul w11, w20, w9 mov w22, w0 uxth w11, w11 -.L2216: +.L2223: add x21, x19, :lo12:.LANCHOR0 ldr x1, [x21,2848] ldrh w1, [x1,134] cmp w1, w20 - bls .L2238 + bls .L2245 ldr x2, [x21,64] ubfiz x1, x20, 2, 16 add w6, w0, w11 @@ -13921,46 +13970,46 @@ ftl_low_format: ldr x2, [x21,64] ldr x14, [x21,2848] add x1, x2, x1 -.L2217: +.L2224: cmp w13, w4, uxth - bls .L2221 + bls .L2228 lsl w12, w4, w10 mov x3, 0 uxth w12, w12 -.L2222: +.L2229: uxth w2, w3 cmp w2, w9 - bcs .L2239 + bcs .L2246 ldrb w7, [x1,3] add w15, w5, w3 asr w7, w7, w15 - tbnz x7, 0, .L2218 + tbnz x7, 0, .L2225 cmp w8, 1 mov w7, w6 - bls .L2219 + bls .L2226 and w2, w2, 1 add w2, w6, w2 uxth w7, w2 -.L2219: +.L2226: add x15, x14, x22, sxtw 1 add w22, w22, 1 add w2, w7, w12 strh w2, [x15,160] uxth w22, w22 -.L2218: +.L2225: add x3, x3, 1 - b .L2222 -.L2239: + b .L2229 +.L2246: add w4, w4, 1 add w5, w5, w8 - b .L2217 -.L2221: + b .L2224 +.L2228: add w20, w20, 1 add w0, w0, w9 uxth w20, w20 uxth w0, w0 - b .L2216 -.L2238: + b .L2223 +.L2245: ldrh w2, [x21,56] mov w1, 0 ldr x0, [x21,72] @@ -13990,15 +14039,15 @@ ftl_low_format: mov w0, 65533 sub w1, w20, #1 cmp w0, w1, uxth - bcs .L2224 + bcs .L2231 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 416 - mov w2, 1914 + mov w2, 1932 bl printk -.L2224: +.L2231: add x19, x19, :lo12:.LANCHOR0 mov w1, 255 mov w2, 256 @@ -14091,9 +14140,9 @@ ftl_re_low_format_test: mov w3, w0 mov w4, w0 ldrh w1, [x1,134] -.L2241: +.L2248: cmp w1, w2 - bcs .L2247 + bcs .L2254 add x5, x19, :lo12:.LANCHOR0 ldr x6, [x5,64] add x6, x6, x1, uxth 2 @@ -14101,24 +14150,24 @@ ftl_re_low_format_test: and w7, w5, 31 ands w5, w5, 24 strb w7, [x6,2] - bne .L2242 + bne .L2249 add w4, w4, 1 uxth w4, w4 - b .L2243 -.L2242: + b .L2250 +.L2249: cmp w5, 16 - bne .L2244 + bne .L2251 add w3, w3, 1 uxth w3, w3 - b .L2243 -.L2244: + b .L2250 +.L2251: add w0, w0, 1 uxth w0, w0 -.L2243: +.L2250: add w1, w1, 1 uxth w1, w1 - b .L2241 -.L2247: + b .L2248 +.L2254: add x20, x19, :lo12:.LANCHOR0 lsl w2, w2, 1 ldr x1, [x20,2848] @@ -14147,15 +14196,15 @@ ftl_re_low_format_test: mov w0, 65533 sub w1, w20, #1 cmp w0, w1, uxth - bcs .L2246 + bcs .L2253 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 432 - mov w2, 1986 + mov w2, 2004 bl printk -.L2246: +.L2253: add x19, x19, :lo12:.LANCHOR0 mov w1, 255 mov w2, 256 @@ -14262,13 +14311,13 @@ ftl_write_last_log_page: ldrh w24, [x0,12] cmp w1, 1 ldr x22, [x19,3840] - bne .L2250 + bne .L2257 mov x20, x0 bl ftl_get_new_free_page cmn w0, #1 mov w23, w0 mov w21, 0 - beq .L2250 + beq .L2257 ldrh w0, [x20] add x22, x22, x24, uxth 2 bl ftl_vpn_decrement @@ -14293,7 +14342,7 @@ ftl_write_last_log_page: str w21, [x2,8] str w21, [x2,12] bl ftl_prog_ppa_page -.L2250: +.L2257: mov w0, w21 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -14317,34 +14366,34 @@ ftl_open_sblk_recovery: stp x21, x22, [sp,80] stp x25, x26, [sp,112] stp x27, x28, [sp,128] - tbz x0, 12, .L2255 + tbz x0, 12, .L2262 adrp x0, .LC162 ldrh w1, [x19,2] add x0, x0, :lo12:.LC162 bl printk -.L2255: +.L2262: ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L2256 + tbz x0, 12, .L2263 adrp x0, .LC163 ldrb w1, [x19,5] add x0, x0, :lo12:.LC163 bl printk -.L2256: +.L2263: ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L2257 + tbz x0, 12, .L2264 adrp x0, .LC164 ldrh w1, [x19] add x0, x0, :lo12:.LC164 bl printk -.L2257: +.L2264: ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L2258 + tbz x0, 12, .L2265 adrp x0, .LC165 ldrh w1, [x19,16] ldrh w2, [x19,18] add x0, x0, :lo12:.LC165 bl printk -.L2258: +.L2265: ldrh w0, [x19,10] adrp x24, .LANCHOR5 strh w0, [x19,14] @@ -14359,27 +14408,27 @@ ftl_open_sblk_recovery: mov w28, 0 add x24, x24, 576 add x25, x25, 456 -.L2259: +.L2266: adrp x20, .LANCHOR0 add x0, x20, :lo12:.LANCHOR0 ldrh w0, [x0,3276] cmp w0, w22 - bls .L2262 + bls .L2269 ldrb w21, [x19,5] -.L2260: +.L2267: ldrb w0, [x19,9] cmp w0, w21 - bls .L2340 + bls .L2347 add x0, x19, x21, sxtw 1 ldrh w5, [x0,16] mov w0, 65535 cmp w5, w0 - beq .L2261 + beq .L2268 add x3, x20, :lo12:.LANCHOR0 ldr x1, [x27,8] ldr x2, [x27,24] str x5, [x29,104] - ldrh w4, [x3,3318] + ldrh w4, [x3,3324] ldrb w3, [x3,2816] madd w4, w5, w4, w22 str x4, [x29,112] @@ -14387,25 +14436,25 @@ ftl_open_sblk_recovery: bl ftl_read_ppa_page cmp w0, 512 mov w26, w0 - beq .L2262 + beq .L2269 cmn w0, #1 ldr x4, [x29,112] ldr x5, [x29,104] - beq .L2263 + beq .L2270 ldr x0, [x27,24] ldr w1, [x0] cmn w1, #1 - bne .L2263 + bne .L2270 ldr w0, [x0,4] cmn w0, #1 - bne .L2263 + bne .L2270 ldr x0, [x27,8] ldr w0, [x0] cmn w0, #1 - beq .L2262 -.L2263: + beq .L2269 +.L2270: ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L2264 + tbz x0, 12, .L2271 ldr x7, [x27,8] mov w3, w4 ldr x0, [x27,24] @@ -14428,7 +14477,7 @@ ftl_open_sblk_recovery: ldr w6, [x7,4] ldr w7, [x7,8] bl printk -.L2264: +.L2271: adrp x0, .LANCHOR6-127 mov w1, 1 strb w1, [x0,#:lo12:.LANCHOR6-127] @@ -14436,13 +14485,13 @@ ftl_open_sblk_recovery: ldrh w1, [x19,10] madd w0, w22, w0, w21 cmp w1, w0 - beq .L2265 + beq .L2272 adrp x0, .LC0 mov x1, x25 add x0, x0, :lo12:.LC0 - mov w2, 1270 + mov w2, 1288 bl printk -.L2265: +.L2272: ldrh w0, [x19,10] ldrh w1, [x19,6] ldrb w2, [x19,9] @@ -14451,28 +14500,28 @@ ftl_open_sblk_recovery: ldrh w0, [x0,3276] mul w0, w0, w2 cmp w1, w0 - beq .L2266 + beq .L2273 adrp x0, .LC0 mov x1, x25 add x0, x0, :lo12:.LC0 - mov w2, 1271 + mov w2, 1289 bl printk -.L2266: +.L2273: cmn w26, #1 - beq .L2270 + beq .L2277 ldr x0, [x27,24] ldr w0, [x0,4] cmn w0, #1 - beq .L2270 + beq .L2277 bl lpa_hash_get_ppa ldr x1, [x29,120] - cbz x1, .L2268 + cbz x1, .L2275 ldr x3, [x27,24] ldr w1, [x3,8] cmp w0, w1 - beq .L2268 + beq .L2275 cmn w0, #1 - beq .L2268 + beq .L2275 add x28, x20, :lo12:.LANCHOR0 mov w4, 21 mov w26, 1 @@ -14487,7 +14536,7 @@ ftl_open_sblk_recovery: ldr x2, [x29,120] ldrh w2, [x2] cmp w2, w1, uxth - bne .L2268 + bne .L2275 ldr w5, [x3] mov x2, x24 ldr x1, [x27,8] @@ -14499,11 +14548,11 @@ ftl_open_sblk_recovery: ldr x5, [x29,112] ldr x4, [x29,104] cmp w0, w5 - bcc .L2268 + bcc .L2275 ldr x0, [x27,24] ldr w1, [x0,8] cmn w1, #1 - beq .L2270 + beq .L2277 ldrh w0, [x28,3314] sub w4, w4, w0 lsr w1, w1, w0 @@ -14513,22 +14562,22 @@ ftl_open_sblk_recovery: and w1, w26, w1 udiv w0, w1, w0 bl ftl_vpn_decrement - b .L2270 -.L2268: + b .L2277 +.L2275: ldr x2, [x27,24] add x1, x20, :lo12:.LANCHOR0 ldr w3, [x2,4] ldr w0, [x1,2824] cmp w3, w0 - bcs .L2270 + bcs .L2277 ldrb w0, [x19,9] ldrh w4, [x1,3276] ldrh w3, [x19,10] mul w0, w0, w4 sub w0, w0, #1 cmp w3, w0 - blt .L2341 -.L2270: + blt .L2348 +.L2277: ldrh w0, [x19,6] mov w28, 1 sub w0, w0, #1 @@ -14536,16 +14585,16 @@ ftl_open_sblk_recovery: ldrh w0, [x19,10] add w0, w0, 1 strh w0, [x19,10] -.L2261: +.L2268: add w21, w21, 1 uxth w21, w21 - b .L2260 -.L2340: + b .L2267 +.L2347: add w22, w22, 1 strb wzr, [x19,5] uxth w22, w22 - b .L2259 -.L2262: + b .L2266 +.L2269: add x2, x20, :lo12:.LANCHOR0 ldrh w0, [x19,10] ldrh w1, [x19,6] @@ -14556,34 +14605,34 @@ ftl_open_sblk_recovery: strb w21, [x19,5] mul w0, w0, w2 cmp w1, w0 - beq .L2274 + beq .L2281 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 456 - mov w2, 1347 + mov w2, 1365 bl printk -.L2274: +.L2281: add x0, x20, :lo12:.LANCHOR0 ldrh w3, [x19,10] ldr x4, [x0,3840] mov w0, 0 mov w2, w0 -.L2275: +.L2282: cmp w2, w3 - bcs .L2342 + bcs .L2349 ldrh w1, [x19,12] add w1, w2, w1 ldr w1, [x4,x1,lsl 2] cmn w1, #1 - beq .L2276 + beq .L2283 add w1, w0, 1 uxth w0, w1 -.L2276: +.L2283: add w2, w2, 1 - b .L2275 -.L2342: + b .L2282 +.L2349: add x2, x20, :lo12:.LANCHOR0 ldrb w1, [x19,9] sub w0, w0, w3 @@ -14591,7 +14640,7 @@ ftl_open_sblk_recovery: madd w0, w1, w21, w0 uxth w21, w0 ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L2278 + tbz x0, 12, .L2285 ldrh w1, [x19] adrp x0, .LC167 ldr x4, [x2,72] @@ -14600,7 +14649,7 @@ ftl_open_sblk_recovery: mov w2, w21 ldrh w3, [x4,x3] bl printk -.L2278: +.L2285: add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x19] adrp x22, .LC168 @@ -14611,24 +14660,24 @@ ftl_open_sblk_recovery: mov x0, x27 mov w21, 0 bl buf_free -.L2279: +.L2286: add x2, x20, :lo12:.LANCHOR0 ldrb w0, [x2,3244] cmp w21, w0, lsl 1 - bcs .L2343 - cbz w28, .L2280 + bcs .L2350 + cbz w28, .L2287 ldrh w0, [x19,6] cmp w0, 1 - bls .L2280 + bls .L2287 mov x0, x19 bl ftl_get_new_free_page mov w25, w0 ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L2281 + tbz x0, 12, .L2288 mov x0, x22 mov w1, w25 bl printk -.L2281: +.L2288: add x3, x20, :lo12:.LANCHOR0 ldr x0, [x27,24] ldr x1, [x3,2848] @@ -14649,10 +14698,10 @@ ftl_open_sblk_recovery: bl ftl_prog_ppa_page ldrh w0, [x19] bl ftl_vpn_decrement -.L2280: +.L2287: add w21, w21, 1 - b .L2279 -.L2343: + b .L2286 +.L2350: ldrh w1, [x2,3276] ldrh w0, [x19,12] ldrb w3, [x19,9] @@ -14662,29 +14711,29 @@ ftl_open_sblk_recovery: ldr x1, [x2,3840] ldr w0, [x1,x0] cmn w0, #1 - beq .L2283 + beq .L2290 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 456 - mov w2, 1377 + mov w2, 1395 bl printk -.L2283: +.L2290: ldrh w0, [x19,6] cmp w0, 1 - bne .L2254 + bne .L2261 mov x0, x19 bl ftl_write_last_log_page - b .L2254 -.L2341: + b .L2261 +.L2348: ldr x0, [x1,2848] ldr w2, [x2] ldr w1, [x0,8] cmp w2, w1 - bls .L2271 + bls .L2278 str w2, [x0,8] -.L2271: +.L2278: ldr x1, [x27,24] ldrh w0, [x19,10] ldrh w2, [x19,12] @@ -14692,8 +14741,8 @@ ftl_open_sblk_recovery: ldr w0, [x1,4] ldr w1, [x1,8] bl lpa_hash_update_ppa - b .L2270 -.L2254: + b .L2277 +.L2261: sub sp, x29, #48 ldp x19, x20, [sp,64] ldp x21, x22, [sp,80] @@ -14723,7 +14772,7 @@ pm_write_page: adrp x25, .LANCHOR0 add x23, x23, :lo12:.LC0 add x22, x22, 480 -.L2345: +.L2352: add x2, x25, :lo12:.LANCHOR0 adrp x19, .LANCHOR0 ldr x0, [x2,2848] @@ -14733,33 +14782,33 @@ pm_write_page: str w1, [x0,48] ldrh w1, [x2,3276] cmp w3, w1 - bcs .L2346 + bcs .L2353 ldrh w1, [x0,692] mov w0, 65535 cmp w1, w0 - bne .L2347 -.L2346: + bne .L2354 +.L2353: bl pm_alloc_new_blk mov w0, 0 bl ftl_info_flush -.L2347: +.L2354: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2848] ldrh w1, [x0,692] mov w0, 65535 cmp w1, w0 - bne .L2348 + bne .L2355 mov x0, x23 mov x1, x22 mov w2, 228 bl printk -.L2348: +.L2355: add x19, x19, :lo12:.LANCHOR0 adrp x20, .LANCHOR7 add x27, x20, :lo12:.LANCHOR7 mov w2, 64 ldr x1, [x19,2848] - ldrh w26, [x19,3318] + ldrh w26, [x19,3324] ldrh w0, [x1,692] ldrh w1, [x1,696] madd w26, w0, w26, w1 @@ -14785,28 +14834,28 @@ pm_write_page: uxth w2, w2 strh w2, [x1,696] cmp w2, 1 - beq .L2349 + beq .L2356 ldrb w2, [x27,3280] - cbz w2, .L2350 -.L2349: + cbz w2, .L2357 +.L2356: add x20, x20, :lo12:.LANCHOR7 strb wzr, [x20,3280] - b .L2345 -.L2350: + b .L2352 +.L2357: cmn w0, #1 - bne .L2352 + bne .L2359 adrp x0, .LC169 mov w1, w26 add x0, x0, :lo12:.LC169 bl printk - b .L2345 -.L2352: + b .L2352 +.L2359: ldrh w0, [x1,698] cmp w21, w0 - bcs .L2353 + bcs .L2360 add x21, x1, x21, uxtw 2 str w26, [x21,704] -.L2353: +.L2360: mov w0, 0 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -14829,7 +14878,7 @@ flash_info_flush: stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - tbz x0, 12, .L2358 + tbz x0, 12, .L2365 adrp x2, .LANCHOR3 adrp x0, .LC115 add x2, x2, :lo12:.LANCHOR3 @@ -14837,7 +14886,7 @@ flash_info_flush: mov w1, 251 add x2, x2, 496 bl printk -.L2358: +.L2365: adrp x22, .LANCHOR4 adrp x23, .LANCHOR0 add x0, x22, :lo12:.LANCHOR4 @@ -14862,7 +14911,7 @@ flash_info_flush: ldr w1, [x19,8] bl js_hash str w0, [x19,12] -.L2359: +.L2366: add x21, x22, :lo12:.LANCHOR4 add x27, x23, :lo12:.LANCHOR0 mov x0, x24 @@ -14876,7 +14925,7 @@ flash_info_flush: ldrh w0, [x21,1210] sub w1, w1, #1 cmp w0, w1 - blt .L2360 + blt .L2367 ldr x1, [x27,192] ldrb w19, [x21,1209] strh wzr, [x21,1210] @@ -14897,14 +14946,14 @@ flash_info_flush: ldrh w0, [x27,210] mul w19, w19, w0 mov w0, 0 - b .L2368 -.L2360: + b .L2375 +.L2367: madd w19, w20, w28, w19 - cbnz w0, .L2361 -.L2368: + cbnz w0, .L2368 +.L2375: mov w1, w19 bl flash_erase_block -.L2361: +.L2368: add x2, x23, :lo12:.LANCHOR0 add x20, x22, :lo12:.LANCHOR4 mov w4, 4 @@ -14926,16 +14975,16 @@ flash_info_flush: ldrh w1, [x20,1210] add w1, w1, 1 strh w1, [x20,1210] - bne .L2362 + bne .L2369 mov x0, x25 mov w1, w19 bl printk - b .L2359 -.L2362: - cbnz w26, .L2369 - mov w26, 1 - b .L2359 + b .L2366 .L2369: + cbnz w26, .L2376 + mov w26, 1 + b .L2366 +.L2376: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -14958,15 +15007,15 @@ nand_flash_init: stp x23, x24, [sp,48] ldr w0, [x20,#:lo12:.LANCHOR2] stp x25, x26, [sp,64] - tbz x0, 12, .L2371 + tbz x0, 12, .L2378 adrp x2, .LANCHOR3 adrp x0, .LC115 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC115 - mov w1, 2083 + mov w1, 2101 add x2, x2, 520 bl printk -.L2371: +.L2378: mov x0, x19 adrp x19, .LANCHOR0 mov x21, 0 @@ -14980,71 +15029,71 @@ nand_flash_init: mov x23, x0 mov x24, x22 str x1, [x0,88] -.L2377: +.L2384: mov w0, w21 mov x1, x22 bl flash_read_id add x0, x23, 728 strb w25, [x21,x0] - cbnz x21, .L2372 + cbnz x21, .L2379 ldrb w0, [x24] sub w0, w0, #1 uxtb w0, w0 cmp w0, 253 - bls .L2373 -.L2375: + bls .L2380 +.L2382: mov w22, -2 - b .L2419 -.L2373: + b .L2426 +.L2380: ldrb w0, [x24,1] cmp w0, 255 - beq .L2375 -.L2372: + beq .L2382 +.L2379: ldrb w0, [x22] cmp w0, 181 - bne .L2376 + bne .L2383 strb w26, [x22] -.L2376: +.L2383: add x21, x21, 1 add x22, x22, 8 cmp x21, 4 - bne .L2377 + bne .L2384 add x22, x20, :lo12:.LANCHOR2 add x23, x19, :lo12:.LANCHOR0 add x22, x22, 440 mov w21, 0 add x23, x23, 732 -.L2380: +.L2387: ldrb w2, [x22] add x0, x22, 1 mov x1, x23 bl flash_mem_cmp8 - cbnz w0, .L2378 + cbnz w0, .L2385 add x1, x20, :lo12:.LANCHOR2 ubfiz x21, x21, 5, 32 add x0, x1, 440 adds x21, x0, x21 - beq .L2375 + beq .L2382 ldrb w3, [x21,22] mov x0, 0 - b .L2382 -.L2378: + b .L2389 +.L2385: add w21, w21, 1 add x22, x22, 32 cmp w21, 30 - bne .L2380 - b .L2375 -.L2382: + bne .L2387 + b .L2382 +.L2389: add x4, x1, x0, lsl 5 mov w2, w0 ldrb w4, [x4,1400] cmp w4, w3 - beq .L2381 + beq .L2388 add x0, x0, 1 cmp x0, 4 - bne .L2382 + bne .L2389 mov w2, w0 -.L2381: +.L2388: add x22, x20, :lo12:.LANCHOR2 ubfiz x2, x2, 5, 32 add x1, x22, 1400 @@ -15060,30 +15109,30 @@ nand_flash_init: bl ftl_memcpy ldrb w0, [x19,#:lo12:.LANCHOR0] cmp w0, 8 - bhi .L2383 + bhi .L2390 ldrb w1, [x22,20] cmp w1, 60 - bls .L2384 + bls .L2391 mov w1, 60 strb w1, [x22,20] -.L2384: +.L2391: cmp w0, 8 - bne .L2383 + bne .L2390 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,732] cmp w0, 44 - beq .L2444 -.L2383: + beq .L2451 +.L2390: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2385 + tbz x0, 12, .L2392 adrp x2, .LANCHOR3 adrp x0, .LC115 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC115 - mov w1, 2104 + mov w1, 2122 add x2, x2, 520 bl printk -.L2385: +.L2392: adrp x21, .LANCHOR4 mov w0, 16384 add x23, x21, :lo12:.LANCHOR4 @@ -15132,13 +15181,13 @@ nand_flash_init: mov w1, 60 strb w1, [x22,96] ldrb w1, [x19,#:lo12:.LANCHOR0] - strb w2, [x22,3316] + strb w2, [x22,3322] strb w0, [x22,97] cmp w1, 9 - bne .L2386 + bne .L2393 mov w1, 70 strb w1, [x22,96] -.L2386: +.L2393: add x2, x20, :lo12:.LANCHOR2 add x1, x21, :lo12:.LANCHOR4 add x2, x2, 376 @@ -15147,26 +15196,26 @@ nand_flash_init: ldrb w0, [x2,19] ldrh w2, [x2,16] strb w0, [x3,189] - tbz x2, 6, .L2388 + tbz x2, 6, .L2395 sub w2, w0, #17 uxtb w2, w2 cmp w2, 2 - bhi .L2389 + bhi .L2396 adrp x2, micron_read_retrial cmp w0, 19 add x2, x2, :lo12:micron_read_retrial str x2, [x1,1192] - bne .L2440 + bne .L2447 mov w0, 15 - b .L2441 -.L2389: + b .L2448 +.L2396: sub w2, w0, #65 uxtb w2, w2 cmp w2, 1 - bls .L2409 + bls .L2416 cmp w0, 33 - bne .L2392 -.L2409: + bne .L2399 +.L2416: add x0, x21, :lo12:.LANCHOR4 adrp x1, toshiba_read_retrial add x1, x1, :lo12:toshiba_read_retrial @@ -15176,8 +15225,8 @@ nand_flash_init: strb w2, [x1,190] mov w1, 7 strb w1, [x0,1184] - b .L2388 -.L2392: + b .L2395 +.L2399: sub w2, w0, #67 uxtb w2, w2 cmp w2, 1 @@ -15185,101 +15234,101 @@ nand_flash_init: cset w3, ls uxtb w2, w2 cmp w2, 1 - bls .L2410 - cbz w3, .L2394 -.L2410: + bls .L2417 + cbz w3, .L2401 +.L2417: add x2, x21, :lo12:.LANCHOR4 adrp x1, toshiba_read_retrial add x1, x1, :lo12:toshiba_read_retrial cmp w0, 35 str x1, [x2,1192] - beq .L2396 + beq .L2403 cmp w0, 68 - beq .L2396 + beq .L2403 mov w0, 7 strb w0, [x2,1184] - b .L2397 -.L2396: + b .L2404 +.L2403: add x0, x21, :lo12:.LANCHOR4 mov w1, 17 strb w1, [x0,1184] -.L2397: +.L2404: add x0, x19, :lo12:.LANCHOR0 mov w1, 4 - cbnz w3, .L2442 + cbnz w3, .L2449 mov w1, 5 -.L2442: +.L2449: strb w1, [x0,190] - b .L2388 -.L2394: + b .L2395 +.L2401: sub w0, w0, #36 uxtb w0, w0 cmp w0, 1 - bhi .L2388 + bhi .L2395 adrp x0, toshiba_3d_read_retrial add x0, x0, :lo12:toshiba_3d_read_retrial str x0, [x1,1192] -.L2440: +.L2447: mov w0, 7 -.L2441: +.L2448: strb w0, [x1,1184] -.L2388: +.L2395: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2399 + tbz x0, 12, .L2406 adrp x2, .LANCHOR3 adrp x0, .LC115 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC115 - mov w1, 2152 + mov w1, 2170 add x2, x2, 520 bl printk -.L2399: +.L2406: add x0, x19, :lo12:.LANCHOR0 strb wzr, [x0,136] ldrb w0, [x0,764] - tbz x0, 0, .L2400 + tbz x0, 0, .L2407 mov w0, 4 bl nandc_set_if_mode mov w0, 1 bl flash_set_interface_mode mov w0, 1 - b .L2443 -.L2400: + b .L2450 +.L2407: mov w0, 4 -.L2443: +.L2450: bl nandc_set_if_mode bl flash_info_blk_init cmn w0, #1 mov w22, w0 - bne .L2402 + bne .L2409 ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2419 + tbz x0, 12, .L2426 adrp x2, .LANCHOR3 adrp x0, .LC115 add x2, x2, :lo12:.LANCHOR3 - mov w1, 2172 + mov w1, 2190 add x2, x2, 520 add x0, x0, :lo12:.LC115 bl printk - b .L2419 -.L2402: + b .L2426 +.L2409: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,189] sub w0, w0, #1 uxtb w0, w0 cmp w0, 6 - bhi .L2403 + bhi .L2410 add x0, x21, :lo12:.LANCHOR4 adrp x1, hynix_read_retrial add x1, x1, :lo12:hynix_read_retrial str x1, [x0,1192] -.L2403: +.L2410: add x19, x19, :lo12:.LANCHOR0 ldrb w0, [x19,764] - tbz x0, 2, .L2405 + tbz x0, 2, .L2412 ldr x0, [x19,192] ldrb w0, [x0,19] - cbz w0, .L2405 + cbz w0, .L2412 add x21, x21, :lo12:.LANCHOR4 ldrh w1, [x19,210] mov w0, 0 @@ -15287,33 +15336,33 @@ nand_flash_init: mul w1, w2, w1 bl flash_ddr_para_scan ldrb w0, [x19,136] - cbnz w0, .L2405 + cbnz w0, .L2412 ldr x1, [x19,192] strb w0, [x1,19] bl flash_info_flush -.L2405: +.L2412: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2407 + tbz x0, 12, .L2414 adrp x2, .LANCHOR3 adrp x0, .LC115 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC115 - mov w1, 2225 + mov w1, 2243 add x2, x2, 520 bl printk -.L2407: +.L2414: bl nand_flash_print_info mov w22, 0 - b .L2419 -.L2444: + b .L2426 +.L2451: add x0, x20, :lo12:.LANCHOR2 add x0, x0, 376 ldrb w1, [x0,28] cmp w1, 3 - bne .L2383 + bne .L2390 strb wzr, [x0,28] - b .L2383 -.L2419: + b .L2390 +.L2426: mov w0, w22 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -15347,12 +15396,12 @@ ftl_sysblk_dump: add x22, x22, :lo12:.LC166 add x23, x23, :lo12:.LC173 add x24, x24, 704 -.L2446: +.L2453: add x3, x28, :lo12:.LANCHOR0 ldrh w1, [x3,3276] cmp w1, w19 - bls .L2458 - ldrh w21, [x3,3318] + bls .L2465 + ldrh w21, [x3,3324] ldr x1, [x27,8] ldr x2, [x27,24] madd w21, w25, w21, w19 @@ -15387,27 +15436,27 @@ ftl_sysblk_dump: mov w3, 32 bl rknand_print_hex cmp w26, 512 - beq .L2451 + beq .L2458 cmn w26, #1 - bne .L2447 -.L2451: + bne .L2454 +.L2458: mov w20, 1 -.L2447: +.L2454: add w19, w19, 1 uxth w19, w19 - b .L2446 -.L2458: + b .L2453 +.L2465: mov x0, x27 bl buf_free - cbz w20, .L2450 + cbz w20, .L2457 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 536 - mov w2, 1214 + mov w2, 1232 bl printk -.L2450: +.L2457: sub sp, x29, #48 mov w0, w20 ldp x19, x20, [sp,64] @@ -15547,10 +15596,10 @@ pm_ppa_update_check: ubfx x3, x3, 5, 3 cmp w3, 7 cset w4, eq - cbnz w4, .L2464 + cbnz w4, .L2471 cmp w3, w7 - bne .L2461 -.L2464: + bne .L2468 +.L2471: mov w3, w2 mov w2, w1 mov x1, x0 @@ -15559,7 +15608,7 @@ pm_ppa_update_check: bl printk bl dump_ftl_info mov w4, -1 -.L2461: +.L2468: mov w0, w4 ldp x29, x30, [sp], 16 ret @@ -15575,7 +15624,7 @@ load_l2p_region: stp x19, x20, [sp,16] cmp w23, 31 uxth w21, w0 - bls .L2467 + bls .L2474 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -15583,14 +15632,14 @@ load_l2p_region: add x1, x1, 552 mov w2, 31 bl printk -.L2467: +.L2474: adrp x20, .LANCHOR0 adrp x19, .LANCHOR7 add x20, x20, :lo12:.LANCHOR0 ldr x0, [x20,2848] ldrh w2, [x0,698] cmp w21, w2 - bls .L2468 + bls .L2475 adrp x0, .LC186 mov w1, w21 add x0, x0, :lo12:.LC186 @@ -15604,15 +15653,15 @@ load_l2p_region: ldr x0, [x20,2848] ldrh w0, [x0,698] cmp w0, w21 - bcs .L2470 + bcs .L2477 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 552 mov w2, 35 - b .L2474 -.L2468: + b .L2481 +.L2475: add x0, x0, x21, sxtw 2 sbfiz x23, x23, 4, 32 ldr w22, [x0,704] @@ -15620,7 +15669,7 @@ load_l2p_region: add x24, x0, x23 strh w21, [x0,x23] strh wzr, [x24,2] - cbnz w22, .L2471 + cbnz w22, .L2478 adrp x0, .LC187 mov w1, w21 mov w2, w22 @@ -15631,8 +15680,8 @@ load_l2p_region: mov w1, 255 ldrh w2, [x19,3282] bl ftl_memset - b .L2470 -.L2471: + b .L2477 +.L2478: add x23, x19, :lo12:.LANCHOR7 ldrb w3, [x20,2816] ldr x1, [x24,8] @@ -15643,7 +15692,7 @@ load_l2p_region: ldr x0, [x23,3272] ldr w2, [x0] cmp w2, w21 - beq .L2472 + beq .L2479 adrp x0, .LC188 mov w4, w22 mov w1, w21 @@ -15681,21 +15730,21 @@ load_l2p_region: mov x1, 0 udiv w0, w22, w0 bl ftl_sblk_dump -.L2472: +.L2479: add x19, x19, :lo12:.LANCHOR7 ldr x0, [x19,3272] ldr w0, [x0] cmp w0, w21 - beq .L2470 + beq .L2477 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 552 mov w2, 57 -.L2474: +.L2481: bl printk -.L2470: +.L2477: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -15722,19 +15771,19 @@ pm_gc: ldrh w0, [x19,1132] sub w0, w0, #1 cmp w1, w0 - blt .L2477 + blt .L2484 bl pm_free_sblk ldr x2, [x20,2848] ldrh w1, [x19,1132] ldrh w3, [x2,688] sub w1, w1, #1 cmp w3, w1 - blt .L2477 + blt .L2484 add x0, x2, x0, uxth 1 ldrh w21, [x0,416] mov w0, 65535 cmp w21, w0 - bne .L2479 + bne .L2486 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -15746,7 +15795,7 @@ pm_gc: ldr x1, [x20,2848] add x0, x1, x0, uxth 1 ldrh w21, [x0,416] -.L2479: +.L2486: bl pm_select_ram_region uxth x20, w0 add x0, x23, :lo12:.LANCHOR0 @@ -15757,27 +15806,27 @@ pm_gc: ldrh w0, [x0,x1] mov w1, 65535 cmp w0, w1 - beq .L2480 + beq .L2487 ldr x1, [x19,8] - cbz x1, .L2480 + cbz x1, .L2487 ldrsh w2, [x19,2] - tbz w2, #31, .L2480 + tbz w2, #31, .L2487 bl pm_write_page ldrh w0, [x19,2] and w0, w0, 32767 strh w0, [x19,2] -.L2480: +.L2487: add x23, x23, :lo12:.LANCHOR0 mov w19, 0 add x0, x23, 3872 mov w24, 21 mov w25, 1 add x20, x0, x20, lsl 4 -.L2481: +.L2488: ldr x0, [x23,2848] ldrh w1, [x0,698] cmp w1, w19 - bls .L2487 + bls .L2494 ldrh w1, [x23,3314] add x0, x0, x19, sxtw 2 ldr w0, [x0,704] @@ -15789,7 +15838,7 @@ pm_gc: ldrb w0, [x23,3312] udiv w1, w1, w0 cmp w21, w1, uxth - bne .L2482 + bne .L2489 mov w1, w22 mov w0, w19 bl load_l2p_region @@ -15798,13 +15847,13 @@ pm_gc: bl pm_write_page mov w0, -1 strh w0, [x20] -.L2482: +.L2489: add w19, w19, 1 uxth w19, w19 - b .L2481 -.L2487: + b .L2488 +.L2494: bl pm_free_sblk -.L2477: +.L2484: mov w0, 0 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -15832,10 +15881,10 @@ pm_flush_id: and w0, w0, 32767 strh w0, [x20,2] ldr w0, [x19,3864] - cbz w0, .L2489 + cbz w0, .L2496 bl pm_gc str wzr, [x19,3864] -.L2489: +.L2496: mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -15852,16 +15901,16 @@ pm_flush: mov x19, 0 add x20, x20, :lo12:.LANCHOR0 add x20, x20, 3872 -.L2495: +.L2502: add x1, x20, x19, lsl 4 uxth w0, w19 ldrsh w1, [x1,2] - tbz w1, #31, .L2494 + tbz w1, #31, .L2501 bl pm_flush_id -.L2494: +.L2501: add x19, x19, 1 cmp x19, 32 - bne .L2495 + bne .L2502 mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -15918,19 +15967,19 @@ pm_init: mov w24, -1 str x0, [x22,3272] add x22, x20, 512 -.L2501: +.L2508: strh w24, [x20] strh wzr, [x20,2] - cbz w23, .L2500 + cbz w23, .L2507 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,2816] lsl w0, w0, 9 bl ftl_malloc str x0, [x20,8] -.L2500: +.L2507: add x20, x20, 16 cmp x20, x22 - bne .L2501 + bne .L2508 add x20, x19, :lo12:.LANCHOR0 add x21, x21, :lo12:.LANCHOR7 mov w4, 4 @@ -15947,7 +15996,7 @@ pm_init: mov w24, w21 ldrh w2, [x1,696] cmp w2, w21 - bgt .L2502 + bgt .L2509 adrp x0, .LC192 ldrh w1, [x1,692] mov w3, w21 @@ -15958,14 +16007,14 @@ pm_init: add x26, x26, :lo12:.LC193 ldr x0, [x20,2848] ldrsh w20, [x0,696] -.L2503: +.L2510: cmp w20, w21 - bge .L2516 + bge .L2523 add x27, x19, :lo12:.LANCHOR0 mov x2, x23 mov x3, x25 ldr x0, [x27,2848] - ldrh w22, [x27,3318] + ldrh w22, [x27,3324] ldrb w4, [x27,2816] ldrh w1, [x0,692] ldrb w0, [x0,694] @@ -15983,21 +16032,21 @@ pm_init: ldr w1, [x25] bl printk cmp w28, 512 - beq .L2504 + beq .L2511 cmn w28, #1 - beq .L2504 + beq .L2511 ldr x1, [x27,2848] ldr w0, [x25] ldrh w2, [x1,698] cmp w0, w2 - bcs .L2504 + bcs .L2511 add x0, x1, x0, uxtw 2 str w22, [x0,704] -.L2504: +.L2511: add w20, w20, 1 sxth w20, w20 - b .L2503 -.L2516: + b .L2510 +.L2523: add x19, x19, :lo12:.LANCHOR0 adrp x0, .LANCHOR6-127 mov w1, 1 @@ -16012,7 +16061,7 @@ pm_init: ldr x1, [x19,3880] mov w0, -1 bl pm_write_page -.L2502: +.L2509: bl pm_free_sblk bl pm_gc mov w0, 0 @@ -16050,28 +16099,28 @@ pm_log2phys: uxth w25, w20 msub w24, w25, w24, w0 uxth x24, w24 - bcc .L2529 + bcc .L2536 adrp x0, .LC194 mov w1, w5 add x0, x0, :lo12:.LC194 bl printk mov w0, -1 - b .L2519 -.L2533: + b .L2526 +.L2540: ldrh w0, [x3] cmp w0, w25 - beq .L2521 -.L2520: + beq .L2528 +.L2527: add w19, w19, 1 add x3, x3, 16 uxth x19, w19 cmp w19, 32 - beq .L2532 -.L2529: + beq .L2539 +.L2536: ldr x0, [x3,8] - cbnz x0, .L2533 - b .L2520 -.L2532: + cbnz x0, .L2540 + b .L2527 +.L2539: bl pm_select_ram_region uxth x19, w0 add x2, x21, :lo12:.LANCHOR0 @@ -16082,21 +16131,21 @@ pm_log2phys: ldrh w3, [x2,x3] mov w2, 65535 cmp w3, w2 - bne .L2534 -.L2525: + bne .L2541 +.L2532: adrp x0, .LANCHOR7+3284 strb w19, [x0,#:lo12:.LANCHOR7+3284] mov w0, w25 bl load_l2p_region -.L2521: - cbnz w23, .L2522 +.L2528: + cbnz w23, .L2529 add x0, x21, :lo12:.LANCHOR0 add x0, x0, x19, lsl 4 ldr x0, [x0,3880] ldr w0, [x0,x24,lsl 2] str w0, [x22] - b .L2523 -.L2522: + b .L2530 +.L2529: add x0, x21, :lo12:.LANCHOR0 ldr w2, [x22] add x0, x0, 3872 @@ -16108,7 +16157,7 @@ pm_log2phys: strh w1, [x0,2] adrp x0, .LANCHOR4+32 strb w20, [x0,#:lo12:.LANCHOR4+32] -.L2523: +.L2530: add x21, x21, :lo12:.LANCHOR0 mov w2, 32767 add x21, x21, 3872 @@ -16117,18 +16166,18 @@ pm_log2phys: ldrh w1, [x19,2] and w3, w1, 32767 cmp w3, w2 - beq .L2519 + beq .L2526 add w1, w1, 1 strh w1, [x19,2] - b .L2519 -.L2534: + b .L2526 +.L2541: ldrsh w2, [x4,2] - tbz w2, #31, .L2525 + tbz w2, #31, .L2532 str x1, [x29,88] bl pm_flush_id ldr x1, [x29,88] - b .L2525 -.L2519: + b .L2532 +.L2526: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -16150,12 +16199,12 @@ ftl_read_ahead: mov w21, 0 ldr w0, [x23,2868] cmn w0, #1 - beq .L2536 + beq .L2543 mov w0, w21 bl buf_alloc mov x19, x0 mov w0, -1 - cbz x19, .L2545 + cbz x19, .L2552 ldr w22, [x23,2868] str w22, [x19,36] str w0, [x23,2868] @@ -16165,17 +16214,17 @@ ftl_read_ahead: bl lpa_hash_get_ppa str w0, [x29,76] cmn w0, #1 - bne .L2538 + bne .L2545 mov w0, w22 add x1, x29, 76 mov w2, w21 bl pm_log2phys -.L2538: +.L2545: ldr w1, [x29,76] str w1, [x19,40] str w1, [x19,44] cmn w1, #1 - bne .L2539 + bne .L2546 add x20, x20, :lo12:.LANCHOR0 mov x0, x24 mov w1, 0 @@ -16185,14 +16234,14 @@ ftl_read_ahead: ldrb w0, [x19,2] orr w0, w0, 8 strb w0, [x19,2] - b .L2550 -.L2539: + b .L2557 +.L2546: mov x0, x19 mov w1, 1 bl sblk_read_page ldr w24, [x19,52] cmn w24, #1 - bne .L2540 + bne .L2547 ldrb w0, [x19,2] add x20, x20, :lo12:.LANCHOR0 and w0, w0, -9 @@ -16201,10 +16250,10 @@ ftl_read_ahead: ldr w0, [x1,552] add w0, w0, 1 str w0, [x1,552] - b .L2541 -.L2540: + b .L2548 +.L2547: cmp w24, 256 - bne .L2541 + bne .L2548 add x20, x20, :lo12:.LANCHOR0 mov w5, 21 mov w21, 1 @@ -16227,10 +16276,10 @@ ftl_read_ahead: mov w1, w21 mov w2, 0 bl gc_add_sblk -.L2541: +.L2548: ldr w5, [x23,4] cmp w5, w22 - beq .L2542 + beq .L2549 adrp x0, .LC196 ldrb w1, [x19,1] ldr w3, [x29,76] @@ -16240,14 +16289,14 @@ ftl_read_ahead: ldr w6, [x23,8] ldr w7, [x23,12] bl printk -.L2542: +.L2549: ldr w0, [x23,4] cmp w0, w22 cset w21, ne - cbnz w21, .L2547 + cbnz w21, .L2554 cmn w24, #1 - bne .L2536 -.L2547: + bne .L2543 +.L2554: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -16255,12 +16304,12 @@ ftl_read_ahead: add x1, x1, 576 mov w2, 874 bl printk -.L2550: +.L2557: mov w21, 0 - b .L2536 -.L2545: + b .L2543 +.L2552: mov w21, w0 -.L2536: +.L2543: mov w0, w21 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -16294,14 +16343,14 @@ gc_recovery: str x22, [x29,152] cmp w1, w0 ldr x0, [x24,80] - beq .L2552 + beq .L2559 mov w1, -1 strh w1, [x0,130] mov w0, 1 bl buf_alloc mov x23, x0 ldrb w0, [x21,9] - ldrh w1, [x24,3318] + ldrh w1, [x24,3324] sub w0, w0, #1 add x0, x21, x0, sxtw 1 ldrh w0, [x0,16] @@ -16309,37 +16358,37 @@ gc_recovery: ldrb w1, [x24,3225] str w0, [x29,168] cmp w1, 3 - bne .L2553 + bne .L2560 ldrh w1, [x24,3276] sub w1, w1, #1 add w0, w1, w0 orr w0, w0, 50331648 - b .L2599 -.L2553: + b .L2606 +.L2560: cmp w1, 2 - bne .L2554 + bne .L2561 ldrh w1, [x24,3276] add w0, w0, w1, lsl 1 sub w0, w0, #1 orr w0, w0, 33554432 -.L2599: +.L2606: str w0, [x23,40] -.L2554: +.L2561: mov x0, x23 mov w1, 1 bl sblk_read_page ldr w0, [x23,52] cmp w0, 512 - beq .L2555 + beq .L2562 cmn w0, #1 - beq .L2555 + beq .L2562 ldr x0, [x23,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L2556 -.L2555: + beq .L2563 +.L2562: mov x0, x23 bl buf_free ldr x7, [x23,24] @@ -16360,8 +16409,8 @@ gc_recovery: ldr w6, [x6,12] ldr w7, [x7] bl printk - b .L2602 -.L2556: + b .L2609 +.L2563: add x24, x19, :lo12:.LANCHOR0 ldr x0, [x29,152] ldr x1, [x23,8] @@ -16383,41 +16432,41 @@ gc_recovery: ldrb w27, [x24,3225] ldrh w26, [x24,3276] cmp w27, 2 - bne .L2558 + bne .L2565 lsl w26, w26, 1 mov w27, 1 -.L2558: +.L2565: mov w22, 0 adrp x24, .LC198 add x0, x24, :lo12:.LC198 mov w25, w22 str x0, [x29,128] - b .L2559 -.L2604: + b .L2566 +.L2611: ldr x0, [x0,1112] ldr w1, [x0,x12] ldr w0, [x7,8] cmp w1, w0 - bne .L2563 -.L2588: + bne .L2570 +.L2595: add w25, w25, 1 add w28, w28, 1 -.L2567: +.L2574: cmp w28, w27 - bhi .L2603 + bhi .L2610 ldr x0, [x29,144] add x1, x19, :lo12:.LANCHOR0 add x0, x0, 8 - ldrh w2, [x1,3318] + ldrh w2, [x1,3324] ldrb w1, [x1,3225] ldrh w0, [x21,x0,lsl 1] cmp w1, 3 mul w0, w0, w2 str w0, [x29,168] - bne .L2560 + bne .L2567 add w0, w0, w22 orr w0, w0, w28, lsl 24 -.L2600: +.L2607: str w0, [x23,40] mov w1, 1 mov x0, x23 @@ -16430,8 +16479,8 @@ gc_recovery: ldr x1, [x0,1104] ldr w3, [x1,x12] cmp w3, w6 - beq .L2604 -.L2563: + beq .L2611 +.L2570: ldr x0, [x29,152] str x12, [x29,120] add x13, x0, :lo12:.LANCHOR4 @@ -16451,10 +16500,10 @@ gc_recovery: ldr x0, [x13,1104] ldr w0, [x0,x12] cmn w0, #1 - beq .L2588 + beq .L2595 mov x0, x23 bl buf_free -.L2602: +.L2609: add x0, x19, :lo12:.LANCHOR0 ldrh w2, [x20,80] mov w28, 0 @@ -16463,38 +16512,38 @@ gc_recovery: ldr x0, [x0,80] ldrh w1, [x20,80] strh w1, [x0,130] - b .L2557 -.L2566: + b .L2564 +.L2573: add w22, w22, 1 -.L2559: +.L2566: cmp w22, w26 - beq .L2568 + beq .L2575 sub w0, w22, #1 mov w24, 0 str w0, [x29,140] -.L2569: +.L2576: ldrb w0, [x21,9] cmp w24, w0 - bge .L2566 + bge .L2573 sxtw x0, w24 mov w28, 1 str x0, [x29,144] - b .L2567 -.L2560: + b .L2574 +.L2567: cmp w1, 2 - bne .L2562 + bne .L2569 ldr w1, [x29,140] add w0, w0, w1 add w0, w0, w28 orr w0, w0, 33554432 - b .L2600 -.L2562: + b .L2607 +.L2569: add w0, w0, w22 - b .L2600 -.L2603: + b .L2607 +.L2610: add w24, w24, 1 - b .L2569 -.L2568: + b .L2576 +.L2575: mov x0, x23 mov w28, 0 mov w23, w28 @@ -16510,22 +16559,22 @@ gc_recovery: adrp x0, .LC199 add x0, x0, :lo12:.LC199 str x0, [x29,104] -.L2570: +.L2577: cmp w23, w26 - beq .L2583 + beq .L2590 sub w0, w23, #1 mov w25, 0 str w0, [x29,112] -.L2584: +.L2591: ldrb w0, [x21,9] cmp w25, w0 - bge .L2581 + bge .L2588 sxtw x0, w25 mov w24, 1 str x0, [x29,120] -.L2582: +.L2589: cmp w24, w27 - bhi .L2605 + bhi .L2612 ldr x1, [x29,152] ldr w0, [x29,144] add x1, x1, :lo12:.LANCHOR4 @@ -16533,7 +16582,7 @@ gc_recovery: ldr x2, [x1,1104] ldr w22, [x2,x0] cmn w22, #1 - beq .L2571 + beq .L2578 ldr x1, [x1,1112] ldr w0, [x1,x0] str w0, [x29,140] @@ -16541,35 +16590,35 @@ gc_recovery: bl lpa_hash_get_ppa str w0, [x29,172] cmn w0, #1 - bne .L2572 + bne .L2579 mov w0, w22 add x1, x29, 172 mov w2, 0 bl pm_log2phys -.L2572: +.L2579: ldr x0, [x29,120] add x0, x0, 8 ldrh w3, [x21,x0,lsl 1] add x0, x19, :lo12:.LANCHOR0 - ldrh w1, [x0,3318] + ldrh w1, [x0,3324] ldrb w0, [x0,3225] cmp w0, 3 mul w3, w3, w1 - bne .L2573 + bne .L2580 add w3, w3, w23 orr w3, w3, w24, lsl 24 - b .L2601 -.L2573: + b .L2608 +.L2580: cmp w0, 2 - bne .L2575 + bne .L2582 ldr w0, [x29,112] add w3, w3, w0 add w3, w3, w24 orr w3, w3, 33554432 - b .L2601 -.L2575: + b .L2608 +.L2582: add w3, w3, w23 -.L2601: +.L2608: add x0, x19, :lo12:.LANCHOR0 str w3, [x29,168] ldr w1, [x29,140] @@ -16588,15 +16637,15 @@ gc_recovery: str w0, [x29,128] ldr w0, [x29,172] cmp w0, w1 - bne .L2576 + bne .L2583 ldr x0, [x29,104] mov w1, w22 ldr w2, [x29,168] bl pm_ppa_update_check - cbz w0, .L2577 -.L2598: - b .L2598 -.L2577: + cbz w0, .L2584 +.L2605: + b .L2605 +.L2584: mov w0, w22 add x1, x29, 168 mov w2, 1 @@ -16604,12 +16653,12 @@ gc_recovery: bl pm_log2phys ldrh w0, [x29,128] bl ftl_vpn_decrement - b .L2579 -.L2576: + b .L2586 +.L2583: ldr w1, [x29,168] cmp w0, w1 csinc w28, w28, w28, ne -.L2579: +.L2586: ldr w0, [x29,144] add x2, x19, :lo12:.LANCHOR0 add w0, w0, 1 @@ -16619,27 +16668,27 @@ gc_recovery: add x1, x1, x0, lsl 2 ldrb w1, [x1,2] ands w1, w1, 224 - bne .L2571 + bne .L2578 lsl x0, x0, 1 ldr x2, [x2,72] ldrh w3, [x2,x0] - cbz w3, .L2571 + cbz w3, .L2578 strh w1, [x2,x0] -.L2571: +.L2578: add w24, w24, 1 - b .L2582 -.L2605: + b .L2589 +.L2612: add w25, w25, 1 - b .L2584 -.L2581: + b .L2591 +.L2588: add w23, w23, 1 - b .L2570 -.L2583: + b .L2577 +.L2590: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] ldr x0, [x0,72] strh w28, [x0,x1,lsl 1] -.L2557: +.L2564: ldrh w1, [x20,80] adrp x0, .LC200 mov w2, w28 @@ -16654,9 +16703,9 @@ gc_recovery: ldr x0, [x0,80] ldrh w0, [x0,130] cmp w0, w1 - beq .L2585 + beq .L2592 bl ftl_free_sblk -.L2585: +.L2592: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 ldr x1, [x19,2848] @@ -16665,15 +16714,15 @@ gc_recovery: strh w0, [x1,130] mov w0, 0 bl ftl_info_flush - b .L2551 -.L2552: + b .L2558 +.L2559: ldrh w0, [x0,130] cmp w0, w1 - beq .L2551 + beq .L2558 ldr x1, [x24,2848] ldrh w1, [x1,126] cmp w1, w0 - bne .L2587 + bne .L2594 bl pm_flush ldr x0, [x24,80] ldrh w0, [x0,130] @@ -16683,12 +16732,12 @@ gc_recovery: strh w1, [x0,126] mov w0, 0 bl ftl_info_flush -.L2587: +.L2594: add x19, x19, :lo12:.LANCHOR0 mov w1, -1 ldr x0, [x19,80] strh w1, [x0,130] -.L2551: +.L2558: sub sp, x29, #32 ldp x19, x20, [sp,48] ldp x21, x22, [sp,64] @@ -16724,12 +16773,12 @@ zftl_init: adrp x21, .LANCHOR7 strb wzr, [x20,2841] bl printk - adrp x8, .LANCHOR2 + adrp x7, .LANCHOR2 ldrb w4, [x20,98] - add x2, x8, :lo12:.LANCHOR2 - strb w4, [x20,3320] + add x2, x7, :lo12:.LANCHOR2 + strb w4, [x20,3326] ldrh w5, [x20,210] - strh w5, [x20,3318] + strh w5, [x20,3324] ldrb w3, [x2,389] strb w3, [x20,3312] ldrb w6, [x2,388] @@ -16738,7 +16787,7 @@ zftl_init: ldrb w0, [x2,385] uxtb w4, w3 add x3, x21, :lo12:.LANCHOR7 - ldrh w7, [x2,390] + ldrh w8, [x2,390] ubfiz w11, w0, 9, 7 sdiv w9, w1, w6 strb w6, [x20,3225] @@ -16747,161 +16796,159 @@ zftl_init: strh w1, [x20,3242] strh w9, [x20,3276] strb w4, [x20,3244] - strh w7, [x20,56] - mov x20, x8 + strh w8, [x20,56] + mov x20, x7 strh w11, [x3,3282] mov w3, 1 -.L2607: +.L2614: cmp w3, w5 - bhi .L2671 + bhi .L2678 add w2, w2, 1 lsl w3, w3, 1 uxth w2, w2 - b .L2607 -.L2671: + b .L2614 +.L2678: mul w3, w0, w1 mov w1, 57344 - add x8, x19, :lo12:.LANCHOR0 + add x7, x19, :lo12:.LANCHOR0 movk w1, 0x1c, lsl 16 sub w2, w2, #1 - mul w5, w3, w7 + mul w5, w3, w8 mul w1, w4, w1 - strh w2, [x8,3314] + strh w2, [x7,3314] lsr w2, w5, 21 mul w5, w5, w4 mul w1, w1, w2 - str w5, [x8,2820] + str w5, [x7,2820] add x10, x21, :lo12:.LANCHOR7 add w5, w1, 24576 adrp x22, .LANCHOR4 mul w3, w3, w4 udiv w2, w5, w0 sub w0, w11, #1 - str w2, [x8,2824] + str w2, [x7,2824] sub w3, w3, #1 - str w1, [x8,4] str w5, [x10,3288] + str w1, [x7,4] add w0, w0, w2, lsl 2 mul w2, w9, w4 udiv w0, w0, w11 - add x11, x22, :lo12:.LANCHOR4 strh w0, [x10,3266] + add x10, x22, :lo12:.LANCHOR4 ubfiz w0, w0, 4, 16 sdiv w0, w0, w2 - strh w0, [x11,1132] - add w0, w7, w7, lsl 1 + strh w0, [x10,1132] + add w0, w8, w8, lsl 1 asr w0, w0, 2 - strh w0, [x10,3292] + strh w0, [x7,3320] udiv w3, w5, w3 - lsr w0, w7, 4 + lsr w0, w8, 4 cmp w0, 79 - strh w0, [x8,3280] + strh w0, [x7,3280] add w3, w3, 8 - strh w3, [x8,3282] - bhi .L2609 + strh w3, [x7,3282] + bhi .L2616 mov w0, 80 - strh w0, [x8,3280] -.L2609: - add x0, x21, :lo12:.LANCHOR7 - mov w2, 4000 + strh w0, [x7,3280] +.L2616: + add x2, x19, :lo12:.LANCHOR0 + mov w0, 4000 + mov w3, 1024 cmp w6, 2 - strh w2, [x0,3294] - mov w2, 50 - strh w2, [x0,3296] + strh w0, [x2,3316] + mov w0, 50 + strh w0, [x2,3318] add x0, x22, :lo12:.LANCHOR4 - mov w2, 1024 - strh w2, [x0,1128] - mov w2, 64 - strh w2, [x0,1130] - beq .L2610 + strh w3, [x0,1128] + mov w3, 64 + strh w3, [x0,1130] + beq .L2617 + ldrb w0, [x2,3240] + cbz w0, .L2618 +.L2617: add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,3240] - cbz w0, .L2611 -.L2610: - add x2, x21, :lo12:.LANCHOR7 - mov w0, 150 + mov w2, 150 mov w3, 128 - strh w0, [x2,3296] - add x0, x22, :lo12:.LANCHOR4 - strh w3, [x0,1130] - add x3, x19, :lo12:.LANCHOR0 - ldrb w3, [x3,97] - cbnz w3, .L2611 + strh w2, [x0,3318] + add x2, x22, :lo12:.LANCHOR4 + strh w3, [x2,1130] + ldrb w3, [x0,97] + cbnz w3, .L2618 mov w3, 600 - strh w3, [x2,3294] - mov w2, 512 - strh w2, [x0,1128] -.L2611: + strh w3, [x0,3316] + mov w0, 512 + strh w0, [x2,1128] +.L2618: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2613 + tbz x0, 12, .L2620 adrp x0, .LC201 add x0, x0, :lo12:.LC201 bl printk -.L2613: +.L2620: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2614 + tbz x0, 12, .L2621 add x1, x19, :lo12:.LANCHOR0 adrp x0, .LC202 add x0, x0, :lo12:.LC202 ldr w1, [x1,2820] bl printk -.L2614: +.L2621: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2615 + tbz x0, 12, .L2622 add x1, x19, :lo12:.LANCHOR0 adrp x0, .LC203 add x0, x0, :lo12:.LC203 ldr w1, [x1,2824] bl printk -.L2615: +.L2622: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2616 + tbz x0, 12, .L2623 add x1, x21, :lo12:.LANCHOR7 adrp x0, .LC204 add x0, x0, :lo12:.LC204 ldr w1, [x1,3288] bl printk -.L2616: +.L2623: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2617 + tbz x0, 12, .L2624 add x1, x21, :lo12:.LANCHOR7 adrp x0, .LC205 add x0, x0, :lo12:.LC205 ldrh w1, [x1,3266] bl printk -.L2617: +.L2624: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2618 + tbz x0, 12, .L2625 add x1, x21, :lo12:.LANCHOR7 adrp x0, .LC206 add x0, x0, :lo12:.LC206 ldrh w1, [x1,3282] bl printk -.L2618: +.L2625: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2619 + tbz x0, 12, .L2626 add x1, x22, :lo12:.LANCHOR4 adrp x0, .LC207 add x0, x0, :lo12:.LC207 ldrh w1, [x1,1132] bl printk -.L2619: +.L2626: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2620 + tbz x0, 12, .L2627 add x1, x19, :lo12:.LANCHOR0 adrp x0, .LC208 add x0, x0, :lo12:.LC208 ldrh w1, [x1,3280] bl printk -.L2620: +.L2627: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2621 + tbz x0, 12, .L2628 add x1, x19, :lo12:.LANCHOR0 adrp x0, .LC209 add x0, x0, :lo12:.LC209 ldrh w1, [x1,3282] bl printk -.L2621: +.L2628: add x22, x19, :lo12:.LANCHOR0 bl buf_init mov w0, 6 @@ -16930,11 +16977,11 @@ zftl_init: ldr w0, [x20,#:lo12:.LANCHOR2] add x1, x2, x1, sxtw 2 str x1, [x22,80] - tbz x0, 12, .L2622 + tbz x0, 12, .L2629 adrp x0, .LC210 add x0, x0, :lo12:.LC210 bl printk -.L2622: +.L2629: add x2, x19, :lo12:.LANCHOR0 add x3, x21, :lo12:.LANCHOR7 ldrh w0, [x2,3276] @@ -16949,28 +16996,28 @@ zftl_init: add w24, w24, 704 lsl w22, w22, 1 add w22, w22, 612 - tbz x0, 12, .L2623 + tbz x0, 12, .L2630 adrp x0, .LC211 ldrh w3, [x3,3282] add x0, x0, :lo12:.LC211 mov w1, w22 mov w2, w24 bl printk -.L2623: +.L2630: add x21, x21, :lo12:.LANCHOR7 ldrh w0, [x21,3282] cmp w22, w0 - bhi .L2625 + bhi .L2632 cmp w24, w0 - bls .L2624 -.L2625: -.L2626: - b .L2626 -.L2624: + bls .L2631 +.L2632: +.L2633: + b .L2633 +.L2631: bl sblk_init bl ftl_info_blk_init cmn w0, #1 - beq .L2627 + beq .L2634 bl ftl_ext_info_init add x19, x19, :lo12:.LANCHOR0 mov w0, 1 @@ -17003,18 +17050,18 @@ zftl_init: mov w0, 1 bl ftl_total_vpn_update ldrb w0, [x23,-127] - cbz w0, .L2628 + cbz w0, .L2635 ldr x1, [x19,2848] ldr w0, [x1,68] add w0, w0, 1 str w0, [x1,68] -.L2628: +.L2635: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush bl print_ftl_debug_info mov w0, 0 -.L2627: +.L2634: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -17037,26 +17084,26 @@ rk_ftl_init: mov w0, 136 bl ftl_malloc str x0, [x19,1144] - cbnz x0, .L2673 -.L2675: + cbnz x0, .L2680 +.L2682: mov w0, -1 - b .L2674 -.L2673: + b .L2681 +.L2680: adrp x21, .LANCHOR7 mov w0, 2048 add x21, x21, :lo12:.LANCHOR7 bl ftl_malloc str xzr, [x19,1152] - add x1, x21, 3312 - str x0, [x21,3304] + add x1, x21, 3304 + str x0, [x21,3296] add x0, x19, 1152 - str xzr, [x21,3312] + str xzr, [x21,3304] bl rknand_get_reg_addr ldr x0, [x19,1152] - cbz x0, .L2675 + cbz x0, .L2682 bl rk_nandc_irq_init mov w1, 0 - ldr x0, [x21,3304] + ldr x0, [x21,3296] mov w2, w1 mov w3, 2048 bl flash_sram_load_store @@ -17112,12 +17159,12 @@ rk_ftl_init: str x1, [x0,56] ldr x0, [x19,1152] bl nand_flash_init - cbnz w0, .L2676 + cbnz w0, .L2683 bl zftl_init mov w19, w0 bl zftl_proc_debug_init - b .L2677 -.L2676: + b .L2684 +.L2683: ldr x0, [x19,1144] adrp x1, ftl_deinit add x1, x1, :lo12:ftl_deinit @@ -17182,26 +17229,26 @@ rk_ftl_init: mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 - bne .L2678 + bne .L2685 adrp x0, gFlashSlcMode ldrb w0, [x0,#:lo12:gFlashSlcMode] - cbnz w0, .L2679 -.L2678: + cbnz w0, .L2686 +.L2685: add x20, x20, :lo12:.LANCHOR4 adrp x0, .LANCHOR0+97 strb wzr, [x20,1232] strb wzr, [x0,#:lo12:.LANCHOR0+97] -.L2679: - cbnz w19, .L2677 +.L2686: + cbnz w19, .L2684 bl FtlInit mov w19, w0 -.L2677: +.L2684: adrp x0, .LC212 mov w1, w19 add x0, x0, :lo12:.LC212 bl printk mov w0, w19 -.L2674: +.L2681: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -17229,12 +17276,12 @@ gc_update_l2p_map_new: str w0, [x29,140] bl timer_get_time ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 8, .L2684 + tbz x0, 8, .L2691 adrp x0, .LC213 ldrh w1, [x20,80] add x0, x0, :lo12:.LC213 bl printk -.L2684: +.L2691: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] ldr w2, [x29,140] @@ -17252,17 +17299,17 @@ gc_update_l2p_map_new: adrp x0, .LC214 add x0, x0, :lo12:.LC214 str x0, [x29,104] -.L2685: +.L2692: ldr w0, [x29,140] cmp w23, w0 - beq .L2719 + beq .L2726 adrp x24, .LANCHOR4 str x24, [x29,128] add x0, x24, :lo12:.LANCHOR4 ldr x0, [x0,1104] ldr w2, [x0,w23,sxtw 2] cmn w2, #1 - beq .L2686 + beq .L2693 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,2816] lsl w0, w0, 7 @@ -17270,43 +17317,43 @@ gc_update_l2p_map_new: and w0, w0, 65535 str w0, [x29,136] ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 8, .L2687 + tbz x0, 8, .L2694 ldr x0, [x29,104] mov w3, w23 ldr w1, [x29,136] bl printk -.L2687: +.L2694: mov w25, w23 -.L2693: +.L2700: ldr x0, [x29,128] sbfiz x26, x25, 2, 32 add x1, x0, :lo12:.LANCHOR4 ldr x0, [x1,1104] ldr w24, [x0,x26] cmn w24, #1 - beq .L2688 + beq .L2695 add x0, x19, :lo12:.LANCHOR0 ldr w2, [x29,136] ldrb w0, [x0,2816] lsl w0, w0, 7 udiv w0, w24, w0 cmp w2, w0, uxth - bne .L2688 + bne .L2695 ldr x0, [x1,1112] ldr w27, [x0,x26] mov w0, w24 bl lpa_hash_get_ppa str w0, [x29,156] cmn w0, #1 - bne .L2689 + bne .L2696 mov w0, w24 add x1, x29, 156 mov w2, 0 bl pm_log2phys -.L2689: +.L2696: ldr w3, [x29,156] cmp w3, w27 - bne .L2690 + bne .L2697 ldr x0, [x29,128] add x1, x29, 152 mov w2, 1 @@ -17335,43 +17382,43 @@ gc_update_l2p_map_new: ldrh w0, [x28] ldr x2, [x29,96] cmp w0, w2 - bne .L2691 + bne .L2698 ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 8, .L2691 + tbz x0, 8, .L2698 ldr x0, [x29,112] mov w1, w24 ldr w3, [x29,156] mov w2, w27 bl printk - b .L2691 -.L2690: + b .L2698 +.L2697: ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 8, .L2692 + tbz x0, 8, .L2699 ldr x0, [x29,120] mov w1, w24 mov w2, w27 bl printk -.L2692: +.L2699: ldrh w0, [x28] bl ftl_vpn_decrement -.L2691: +.L2698: ldr x0, [x29,128] mov w1, -1 add x0, x0, :lo12:.LANCHOR4 ldr x0, [x0,1104] str w1, [x0,x26] bl timer_get_time -.L2688: +.L2695: ldr w0, [x29,140] add w25, w25, 1 cmp w25, w0 - bne .L2693 -.L2686: + bne .L2700 +.L2693: add w23, w23, 1 - b .L2685 -.L2719: + b .L2692 +.L2726: ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 8, .L2695 + tbz x0, 8, .L2702 add x0, x19, :lo12:.LANCHOR0 ldrh w3, [x20,80] ldr x1, [x0,80] @@ -17382,13 +17429,13 @@ gc_update_l2p_map_new: ldrh w2, [x2,x3,lsl 1] mov w3, w22 bl printk -.L2695: +.L2702: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] ldr x0, [x0,72] ldrh w0, [x0,x1,lsl 1] cmp w0, w22 - beq .L2696 + beq .L2703 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -17396,7 +17443,7 @@ gc_update_l2p_map_new: add x1, x1, 592 mov w2, 463 bl printk -.L2696: +.L2703: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] ldr x0, [x19,72] @@ -17431,48 +17478,48 @@ gc_scan_src_blk_one_page: ldrb w7, [x3,3244] ldrh w1, [x1,40] ldrh w3, [x2,2] -.L2721: +.L2728: cmp w1, w6 - bne .L2763 + bne .L2770 add w0, w0, 1 uxtb w0, w0 cmp w0, w7 - bne .L2722 + bne .L2729 add w3, w3, 1 mov w4, 1 mov w0, 0 uxth w3, w3 -.L2722: +.L2729: add x1, x2, x0, sxtw 1 mov w5, 1 ldrh w1, [x1,40] - b .L2721 -.L2763: - cbz w5, .L2724 + b .L2728 +.L2770: + cbz w5, .L2731 add x2, x19, :lo12:.LANCHOR0 strb w0, [x2,2892] -.L2724: - cbz w4, .L2725 +.L2731: + cbz w4, .L2732 add x0, x19, :lo12:.LANCHOR0 strh w3, [x0,2890] -.L2725: +.L2732: add x0, x19, :lo12:.LANCHOR0 ldrb w2, [x0,3225] - ldrh w20, [x0,3318] + ldrh w20, [x0,3324] cmp w2, 2 mul w1, w1, w20 - bne .L2726 + bne .L2733 ldrb w2, [x0,2894] add x0, x0, 2888 - cbnz w2, .L2726 + cbnz w2, .L2733 ldrh w20, [x0,2] add w20, w1, w20, lsl 1 - b .L2727 -.L2726: + b .L2734 +.L2733: add x0, x19, :lo12:.LANCHOR0 ldrh w20, [x0,2890] add w20, w1, w20 -.L2727: +.L2734: add x2, x19, :lo12:.LANCHOR0 add x1, x2, 2888 ldrb w0, [x2,2892] @@ -17481,26 +17528,26 @@ gc_scan_src_blk_one_page: strb w0, [x2,2892] ldrb w2, [x2,3244] cmp w2, w0 - bne .L2728 + bne .L2735 ldrh w0, [x1,2] strb wzr, [x1,4] add w0, w0, 1 strh w0, [x1,2] -.L2728: +.L2735: mov w0, 1 mov w21, 0 add x19, x19, :lo12:.LANCHOR0 bl buf_alloc mov x22, x0 -.L2739: +.L2746: ldrb w0, [x19,2894] - cbnz w21, .L2741 + cbnz w21, .L2748 cmp w0, 3 - beq .L2729 -.L2741: + beq .L2736 +.L2748: cmp w0, w21 - bgt .L2731 -.L2740: + bgt .L2738 +.L2747: mov x0, x22 bl buf_free ldr x23, [sp,48] @@ -17508,56 +17555,56 @@ gc_scan_src_blk_one_page: ldp x21, x22, [sp,32] ldp x29, x30, [sp], 80 ret -.L2731: +.L2738: ldrb w1, [x19,3225] cmp w1, 2 - bne .L2732 - cbnz w0, .L2732 + bne .L2739 + cbnz w0, .L2739 add w0, w21, w20 orr w0, w0, 33554432 - b .L2762 -.L2732: + b .L2769 +.L2739: orr w0, w20, w21, lsl 24 -.L2762: +.L2769: str w0, [x22,40] mov w1, 1 mov x0, x22 bl sblk_read_page ldr w0, [x22,52] cmp w0, 512 - beq .L2736 + beq .L2743 cmn w0, #1 - beq .L2736 + beq .L2743 ldr x0, [x22,24] ldr w23, [x0,4] mov w0, w23 bl lpa_hash_get_ppa str w0, [x29,76] cmn w0, #1 - bne .L2737 + bne .L2744 mov w0, w23 add x1, x29, 76 mov w2, 0 bl pm_log2phys -.L2737: +.L2744: ldr w0, [x29,76] cmp w20, w0 - bne .L2736 + bne .L2743 ldrh w2, [x19,2912] ldr x1, [x19,3216] str w20, [x1,x2,lsl 2] ldrh w1, [x19,2912] add w1, w1, 1 strh w1, [x19,2912] -.L2736: +.L2743: ldrh w0, [x19,2914] add w0, w0, 1 strh w0, [x19,2914] -.L2729: +.L2736: add w21, w21, 1 cmp w21, 4 - bne .L2739 - b .L2740 + bne .L2746 + b .L2747 .size gc_scan_src_blk_one_page, .-gc_scan_src_blk_one_page .align 2 .global gc_scan_static_data @@ -17573,14 +17620,14 @@ gc_scan_static_data: ldr x0, [x1,80] ldr w2, [x0,544] cmn w2, #1 - beq .L2765 + beq .L2772 adrp x21, .LANCHOR3 adrp x22, .LC0 add x21, x21, :lo12:.LANCHOR3 mov w20, 11 add x22, x22, :lo12:.LC0 add x21, x21, 616 -.L2766: +.L2773: add x24, x19, :lo12:.LANCHOR0 add x1, x29, 76 mov w2, 0 @@ -17589,7 +17636,7 @@ gc_scan_static_data: bl pm_log2phys ldr w0, [x29,76] cmn w0, #1 - beq .L2767 + beq .L2774 mov w0, 1 bl buf_alloc mov x23, x0 @@ -17599,7 +17646,7 @@ gc_scan_static_data: bl sblk_read_page ldr w0, [x23,52] cmp w0, 256 - bne .L2768 + bne .L2775 ldrh w0, [x24,3314] mov w2, 21 mov w1, 1 @@ -17613,22 +17660,22 @@ gc_scan_static_data: udiv w0, w2, w0 mov w2, 0 bl gc_add_sblk -.L2768: +.L2775: add x0, x19, :lo12:.LANCHOR0 ldr x1, [x23,24] ldr x0, [x0,80] ldr w1, [x1,4] ldr w0, [x0,544] cmp w1, w0 - beq .L2769 + beq .L2776 mov x0, x22 mov x1, x21 mov w2, 1369 bl printk -.L2769: +.L2776: mov x0, x23 bl buf_free -.L2767: +.L2774: add x2, x19, :lo12:.LANCHOR0 ldr x1, [x2,80] ldr w2, [x2,2824] @@ -17636,7 +17683,7 @@ gc_scan_static_data: add w0, w0, 1 str w0, [x1,544] cmp w0, w2 - bcc .L2770 + bcc .L2777 mov w0, -1 str w0, [x1,544] ldr w0, [x1,548] @@ -17647,44 +17694,44 @@ gc_scan_static_data: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush - b .L2764 -.L2770: + b .L2771 +.L2777: ldr w0, [x29,76] cmn w0, #1 - bne .L2764 + bne .L2771 sub w20, w20, #1 uxth w20, w20 - cbnz w20, .L2766 - b .L2764 -.L2765: + cbnz w20, .L2773 + b .L2771 +.L2772: ldr x1, [x1,2848] ldr w2, [x1,40] cmp w2, 20480 - bls .L2775 + bls .L2782 ldr w3, [x1,44] add w3, w3, w2, lsr 10 and w2, w2, 1023 str w3, [x1,44] str w2, [x1,40] -.L2775: +.L2782: ldr w2, [x0,536] ldr w3, [x0,12] add w2, w2, 12959744 add w2, w2, 256 cmp w3, w2 - bhi .L2776 + bhi .L2783 ldr w2, [x0,540] ldr w4, [x1,44] add w2, w2, 98304 add w2, w2, 1696 cmp w4, w2 - bls .L2764 -.L2776: + bls .L2771 +.L2783: ldr w1, [x1,44] str w1, [x0,540] str w3, [x0,536] str wzr, [x0,544] -.L2764: +.L2771: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -17708,71 +17755,83 @@ gc_block_vpn_scan: ldrh w0, [x20,56] ldr w1, [x1,608] cmp w1, w0 - bcs .L2781 + bcs .L2788 bl timer_get_time - ldr x20, [x20,80] - ldr w1, [x20,604] + ldr x21, [x20,80] + ldr w1, [x21,604] add w1, w1, 28672 add w1, w1, 1328 cmp w0, w1 - bls .L2781 + bls .L2788 bl timer_get_time - str w0, [x20,604] - add x1, x19, :lo12:.LANCHOR0 - ldr x0, [x1,80] - ldrh w3, [x1,56] - ldr w2, [x0,600] - cmp w2, w3 - bcs .L2786 - ldr x1, [x1,2848] - ldrh w1, [x1,134] - cmp w2, w1 - bcs .L2787 -.L2786: + str w0, [x21,604] + ldr x0, [x20,80] + ldrh w2, [x20,56] + ldr w1, [x0,600] + cmp w1, w2 + bcs .L2792 + ldr x2, [x20,2848] + ldrh w2, [x2,134] + cmp w1, w2 + bcs .L2793 +.L2792: add x1, x19, :lo12:.LANCHOR0 ldr x1, [x1,2848] ldrh w1, [x1,134] str w1, [x0,600] -.L2787: +.L2793: ldr w25, [x0,600] - add w1, w25, 1 + mov w0, 65535 + uxth w20, w25 + cmp w20, w0 + bne .L2794 + adrp x1, .LANCHOR3 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR3 + add x0, x0, :lo12:.LC0 + add x1, x1, 640 + mov w2, 1590 + bl printk +.L2794: + add x21, x19, :lo12:.LANCHOR0 + ldr x0, [x21,80] + ldr w1, [x0,600] + add w1, w1, 1 str w1, [x0,600] ldr w1, [x0,608] - uxth w20, w25 add w1, w1, 1 str w1, [x0,608] add x1, x29, 128 mov w0, w20 bl ftl_get_blk_list_in_sblk uxth w1, w0 - cbz w1, .L2781 - add x1, x19, :lo12:.LANCHOR0 + cbz w1, .L2788 uxtw x22, w20 - ldr x24, [x1,64] + ldr x24, [x21,64] add x24, x24, x22, lsl 2 - ldrb w3, [x24,2] - tst w3, 192 - and w2, w3, 224 - beq .L2788 + ldrb w1, [x24,2] + tst w1, 192 + and w2, w1, 224 + beq .L2795 cmp w2, 224 - beq .L2788 - ldr x1, [x1,80] + beq .L2795 + ldr x1, [x21,80] ldrh w3, [x1,16] cmp w3, w20 - beq .L2788 + beq .L2795 ldrh w3, [x1,48] cmp w3, w20 - beq .L2788 + beq .L2795 ldrh w1, [x1,80] cmp w1, w20 - bne .L2789 -.L2788: - cbnz w2, .L2781 + bne .L2796 +.L2795: + cbnz w2, .L2788 add x0, x19, :lo12:.LANCHOR0 lsl x22, x22, 1 ldr x0, [x0,72] ldrh w0, [x0,x22] - cbz w0, .L2790 + cbz w0, .L2797 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -17780,12 +17839,12 @@ gc_block_vpn_scan: add x1, x1, 640 mov w2, 1606 bl printk -.L2790: +.L2797: add x19, x19, :lo12:.LANCHOR0 ldr x0, [x19,72] strh wzr, [x0,x22] - b .L2781 -.L2789: + b .L2788 +.L2796: and w0, w0, 65535 add x1, x29, 144 sub w0, w0, #1 @@ -17793,7 +17852,7 @@ gc_block_vpn_scan: ldrh w21, [x0,-16] mov w0, 65535 cmp w21, w0 - bne .L2792 + bne .L2799 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -17801,27 +17860,27 @@ gc_block_vpn_scan: add x1, x1, 640 mov w2, 1612 bl printk -.L2792: +.L2799: add x2, x19, :lo12:.LANCHOR0 ldrb w3, [x24,2] mov w26, 1 and w3, w3, 224 ldrh w0, [x2,3276] cmp w3, 160 - ldrh w1, [x2,3318] + ldrh w1, [x2,3324] sub w0, w0, #1 mul w1, w21, w1 uxth w0, w0 - bne .L2793 + bne .L2800 ldrb w3, [x2,3225] cmp w3, 2 uxth w26, w3 orr w1, w1, w3, lsl 24 - bne .L2793 + bne .L2800 ldrh w0, [x2,3242] sub w0, w0, #1 uxth w0, w0 -.L2793: +.L2800: orr w21, w0, w1 mov w0, 1 bl buf_alloc @@ -17839,30 +17898,30 @@ gc_block_vpn_scan: bl ftl_memset ldr w0, [x23,52] cmp w0, 512 - beq .L2805 + beq .L2812 cmn w0, #1 cset w2, eq - cbz w2, .L2794 -.L2805: + cbz w2, .L2801 +.L2812: mov w0, w20 mov w1, 1 mov w2, 0 - b .L2818 -.L2794: + b .L2825 +.L2801: ldr x0, [x23,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L2796 + beq .L2803 mov w0, w20 mov w1, 1 -.L2818: +.L2825: bl gc_add_sblk mov x0, x23 bl buf_free - b .L2781 -.L2796: + b .L2788 +.L2803: ldrb w0, [x21,3244] mov x27, 0 ldrh w1, [x21,3276] @@ -17873,22 +17932,22 @@ gc_block_vpn_scan: uxth w0, w26 ldr x26, [x23,8] str w0, [x29,108] -.L2797: +.L2804: ldr w0, [x29,108] cmp w0, w27 - ble .L2819 + ble .L2826 ldr w0, [x26,x27,lsl 2] cmn w0, #1 - beq .L2798 + beq .L2805 bl lpa_hash_get_ppa str w0, [x29,124] cmn w0, #1 - bne .L2799 + bne .L2806 ldr w0, [x26,x27,lsl 2] add x1, x29, 124 mov w2, 0 bl pm_log2phys -.L2799: +.L2806: add x4, x19, :lo12:.LANCHOR0 mov w1, 21 ldrh w0, [x4,3314] @@ -17902,18 +17961,18 @@ gc_block_vpn_scan: and w0, w2, w0 udiv w0, w0, w1 cmp w0, w28 - bne .L2798 + bne .L2805 add w21, w21, 1 uxth w21, w21 -.L2798: +.L2805: add x27, x27, 1 - b .L2797 -.L2819: + b .L2804 +.L2826: mov x0, x23 bl buf_free adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L2801 + tbz x0, 8, .L2808 add x0, x19, :lo12:.LANCHOR0 ldrb w4, [x24,2] uxth w1, w25 @@ -17924,17 +17983,17 @@ gc_block_vpn_scan: add x0, x0, :lo12:.LC218 ldrh w2, [x2,x22,lsl 1] bl printk -.L2801: +.L2808: add x19, x19, :lo12:.LANCHOR0 cmp w21, 31 ldr x0, [x19,72] strh w21, [x0,x22,lsl 1] - bhi .L2781 + bhi .L2788 mov w0, w20 mov w1, 1 mov w2, 0 bl gc_add_sblk -.L2781: +.L2788: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -17959,12 +18018,12 @@ ftl_sblk_dump: stp x25, x26, [sp,112] stp x27, x28, [sp,128] cmp w22, w2 - beq .L2821 + beq .L2828 adrp x23, .LANCHOR0 add x2, x23, :lo12:.LANCHOR0 ldrh w3, [x2,56] cmp w3, w22 - bls .L2821 + bls .L2828 uxtw x0, w22 str x0, [x29,128] lsl x0, x0, 2 @@ -17976,9 +18035,9 @@ ftl_sblk_dump: ldrb w0, [x0,2] and w0, w0, 224 cmp w0, 160 - bne .L2822 + bne .L2829 ldrb w26, [x2,3225] -.L2822: +.L2829: str x1, [x29,144] mov w0, w22 add x1, x29, 192 @@ -18019,46 +18078,46 @@ ftl_sblk_dump: add x0, x0, :lo12:.LANCHOR3 add x0, x0, 664 str x0, [x29,112] -.L2823: +.L2830: add x20, x23, :lo12:.LANCHOR0 ldrh w0, [x20,3276] cmp w0, w19 - bls .L2839 + bls .L2846 lsl w0, w19, 1 mov w25, 0 sub w0, w0, #1 str w0, [x29,136] -.L2840: +.L2847: ldrb w0, [x29,185] cmp w0, w25 - bls .L2837 + bls .L2844 mov w24, 1 -.L2838: +.L2845: cmp w24, w26 - bhi .L2857 + bhi .L2864 add x0, x29, 176 add x0, x0, x25, sxtw 1 ldrh w2, [x0,16] mov w0, 65535 cmp w2, w0 - beq .L2824 + beq .L2831 add x1, x23, :lo12:.LANCHOR0 cmp w26, 3 - ldrh w0, [x1,3318] + ldrh w0, [x1,3324] mul w0, w2, w0 add w20, w0, w19 - bne .L2825 + bne .L2832 orr w20, w20, w24, lsl 24 - b .L2826 -.L2825: + b .L2833 +.L2832: cmp w26, 2 - bne .L2826 + bne .L2833 ldr w3, [x29,136] ldrb w20, [x1,3225] add w0, w0, w3 add w0, w0, w24 orr w20, w0, w20, lsl 24 -.L2826: +.L2833: mov w1, 1 str w20, [x27,40] mov x0, x27 @@ -18090,13 +18149,13 @@ ftl_sblk_dump: bl printk ldr x9, [x29,104] cmp w9, 512 - beq .L2844 + beq .L2851 cmn w9, #1 - bne .L2828 -.L2844: + bne .L2835 +.L2851: mov w0, 1 str w0, [x29,140] -.L2828: +.L2835: add x0, x23, :lo12:.LANCHOR0 ldr x1, [x29,152] ldr x0, [x0,64] @@ -18104,10 +18163,10 @@ ftl_sblk_dump: ldrb w0, [x0,2] and w0, w0, 224 cmp w0, 32 - beq .L2824 + beq .L2831 cmp w0, 224 cset w2, eq - cbnz w2, .L2824 + cbnz w2, .L2831 ldr x0, [x27,24] str x2, [x29,104] ldr w0, [x0,4] @@ -18115,15 +18174,15 @@ ftl_sblk_dump: str w0, [x29,172] cmn w0, #1 ldr x2, [x29,104] - bne .L2830 + bne .L2837 ldr x0, [x27,24] add x1, x29, 172 ldr w0, [x0,4] bl pm_log2phys -.L2830: +.L2837: ldr w0, [x29,172] cmp w0, w20 - bne .L2831 + bne .L2838 ldr x2, [x27,24] add w21, w21, 1 adrp x0, .LC220 @@ -18132,51 +18191,51 @@ ftl_sblk_dump: mov w3, w21 ldr w2, [x2,4] bl printk -.L2831: +.L2838: ldr x0, [x29,144] - cbz x0, .L2833 + cbz x0, .L2840 ubfiz x20, x28, 2, 32 ldr w2, [x0,x20] ldr x0, [x27,24] ldr w0, [x0,4] cmp w0, w2 - beq .L2834 + beq .L2841 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2834 + tbz x0, 12, .L2841 adrp x0, .LC221 mov w1, w28 add x0, x0, :lo12:.LC221 bl printk -.L2834: +.L2841: ldr x0, [x29,144] ldr x1, [x27,24] ldr w0, [x0,x20] ldr w1, [x1,4] cmp w1, w0 - beq .L2833 + beq .L2840 cmn w0, #1 - beq .L2833 + beq .L2840 adrp x0, .LC0 ldr x1, [x29,112] add x0, x0, :lo12:.LC0 - mov w2, 1175 + mov w2, 1193 bl printk -.L2833: +.L2840: add w28, w28, 1 -.L2824: +.L2831: add w24, w24, 1 uxth w24, w24 - b .L2838 -.L2857: + b .L2845 +.L2864: add w25, w25, 1 uxth w25, w25 - b .L2840 -.L2837: + b .L2847 +.L2844: add w19, w19, 1 uxth w19, w19 - b .L2823 -.L2839: + b .L2830 +.L2846: mov x0, x27 bl buf_free ldr x3, [x29,128] @@ -18188,7 +18247,7 @@ ftl_sblk_dump: mov w3, w21 bl printk ldr w0, [x29,140] -.L2821: +.L2828: sub sp, x29, #48 ldp x19, x20, [sp,64] ldp x21, x22, [sp,80] @@ -18216,30 +18275,30 @@ zftl_read: stp x27, x28, [sp,80] mov w25, w2 mov x23, x3 - tbz x0, 12, .L2859 + tbz x0, 12, .L2866 adrp x0, .LC223 mov w1, w19 add x0, x0, :lo12:.LC223 mov w2, w24 mov w3, w25 bl printk -.L2859: - cbnz w19, .L2860 +.L2866: + cbnz w19, .L2867 adrp x0, .LANCHOR0+4 mov w19, 24576 ldr w2, [x0,#:lo12:.LANCHOR0+4] - b .L2861 -.L2860: + b .L2868 +.L2867: cmp w19, 3 mov w0, -1 - bhi .L2862 + bhi .L2869 lsl w19, w19, 13 mov w2, 8192 -.L2861: +.L2868: add w1, w24, w25 mov w0, -1 cmp w1, w2 - bhi .L2862 + bhi .L2869 adrp x22, .LANCHOR0 add w24, w19, w24 add x1, x22, :lo12:.LANCHOR0 @@ -18265,9 +18324,9 @@ zftl_read: add x0, x0, :lo12:.LANCHOR3 add x0, x0, 680 str x0, [x29,128] -.L2863: +.L2870: ldr w0, [x29,156] - cbz w0, .L2909 + cbz w0, .L2916 add x0, x22, :lo12:.LANCHOR0 ldr w1, [x29,148] cmp w21, w27 @@ -18276,12 +18335,12 @@ zftl_read: ldrb w0, [x0,2816] cset w20, eq uxth w19, w0 - cbnz w20, .L2889 - cbz w2, .L2864 - b .L2908 -.L2889: - cbz w2, .L2866 -.L2908: + cbnz w20, .L2896 + cbz w2, .L2871 + b .L2915 +.L2896: + cbz w2, .L2873 +.L2915: udiv w20, w24, w0 msub w20, w20, w0, w24 uxth w0, w25 @@ -18290,21 +18349,21 @@ zftl_read: uxth w19, w19 cmp w19, w25 csel w19, w0, w19, hi - b .L2864 -.L2866: + b .L2871 +.L2873: msub w19, w0, w21, w28 mov w20, w2 uxtb w19, w19 -.L2864: +.L2871: add x1, x22, :lo12:.LANCHOR0 mov w0, 0 add x1, x1, 768 -.L2869: +.L2876: ldr w2, [x1,36] cmp w2, w21 - bne .L2867 + bne .L2874 ldrb w2, [x1,2] - tbz x2, 3, .L2867 + tbz x2, 3, .L2874 add x2, x22, :lo12:.LANCHOR0 ubfiz x1, x0, 6, 32 add x0, x2, x1 @@ -18316,52 +18375,52 @@ zftl_read: add x23, x23, x19 add x1, x1, x20 bl ftl_memcpy - b .L2868 -.L2867: + b .L2875 +.L2874: add w0, w0, 1 add x1, x1, 64 cmp w0, 32 - bne .L2869 + bne .L2876 mov w0, w21 bl lpa_hash_get_ppa str w0, [x29,172] cmn w0, #1 - bne .L2870 + bne .L2877 mov w0, w21 add x1, x29, 172 mov w2, 0 bl pm_log2phys -.L2870: +.L2877: ldr w0, [x29,172] cmn w0, #1 - bne .L2871 + bne .L2878 mov w19, 0 -.L2872: +.L2879: add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,2816] cmp w19, w0 - bcs .L2868 + bcs .L2875 madd w0, w21, w0, w19 cmp w0, w24 - bcc .L2873 + bcc .L2880 cmp w0, w28 - bcs .L2873 + bcs .L2880 mov x0, x23 mov w1, 0 mov w2, 512 add x23, x23, 512 bl ftl_memset -.L2873: +.L2880: add w19, w19, 1 - b .L2872 -.L2871: + b .L2879 +.L2878: mov w0, 0 bl buf_alloc mov x26, x0 - cbnz x0, .L2875 + cbnz x0, .L2882 bl ftl_read_ahead - b .L2863 -.L2875: + b .L2870 +.L2882: add x1, x22, :lo12:.LANCHOR0 ldr x2, [x1,2848] ldr w0, [x2,40] @@ -18372,25 +18431,25 @@ zftl_read: str w0, [x26,44] ldrb w0, [x1,2816] cmp w0, w19 - bne .L2877 + bne .L2884 str x23, [x26,16] -.L2877: +.L2884: mov x0, x26 mov w1, 1 bl sblk_read_page ldr w9, [x26,52] cmn w9, #1 - bne .L2878 + bne .L2885 add x0, x22, :lo12:.LANCHOR0 str w9, [x29,152] ldr x1, [x0,80] ldr w0, [x1,552] add w0, w0, 1 str w0, [x1,552] - b .L2879 -.L2878: + b .L2886 +.L2885: cmp w9, 256 - bne .L2879 + bne .L2886 add x1, x22, :lo12:.LANCHOR0 mov w2, 21 mov w5, 1 @@ -18419,11 +18478,11 @@ zftl_read: mov w1, w5 bl gc_add_sblk ldr x9, [x29,104] -.L2879: +.L2886: ldr x7, [x26,24] ldr w5, [x7,4] cmp w5, w21 - beq .L2880 + beq .L2887 ldr w4, [x7] adrp x0, .LC196 ldr w6, [x7,8] @@ -18449,44 +18508,44 @@ zftl_read: mov x1, 0 bl ftl_sblk_dump ldr x9, [x29,120] -.L2880: +.L2887: ldr x0, [x26,24] ldr w0, [x0,4] cmp w0, w21 - bne .L2890 + bne .L2897 cmn w9, #1 - bne .L2881 -.L2890: + bne .L2888 +.L2897: ldr x0, [x29,136] mov w2, 1030 ldr x1, [x29,128] bl printk -.L2881: +.L2888: ldr x0, [x26,16] - cbnz x0, .L2883 + cbnz x0, .L2890 ldr x1, [x26,8] ubfiz x20, x20, 9, 16 mov x0, x23 lsl w2, w19, 9 add x1, x1, x20 bl ftl_memcpy -.L2883: +.L2890: mov x0, x26 ubfiz x19, x19, 9, 16 add x23, x23, x19 bl buf_free -.L2868: +.L2875: ldr w0, [x29,156] add w21, w21, 1 sub w0, w0, #1 str w0, [x29,156] - b .L2863 -.L2909: + b .L2870 +.L2916: bl timer_get_time - adrp x1, .LANCHOR7+3320 - str w0, [x1,#:lo12:.LANCHOR7+3320] + adrp x1, .LANCHOR7+3312 + str w0, [x1,#:lo12:.LANCHOR7+3312] ldr w0, [x29,152] -.L2862: +.L2869: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -18577,25 +18636,25 @@ vpn_check: bl printk add x0, x21, :lo12:.LANCHOR7 mov w1, 0 - add x0, x0, 3328 + add x0, x0, 3320 mov w2, 4608 bl ftl_memset -.L2913: +.L2920: add x24, x20, :lo12:.LANCHOR0 ldr w0, [x24,2824] cmp w19, w0 - bcs .L2941 + bcs .L2948 mov w0, w19 bl lpa_hash_get_ppa str w0, [x29,124] cmn w0, #1 - bne .L2914 + bne .L2921 mov w0, w19 add x1, x29, 124 mov w2, 0 bl pm_log2phys - b .L2915 -.L2914: + b .L2922 +.L2921: ldrh w2, [x24,3314] mov w1, 21 lsr w0, w0, w2 @@ -18608,15 +18667,15 @@ vpn_check: udiv w0, w0, w1 ldrh w1, [x24,56] cmp w1, w0, uxth - bhi .L2915 + bhi .L2922 mov x0, x23 mov x1, x22 mov w2, 1256 bl printk -.L2915: +.L2922: ldr w2, [x29,124] cmn w2, #1 - beq .L2917 + beq .L2924 add x24, x20, :lo12:.LANCHOR0 mov w3, 21 mov w0, 1 @@ -18632,14 +18691,14 @@ vpn_check: uxth w25, w3 and w3, w3, 65535 cmp w0, w25 - bls .L2918 + bls .L2925 add x0, x21, :lo12:.LANCHOR7 - add x0, x0, 3328 + add x0, x0, 3320 ldrh w1, [x0,w3,sxtw 1] add w1, w1, 1 strh w1, [x0,w3,sxtw 1] - b .L2919 -.L2918: + b .L2926 +.L2925: adrp x0, .LC228 mov w1, w19 add x0, x0, :lo12:.LC228 @@ -18651,40 +18710,40 @@ vpn_check: mov w2, 4 lsl w3, w3, 7 bl rknand_print_hex -.L2919: +.L2926: add x0, x20, :lo12:.LANCHOR0 ldrh w0, [x0,56] cmp w0, w25 - bhi .L2917 + bhi .L2924 mov x0, x23 mov x1, x22 mov w2, 1266 bl printk -.L2917: +.L2924: bl timer_get_time add w19, w19, 1 - b .L2913 -.L2941: + b .L2920 +.L2948: mov w23, 0 adrp x26, .LC230 mov w19, w23 add x27, x21, :lo12:.LANCHOR7 add x26, x26, :lo12:.LC230 mov w28, 65535 -.L2922: +.L2929: add x22, x20, :lo12:.LANCHOR0 ldrh w1, [x22,56] cmp w1, w19 - bls .L2942 + bls .L2949 uxtw x1, w19 ldr x0, [x22,72] lsl x25, x1, 1 - add x24, x27, 3328 + add x24, x27, 3320 sxtw x5, w19 ldrh w3, [x0,x25] ldrh w2, [x24,w19,sxtw 1] cmp w3, w2 - beq .L2923 + beq .L2930 ldr x0, [x22,64] str x5, [x29,104] add x1, x0, x1, lsl 2 @@ -18696,26 +18755,26 @@ vpn_check: ldr x0, [x22,72] ldrh w1, [x0,x25] cmp w1, w28 - beq .L2923 + beq .L2930 ldr x5, [x29,104] ldrh w0, [x24,x5,lsl 1] cmp w0, w1 - bls .L2923 + bls .L2930 ldr x1, [x22,80] ldrh w0, [x1,16] cmp w0, w19 - beq .L2923 + beq .L2930 ldrh w0, [x1,80] cmp w0, w19 - beq .L2923 + beq .L2930 ldrh w0, [x1,48] cmp w0, w19 csinc w23, w23, wzr, eq -.L2923: +.L2930: add w19, w19, 1 uxth w19, w19 - b .L2922 -.L2942: + b .L2929 +.L2949: adrp x22, .LANCHOR3 adrp x24, .LC0 add x22, x22, :lo12:.LANCHOR3 @@ -18723,50 +18782,50 @@ vpn_check: add x21, x21, :lo12:.LANCHOR7 add x24, x24, :lo12:.LC0 add x22, x22, 696 -.L2925: +.L2932: add x1, x20, :lo12:.LANCHOR0 ldrh w0, [x1,56] cmp w0, w19 - bls .L2943 + bls .L2950 uxtw x25, w19 ldr x0, [x1,64] add x0, x0, x25, lsl 2 ldrb w0, [x0,2] tst w0, 224 - bne .L2927 - add x0, x21, 3328 + bne .L2934 + add x0, x21, 3320 sxtw x27, w19 ldrh w0, [x0,w19,sxtw 1] - cbnz w0, .L2928 + cbnz w0, .L2935 lsl x26, x25, 1 ldr x0, [x1,72] ldrh w0, [x0,x26] - cbz w0, .L2929 + cbz w0, .L2936 adrp x0, .LC231 mov w1, w19 add x0, x0, :lo12:.LC231 bl printk -.L2929: +.L2936: add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,72] strh wzr, [x0,x26] -.L2928: +.L2935: add x0, x20, :lo12:.LANCHOR0 ldr x0, [x0,72] ldrh w0, [x0,x25,lsl 1] - cbz w0, .L2927 - add x0, x21, 3328 + cbz w0, .L2934 + add x0, x21, 3320 ldrh w0, [x0,x27,lsl 1] - cbz w0, .L2927 + cbz w0, .L2934 mov x0, x24 mov x1, x22 mov w2, 1298 bl printk -.L2927: +.L2934: add w19, w19, 1 uxth w19, w19 - b .L2925 -.L2943: + b .L2932 +.L2950: adrp x1, .LANCHOR3 adrp x0, .LC232 add x1, x1, :lo12:.LANCHOR3 @@ -18797,7 +18856,7 @@ gc_scan_src_blk: ldrh w1, [x0,2888] mov w0, 65535 cmp w1, w0 - bne .L2945 + bne .L2952 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -18805,23 +18864,23 @@ gc_scan_src_blk: add x1, x1, 712 mov w2, 897 bl printk -.L2945: +.L2952: add x2, x19, :lo12:.LANCHOR0 mov w3, 65535 mov w0, 0 ldrh w1, [x2,2888] cmp w1, w3 - beq .L2946 + beq .L2953 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L2947 + tbz x0, 8, .L2954 ubfiz x3, x1, 1, 16 ldr x2, [x2,72] adrp x0, .LC233 add x0, x0, :lo12:.LC233 ldrh w2, [x2,x3] bl printk -.L2947: +.L2954: add x20, x19, :lo12:.LANCHOR0 bl timer_get_time add x21, x20, 2888 @@ -18830,36 +18889,36 @@ gc_scan_src_blk: bl ftl_get_blk_list_in_sblk uxtb w1, w0 strb w1, [x21,5] - cbnz w1, .L2948 + cbnz w1, .L2955 mov w0, -1 strh w0, [x20,2888] - b .L2976 -.L2948: + b .L2983 +.L2955: ldrh w3, [x20,2888] ldr x2, [x20,64] add x2, x2, x3, lsl 2 ldrb w2, [x2,2] tst w2, 192 and w4, w2, 224 - beq .L2949 + beq .L2956 cmp w4, 224 - beq .L2949 + beq .L2956 ldr x2, [x20,80] ldrh w5, [x2,16] cmp w5, w3 - beq .L2949 + beq .L2956 ldrh w5, [x2,48] cmp w5, w3 - beq .L2949 + beq .L2956 ldrh w2, [x2,80] cmp w2, w3 - bne .L2950 -.L2949: - cbnz w4, .L2951 + bne .L2957 +.L2956: + cbnz w4, .L2958 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,72] ldrh w0, [x0,x3,lsl 1] - cbz w0, .L2952 + cbz w0, .L2959 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -18867,27 +18926,27 @@ gc_scan_src_blk: add x1, x1, 712 mov w2, 917 bl printk -.L2952: +.L2959: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0,2888] ldr x0, [x0,72] strh wzr, [x0,x1,lsl 1] -.L2951: +.L2958: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 strh wzr, [x19,2912] strh w0, [x19,2888] -.L2976: +.L2983: mov w0, 0 - b .L2946 -.L2950: + b .L2953 +.L2957: and w0, w0, 255 sub w0, w0, #1 add x0, x21, x0, sxtw 1 ldrh w20, [x0,40] mov w0, 65535 cmp w20, w0 - bne .L2953 + bne .L2960 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -18895,30 +18954,30 @@ gc_scan_src_blk: add x1, x1, 712 mov w2, 925 bl printk -.L2953: +.L2960: add x2, x19, :lo12:.LANCHOR0 mov w24, 1 ldrh w3, [x2,2888] ldr x4, [x2,64] ldrh w0, [x2,3276] add x3, x4, x3, lsl 2 - ldrh w1, [x2,3318] + ldrh w1, [x2,3324] sub w0, w0, #1 ldrb w3, [x3,2] uxth w0, w0 mul w1, w20, w1 and w3, w3, 224 cmp w3, 160 - bne .L2954 + bne .L2961 ldrb w3, [x2,3225] cmp w3, 2 uxth w24, w3 orr w1, w1, w3, lsl 24 - bne .L2954 + bne .L2961 ldrh w0, [x2,3242] sub w0, w0, #1 uxth w0, w0 -.L2954: +.L2961: add x20, x19, :lo12:.LANCHOR0 orr w23, w0, w1 mov w0, 1 @@ -18941,15 +19000,15 @@ gc_scan_src_blk: strh wzr, [x20,2912] ldr w0, [x21,52] cmp w0, 512 - beq .L2958 + beq .L2965 cmn w0, #1 - beq .L2958 + beq .L2965 ldr x0, [x21,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L2957 + beq .L2964 ldrh w0, [x20,2888] mov x1, 0 bl ftl_sblk_dump @@ -18958,7 +19017,7 @@ gc_scan_src_blk: mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L2958 + beq .L2965 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -18966,12 +19025,12 @@ gc_scan_src_blk: add x1, x1, 712 mov w2, 955 bl printk -.L2958: +.L2965: mov x0, x21 bl buf_free mov w0, -1 - b .L2946 -.L2957: + b .L2953 +.L2964: ldrb w0, [x20,3244] mov x26, 0 ldrh w22, [x20,3276] @@ -18981,21 +19040,21 @@ gc_scan_src_blk: mul w22, w24, w22 mov w24, 21 uxth w22, w22 -.L2959: +.L2966: cmp w22, w26 - ble .L2977 + ble .L2984 ldr w0, [x23,x26,lsl 2] cmn w0, #1 - beq .L2961 + beq .L2968 bl lpa_hash_get_ppa str w0, [x29,92] cmn w0, #1 - bne .L2962 + bne .L2969 ldr w0, [x23,x26,lsl 2] add x1, x29, 92 mov w2, 0 bl pm_log2phys -.L2962: +.L2969: ldrh w0, [x20,3314] ldr w2, [x29,92] sub w1, w24, w0 @@ -19007,18 +19066,18 @@ gc_scan_src_blk: ldrb w1, [x20,3312] udiv w0, w0, w1 cmp w0, w3 - bne .L2961 + bne .L2968 ldrh w3, [x20,2912] ldr x0, [x20,3216] str w2, [x0,x3,lsl 2] ldrh w0, [x20,2912] add w0, w0, 1 strh w0, [x20,2912] -.L2961: +.L2968: bl timer_get_time add x26, x26, 1 - b .L2959 -.L2977: + b .L2966 +.L2984: mov x0, x21 bl buf_free add x0, x19, :lo12:.LANCHOR0 @@ -19028,20 +19087,20 @@ gc_scan_src_blk: ldrh w2, [x3,x2] ldrh w3, [x0,2912] cmp w2, w3 - beq .L2965 + beq .L2972 adrp x0, .LC234 add x0, x0, :lo12:.LC234 bl printk -.L2965: +.L2972: add x0, x19, :lo12:.LANCHOR0 ldrh w2, [x0,2888] ldr x1, [x0,72] ldrh w0, [x0,2912] ldrh w1, [x1,x2,lsl 1] cmp w1, w0 - bcs .L2966 + bcs .L2973 bl vpn_check -.L2966: +.L2973: add x19, x19, :lo12:.LANCHOR0 ldrh w2, [x19,2888] ldr x1, [x19,72] @@ -19049,7 +19108,7 @@ gc_scan_src_blk: strh w3, [x1,x2,lsl 1] strh wzr, [x19,2916] ldrh w0, [x19,2912] -.L2946: +.L2953: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -19081,49 +19140,49 @@ ftl_scan_all_data: add x24, x24, :lo12:.LC236 add x27, x25, :lo12:.LC237 bl printk -.L2979: +.L2986: adrp x21, .LANCHOR0 add x0, x21, :lo12:.LANCHOR0 ldr w0, [x0,2824] cmp w20, w0 - bcs .L3002 + bcs .L3009 mov w0, -1 str w0, [x19,36] mov w0, w20 bl lpa_hash_get_ppa str w0, [x29,124] cmn w0, #1 - bne .L2980 + bne .L2987 mov w0, w20 add x1, x29, 124 mov w2, 0 bl pm_log2phys -.L2980: +.L2987: and w0, w20, 4095 - cbnz w0, .L2981 + cbnz w0, .L2988 ldr w2, [x29,124] mov x0, x24 mov w1, w20 bl printk -.L2981: +.L2988: ldr w0, [x29,124] str w0, [x19,40] str w0, [x19,44] cmn w0, #1 - beq .L2983 + beq .L2990 mov x0, x19 mov w1, 1 bl sblk_read_page ldr w3, [x19,52] cmn w3, #1 - beq .L2984 + beq .L2991 cmp w3, 256 - beq .L2984 + beq .L2991 ldr x0, [x19,24] ldr w0, [x0,4] cmp w0, w20 - beq .L2983 -.L2984: + beq .L2990 +.L2991: ldr x0, [x19,8] add x23, x25, :lo12:.LC237 ldr x7, [x19,24] @@ -19144,8 +19203,8 @@ ftl_scan_all_data: ldr w22, [x0,4] ldr w0, [x0,8] cmn w0, #1 - bne .L2986 -.L2988: + bne .L2993 +.L2995: add x21, x21, :lo12:.LANCHOR0 mov w0, w20 ldrb w22, [x21,2816] @@ -19170,12 +19229,12 @@ ftl_scan_all_data: add x1, x29, 124 mov w2, 0 bl pm_log2phys - b .L2987 -.L2986: + b .L2994 +.L2993: add x1, x21, :lo12:.LANCHOR0 ldr w1, [x1,2824] cmp w22, w1 - bcs .L2988 + bcs .L2995 str w0, [x19,40] mov w1, 1 mov x0, x19 @@ -19199,12 +19258,12 @@ ftl_scan_all_data: bl lpa_hash_get_ppa str w0, [x29,124] cmn w0, #1 - bne .L2989 + bne .L2996 mov w0, w22 add x1, x29, 124 mov w2, 0 bl pm_log2phys -.L2989: +.L2996: ldr w0, [x29,124] mov w1, 1 str w0, [x19,40] @@ -19253,45 +19312,45 @@ ftl_scan_all_data: adrp x4, .LC239 add x4, x4, :lo12:.LC239 add x23, x5, 3872 -.L2991: +.L2998: add x0, x23, x22 ldr x1, [x0,8] - cbz x1, .L2990 + cbz x1, .L2997 ldrh w0, [x22,x23] cmp w0, w28 - bne .L2990 + bne .L2997 mov x0, x4 mov w2, 4 mov w3, 4096 str x4, [x29,104] bl rknand_print_hex ldr x4, [x29,104] -.L2990: +.L2997: add x22, x22, 16 cmp x22, 512 - bne .L2991 - b .L2988 -.L3003: + bne .L2998 + b .L2995 +.L3010: ldrh w0, [x22,x21] cmp w0, w23 - bne .L2992 + bne .L2999 mov x0, x26 mov w2, 4 mov w3, 4096 bl rknand_print_hex -.L2992: +.L2999: add x22, x22, 16 cmp x22, 512 - beq .L2983 -.L2987: + beq .L2990 +.L2994: add x0, x21, x22 ldr x1, [x0,8] - cbnz x1, .L3003 - b .L2992 -.L2983: + cbnz x1, .L3010 + b .L2999 +.L2990: add w20, w20, 1 - b .L2979 -.L3002: + b .L2986 +.L3009: mov x0, x19 bl buf_free sub sp, x29, #16 @@ -19319,12 +19378,12 @@ zftl_debug_proc_write: stp x23, x24, [sp,80] stp x25, x26, [sp,96] mov x21, x2 - bhi .L3005 + bhi .L3012 mov x0, x19 bl rk_copy_from_user mov x22, x0 mov x0, -14 - cbnz x22, .L3005 + cbnz x22, .L3012 adrp x0, .LC241 mov x1, x19 add x0, x0, :lo12:.LC241 @@ -19342,7 +19401,7 @@ zftl_debug_proc_write: add x1, x1, :lo12:.LC243 mov x2, 7 bl memcmp - cbnz w0, .L3006 + cbnz w0, .L3013 adrp x23, .LANCHOR0 adrp x0, .LC244 add x19, x23, :lo12:.LANCHOR0 @@ -19363,11 +19422,11 @@ zftl_debug_proc_write: mov w19, w22 mov w22, 65535 bl rknand_print_hex -.L3007: +.L3014: add x0, x20, :lo12:.LANCHOR4 ldrh w0, [x0,1132] cmp w19, w0 - bge .L3010 + bge .L3017 mov w0, 300 bl msleep add x0, x23, :lo12:.LANCHOR0 @@ -19375,19 +19434,19 @@ zftl_debug_proc_write: add x0, x0, x19, sxtw 1 ldrh w0, [x0,416] cmp w0, w22 - beq .L3008 + beq .L3015 mov x1, 0 bl ftl_sblk_dump -.L3008: +.L3015: add w19, w19, 1 - b .L3007 -.L3006: + b .L3014 +.L3013: adrp x1, .LC246 mov x0, x19 add x1, x1, :lo12:.LC246 mov x2, 7 bl memcmp - cbnz w0, .L3011 + cbnz w0, .L3018 adrp x23, .LANCHOR0 adrp x0, .LC244 add x20, x23, :lo12:.LANCHOR0 @@ -19424,14 +19483,14 @@ zftl_debug_proc_write: mov w22, w0 str w0, [x29,100] uxth w26, w0 -.L3013: +.L3020: ldrh w1, [x19] mov x0, x23 ldrh w2, [x19,2] bl printk ldrh w0, [x19] cmp w0, w26 - bne .L3012 + bne .L3019 add x0, x20, :lo12:.LANCHOR0 ldr x1, [x19,8] mov w2, 4 @@ -19439,10 +19498,10 @@ zftl_debug_proc_write: mov x0, x24 lsl w3, w3, 7 bl rknand_print_hex -.L3012: +.L3019: add x19, x19, 16 cmp x19, x25 - bne .L3013 + bne .L3020 mov w0, 300 add x20, x20, :lo12:.LANCHOR0 bl msleep @@ -19480,41 +19539,41 @@ zftl_debug_proc_write: ldr x1, [x19,8] mov w2, 4 lsl w3, w3, 7 - b .L3025 -.L3011: + b .L3032 +.L3018: adrp x1, .LC251 mov x0, x19 add x1, x1, :lo12:.LC251 mov x2, 7 bl memcmp - cbnz w0, .L3014 + cbnz w0, .L3021 bl dump_ftl_info - b .L3010 -.L3014: + b .L3017 +.L3021: adrp x1, .LC252 mov x0, x19 add x1, x1, :lo12:.LC252 mov x2, 8 bl memcmp - cbnz w0, .L3015 + cbnz w0, .L3022 bl dump_all_list_info - b .L3010 -.L3015: + b .L3017 +.L3022: adrp x1, .LC253 mov x0, x19 add x1, x1, :lo12:.LC253 mov x2, 8 bl memcmp - cbnz w0, .L3016 + cbnz w0, .L3023 bl vpn_check - b .L3010 -.L3016: + b .L3017 +.L3023: adrp x1, .LC254 mov x0, x19 add x1, x1, :lo12:.LC254 mov x2, 8 bl memcmp - cbnz w0, .L3017 + cbnz w0, .L3024 add x20, x29, 192 adrp x0, .LC247 add x1, x19, 8 @@ -19565,18 +19624,18 @@ zftl_debug_proc_write: add x0, x0, :lo12:.LC191 mov w2, 4 lsl w3, w3, 1 -.L3025: +.L3032: bl rknand_print_hex mov x0, x19 bl buf_free - b .L3010 -.L3017: + b .L3017 +.L3024: adrp x1, .LC255 mov x0, x19 add x1, x1, :lo12:.LC255 mov x2, 8 bl memcmp - cbnz w0, .L3018 + cbnz w0, .L3025 add x20, x29, 192 adrp x0, .LC247 add x1, x19, 8 @@ -19589,14 +19648,14 @@ zftl_debug_proc_write: str w0, [x29,100] mov x1, x22 bl ftl_sblk_dump - b .L3010 -.L3018: + b .L3017 +.L3025: adrp x1, .LC256 mov x0, x19 add x1, x1, :lo12:.LC256 mov x2, 10 bl memcmp - cbnz w0, .L3019 + cbnz w0, .L3026 add x20, x29, 192 adrp x0, .LC247 add x1, x19, 10 @@ -19609,8 +19668,8 @@ zftl_debug_proc_write: str w0, [x29,100] adrp x1, .LANCHOR2 str w0, [x1,#:lo12:.LANCHOR2] - b .L3010 -.L3019: + b .L3017 +.L3026: adrp x1, .LC257 mov x2, 8 mov x0, x19 @@ -19618,7 +19677,7 @@ zftl_debug_proc_write: bl memcmp mov w2, w0 str x2, [x29,88] - cbnz w0, .L3020 + cbnz w0, .L3027 add x1, x19, 8 adrp x0, .LC247 add x19, x29, 192 @@ -19633,18 +19692,18 @@ zftl_debug_proc_write: str w0, [x29,100] cmn w0, #1 ldr x2, [x29,88] - bne .L3021 + bne .L3028 mov w0, w19 add x1, x29, 100 bl pm_log2phys -.L3021: +.L3028: adrp x0, .LC258 ldr w2, [x29,100] mov w1, w19 add x0, x0, :lo12:.LC258 bl printk - b .L3010 -.L3020: + b .L3017 +.L3027: adrp x0, .LC259 add x0, x0, :lo12:.LC259 bl printk @@ -19672,10 +19731,10 @@ zftl_debug_proc_write: adrp x0, .LC267 add x0, x0, :lo12:.LC267 bl printk -.L3010: +.L3017: bl rknand_device_unlock mov x0, x21 -.L3005: +.L3012: sub sp, x29, #32 ldp x19, x20, [sp,48] ldp x21, x22, [sp,64] @@ -19708,30 +19767,32 @@ ftl_update_l2p_map: add x0, x20, x24, sxtw 2 ldr w0, [x0,-4] cmn w0, #1 - beq .L3027 + beq .L3034 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 add x1, x1, 728 - mov w2, 1450 + mov w2, 1468 bl printk -.L3027: - adrp x25, .LC269 - mov x27, 0 - add x0, x25, :lo12:.LC269 - adrp x26, .LC268 +.L3034: + adrp x0, .LC269 + mov x28, 0 + add x0, x0, :lo12:.LC269 + adrp x27, .LC268 str x0, [x29,120] - mov w22, w27 - add x0, x26, :lo12:.LC268 + adrp x0, .LC270 + add x0, x0, :lo12:.LC270 + mov w22, w28 str x0, [x29,112] -.L3028: - cmp w27, w24 - mov w25, w27 - bge .L3053 - ldr w2, [x20,x27,lsl 2] + add x27, x27, :lo12:.LC268 +.L3035: + cmp w28, w24 + mov w25, w28 + bge .L3062 + ldr w2, [x20,x28,lsl 2] cmn w2, #1 - beq .L3029 + beq .L3036 add x0, x19, :lo12:.LANCHOR0 ldrb w21, [x0,2816] adrp x0, .LANCHOR2 @@ -19739,27 +19800,25 @@ ftl_update_l2p_map: ldr w0, [x0,#:lo12:.LANCHOR2] udiv w21, w2, w21 and w21, w21, 65535 - tbz x0, 12, .L3030 - ldr x0, [x29,112] + tbz x0, 12, .L3040 + mov x0, x27 mov w1, w21 - mov w3, w27 + mov w3, w28 bl printk -.L3030: - mov w28, -1 -.L3034: +.L3040: sbfiz x26, x25, 2, 32 ldr w0, [x20,x26] cmn w0, #1 - beq .L3031 - add x6, x19, :lo12:.LANCHOR0 - ldrb w1, [x6,2816] + beq .L3038 + add x3, x19, :lo12:.LANCHOR0 + ldrb w1, [x3,2816] lsl w1, w1, 7 udiv w0, w0, w1 cmp w21, w0, uxth - bne .L3031 + bne .L3038 ldrb w0, [x23,9] - ldrh w2, [x6,3318] - str x6, [x29,104] + ldrh w2, [x3,3324] + str x3, [x29,104] sdiv w1, w25, w0 msub w0, w1, w0, w25 add x0, x23, x0, sxtw 1 @@ -19769,35 +19828,33 @@ ftl_update_l2p_map: ldr x0, [x29,120] ldr w1, [x20,x26] bl pm_ppa_update_check - ldr x6, [x29,104] - cbz w0, .L3032 - adrp x0, .LC270 - ldr x1, [x6,3840] - add x0, x0, :lo12:.LC270 + ldr x3, [x29,104] + cbz w0, .L3039 + ldr x1, [x3,3840] mov w2, 4 + ldr x0, [x29,112] mov w3, w24 bl rknand_print_hex -.L3033: - b .L3033 -.L3032: +.L3039: ldr w0, [x20,x26] add x1, x29, 140 mov w2, 1 add w22, w22, 1 bl pm_log2phys uxth w22, w22 - str w28, [x20,x26] -.L3031: + mov w0, -1 + str w0, [x20,x26] +.L3038: add w25, w25, 1 cmp w25, w24 - bne .L3034 -.L3029: - add x27, x27, 1 - b .L3028 -.L3053: + bne .L3040 +.L3036: + add x28, x28, 1 + b .L3035 +.L3062: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L3036 + tbz x0, 12, .L3042 add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x23] mov w2, w22 @@ -19807,7 +19864,7 @@ ftl_update_l2p_map: add x0, x0, :lo12:.LC271 ldrh w3, [x4,x3] bl printk -.L3036: +.L3042: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x23] ldr x0, [x19,72] @@ -19833,9 +19890,9 @@ ftl_alloc_new_data_sblk: ldrh w0, [x19] mov w1, 65535 cmp w0, w1 - beq .L3055 + beq .L3064 bl zftl_insert_data_list -.L3055: +.L3064: adrp x0, .LANCHOR0+80 mov w2, 2 mov w1, 3 @@ -19873,10 +19930,10 @@ ftl_write_commit: stp x21, x22, [sp,32] stp x25, x26, [sp,64] str x0, [x29,104] -.L3059: +.L3068: ldrb w0, [x24,2840] adrp x21, .LANCHOR0 - cbz w0, .L3061 + cbz w0, .L3070 ldrb w1, [x24,2866] sub w0, w0, #1 str x1, [x29,112] @@ -19888,35 +19945,35 @@ ftl_write_commit: ldr w23, [x25,36] strb w1, [x24,2866] cmp w23, w0 - bcc .L3062 + bcc .L3071 mov x0, x25 bl buf_free mov w0, -1 - b .L3116 -.L3062: + b .L3125 +.L3071: ldr x0, [x25,24] str x0, [x29,128] ldrb w0, [x24,2841] ldr x26, [x25,8] ldrb w22, [x25,57] ldrb w20, [x25,56] - cbz w0, .L3064 + cbz w0, .L3073 ldr x0, [x29,120] ldrb w3, [x0,513] add x0, x21, :lo12:.LANCHOR0 add x0, x0, 768 add x3, x28, x3, lsl 6 -.L3065: +.L3074: ldrb w4, [x3] cmp w4, 255 - beq .L3118 + beq .L3127 sbfiz x3, x4, 6, 32 add x3, x0, x3 - b .L3065 -.L3118: + b .L3074 +.L3127: ldr w0, [x3,36] cmp w0, w23 - bne .L3064 + bne .L3073 ldr x0, [x3,8] ubfiz x1, x22, 9, 8 lsl w2, w20, 9 @@ -19925,29 +19982,29 @@ ftl_write_commit: bl ftl_memcpy mov x0, x25 bl buf_free - b .L3059 -.L3064: + b .L3068 +.L3073: mov w0, w23 bl lpa_hash_get_ppa str w0, [x29,156] cmn w0, #1 - bne .L3068 + bne .L3077 mov w0, w23 add x1, x29, 156 mov w2, 0 bl pm_log2phys -.L3068: +.L3077: add x4, x21, :lo12:.LANCHOR0 mov w3, 0 ldr x19, [x4,80] add x4, x4, 768 add x19, x19, 16 -.L3071: +.L3080: ldr w0, [x4,36] cmp w0, w23 - bne .L3069 + bne .L3078 ldrb w5, [x4,2] - tbz x5, 3, .L3069 + tbz x5, 3, .L3078 add x0, x21, :lo12:.LANCHOR0 ubfiz x3, x3, 6, 32 add x0, x0, 768 @@ -19957,22 +20014,22 @@ ftl_write_commit: strb w5, [x3,2] ldr x27, [x3,8] str w0, [x29,156] - b .L3070 -.L3069: + b .L3079 +.L3078: add w3, w3, 1 add x4, x4, 64 cmp w3, 32 - bne .L3071 + bne .L3080 mov x27, 0 -.L3070: +.L3079: add x3, x21, :lo12:.LANCHOR0 str wzr, [x29,136] ldrb w0, [x3,2816] cmp w20, w0 - bcs .L3072 + bcs .L3081 add w20, w22, w20 - cbz x27, .L3073 - cbz w22, .L3074 + cbz x27, .L3082 + cbz w22, .L3083 mov x0, x26 mov x1, x27 lsl w2, w22, 9 @@ -19981,28 +20038,28 @@ ftl_write_commit: ldr x3, [x29,136] ldr x19, [x3,80] add x19, x19, 48 -.L3074: +.L3083: add x0, x21, :lo12:.LANCHOR0 ldrb w2, [x0,2816] cmp w20, w2 - bcc .L3075 + bcc .L3084 ldr x19, [x0,80] add x19, x19, 16 - b .L3117 -.L3075: + b .L3126 +.L3084: ubfiz x1, x20, 9, 9 sub w2, w2, w20 add x0, x26, x1 lsl w2, w2, 9 add x1, x27, x1 bl ftl_memcpy -.L3117: +.L3126: str wzr, [x29,136] - b .L3072 -.L3073: + b .L3081 +.L3082: ldr w0, [x29,156] cmn w0, #1 - beq .L3076 + beq .L3085 mov w0, 1 bl buf_alloc mov x27, x0 @@ -20017,11 +20074,11 @@ ftl_write_commit: add w1, w1, 1 str w1, [x29,136] cmp w0, w23 - bne .L3077 + bne .L3086 ldr w0, [x27,52] cmn w0, #1 - bne .L3078 -.L3077: + bne .L3087 +.L3086: ldrb w1, [x27,1] adrp x0, .LC272 ldr w2, [x29,156] @@ -20049,15 +20106,15 @@ ftl_write_commit: udiv w0, w0, w1 mov x1, 0 bl ftl_sblk_dump -.L3078: +.L3087: ldr x0, [x27,24] ldr w0, [x0,4] cmp w0, w23 - bne .L3079 + bne .L3088 ldr w0, [x27,52] cmn w0, #1 - bne .L3080 -.L3079: + bne .L3089 +.L3088: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -20065,55 +20122,55 @@ ftl_write_commit: add x1, x1, 752 mov w2, 544 bl printk -.L3080: - cbz w22, .L3081 +.L3089: + cbz w22, .L3090 ldr w0, [x29,156] lsl w2, w22, 9 cmn w0, #1 - beq .L3082 + beq .L3091 ldr x1, [x27,8] mov x0, x26 bl ftl_memcpy - b .L3083 -.L3076: - cbz w22, .L3081 + b .L3092 +.L3085: + cbz w22, .L3090 lsl w2, w22, 9 -.L3082: +.L3091: mov x0, x26 mov w1, 0 bl ftl_memset -.L3083: +.L3092: add x0, x21, :lo12:.LANCHOR0 ldr x19, [x0,80] add x19, x19, 48 -.L3081: +.L3090: add x0, x21, :lo12:.LANCHOR0 ldrb w2, [x0,2816] cmp w20, w2 - bcc .L3084 - bls .L3085 + bcc .L3093 + bls .L3094 ldr x19, [x0,80] add x19, x19, 16 - b .L3085 -.L3084: + b .L3094 +.L3093: ldr w0, [x29,156] sub w2, w2, w20 lsl w2, w2, 9 cmn w0, #1 ubfiz x0, x20, 7, 9 - beq .L3086 + beq .L3095 ldr x1, [x27,8] lsl x20, x0, 2 add x0, x26, x20 add x1, x1, x20 bl ftl_memcpy - b .L3085 -.L3086: + b .L3094 +.L3095: add x0, x26, x0, lsl 2 mov w1, 0 bl ftl_memset -.L3085: - cbz x27, .L3072 +.L3094: + cbz x27, .L3081 ldrb w0, [x27,2] mov x1, x27 and w0, w0, -9 @@ -20123,13 +20180,13 @@ ftl_write_commit: bl buf_remove_buf mov x0, x27 bl buf_free -.L3072: +.L3081: ldrh w0, [x19,6] - cbnz w0, .L3087 + cbnz w0, .L3096 bl ftl_flush mov x0, x19 bl ftl_alloc_new_data_sblk -.L3087: +.L3096: mov x0, x19 add x20, x21, :lo12:.LANCHOR0 bl ftl_get_new_free_page @@ -20170,11 +20227,11 @@ ftl_write_commit: str w0, [x1,516] cmp w2, 2 adrp x0, .LANCHOR5 - bhi .L3088 + bhi .L3097 ldrh w1, [x19,6] cmp w1, 1 - bne .L3061 -.L3088: + bne .L3070 +.L3097: ldrb w1, [x19,5] mov w4, 2 add x6, x21, :lo12:.LANCHOR0 @@ -20188,14 +20245,14 @@ ftl_write_commit: ldrb w5, [x1,513] mov w1, 0 mov w3, w5 -.L3092: +.L3101: cmp w1, w4 - beq .L3119 + beq .L3128 ubfiz x3, x3, 6, 8 add w1, w1, 1 ldrb w3, [x6,x3] - b .L3092 -.L3119: + b .L3101 +.L3128: add x0, x0, :lo12:.LANCHOR5 uxtb w1, w1 sub w2, w2, w1 @@ -20208,20 +20265,20 @@ ftl_write_commit: bl sblk_prog_page ldrh w0, [x19,6] cmp w0, 1 - bne .L3061 + bne .L3070 bl sblk_wait_write_queue_completed bl ftl_write_completed mov x0, x19 bl ftl_write_last_log_page mov x0, x19 bl ftl_alloc_new_data_sblk -.L3061: +.L3070: add x21, x21, :lo12:.LANCHOR0 ldrb w19, [x21,2840] - cbnz w19, .L3059 + cbnz w19, .L3068 bl ftl_write_completed mov w0, w19 -.L3116: +.L3125: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -20246,10 +20303,10 @@ gc_do_copy_back: stp x27, x28, [sp,96] ldrb w0, [x21,3241] ldr x22, [x21,80] - cbnz w0, .L3121 + cbnz w0, .L3130 bl buf_alloc mov x20, x0 - cbz x0, .L3120 + cbz x0, .L3129 ldrh w23, [x21,2914] mov w0, w23 add w23, w23, 1 @@ -20262,10 +20319,10 @@ gc_do_copy_back: bl sblk_read_page ldr w0, [x20,52] cmp w0, 512 - beq .L3176 + beq .L3185 cmn w0, #1 - bne .L3123 -.L3176: + bne .L3132 +.L3185: add x3, x19, :lo12:.LANCHOR0 mov w2, 21 ldrh w1, [x3,3314] @@ -20279,13 +20336,13 @@ gc_do_copy_back: udiv w0, w1, w0 mov x1, 0 bl ftl_sblk_dump -.L3123: +.L3132: ldr w0, [x20,52] cmp w0, 512 - beq .L3177 + beq .L3186 cmn w0, #1 - bne .L3125 -.L3177: + bne .L3134 +.L3186: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -20293,36 +20350,36 @@ gc_do_copy_back: add x1, x1, 776 mov w2, 573 bl printk -.L3125: +.L3134: ldr x0, [x20,24] ldr w21, [x0,4] mov w0, w21 bl lpa_hash_get_ppa str w0, [x29,144] cmn w0, #1 - bne .L3127 + bne .L3136 mov w0, w21 add x1, x29, 144 mov w2, 0 bl pm_log2phys -.L3127: +.L3136: ldr w23, [x29,144] cmp w23, w22 - bne .L3128 + bne .L3137 add x1, x19, :lo12:.LANCHOR0 add x0, x1, 768 add x1, x1, 2816 -.L3131: +.L3140: ldr w2, [x0,36] cmp w2, w21 - bne .L3129 + bne .L3138 ldrb w2, [x0,2] - tbz x2, 1, .L3129 + tbz x2, 1, .L3138 mov x0, x20 bl buf_free adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3120 + tbz x0, 8, .L3129 add x19, x19, :lo12:.LANCHOR0 adrp x0, .LC273 mov w1, w21 @@ -20330,11 +20387,11 @@ gc_do_copy_back: add x0, x0, :lo12:.LC273 ldrh w3, [x19,2914] bl printk - b .L3120 -.L3129: + b .L3129 +.L3138: add x0, x0, 64 cmp x0, x1 - bne .L3131 + bne .L3140 add x22, x19, :lo12:.LANCHOR0 ldrb w1, [x20,2] str w21, [x20,36] @@ -20349,7 +20406,7 @@ gc_do_copy_back: str w0, [x20,32] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3132 + tbz x0, 8, .L3141 ldr w2, [x29,144] mov w0, w21 str x2, [x29,136] @@ -20362,7 +20419,7 @@ gc_do_copy_back: mov w1, w21 mov w4, w23 bl printk -.L3132: +.L3141: add x19, x19, :lo12:.LANCHOR0 mov x0, x20 bl ftl_gc_write_buf @@ -20374,11 +20431,11 @@ gc_do_copy_back: ldrh w0, [x19,2916] add w0, w0, 1 strh w0, [x19,2916] - b .L3120 -.L3128: + b .L3129 +.L3137: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3134 + tbz x0, 8, .L3143 mov w0, w21 add x19, x19, :lo12:.LANCHOR0 bl lpa_hash_get_ppa @@ -20390,18 +20447,18 @@ gc_do_copy_back: mov w2, w23 mov w4, w22 bl printk -.L3134: +.L3143: mov x0, x20 bl buf_free - b .L3120 -.L3121: + b .L3129 +.L3130: ldrb w24, [x21,3225] add x0, x21, 2888 add x22, x22, 80 cmp w24, 3 - bne .L3135 + bne .L3144 ldrb w1, [x21,3240] - cbz w1, .L3136 + cbz w1, .L3145 ldrb w20, [x22,9] ldrh w21, [x0,314] str w24, [x29,136] @@ -20410,8 +20467,8 @@ gc_do_copy_back: sdiv w23, w21, w23 madd w20, w23, w20, w21 uxth w20, w20 - b .L3138 -.L3136: + b .L3147 +.L3145: ldrh w20, [x0,314] adrp x0, .LANCHOR2 ldrb w21, [x22,9] @@ -20428,48 +20485,48 @@ gc_do_copy_back: cmp w25, 1 add w21, w21, w21, lsl 1 uxth w21, w21 - bne .L3139 - b .L3138 -.L3135: + bne .L3148 + b .L3147 +.L3144: ldrb w20, [x22,9] - ldrb w1, [x21,3316] + ldrb w1, [x21,3322] ldrh w21, [x0,314] mov w0, 1 sdiv w23, w21, w20 msub w20, w23, w20, w21 uxth w20, w20 - cbz w1, .L3221 + cbz w1, .L3230 mov w0, 2 -.L3221: +.L3230: str w0, [x29,136] -.L3138: +.L3147: mov w25, 0 add x24, x19, :lo12:.LANCHOR0 adrp x3, .LANCHOR4 -.L3141: +.L3150: ldrb w1, [x22,9] ldr w0, [x29,136] mul w0, w0, w1 cmp w25, w0 - bge .L3174 + bge .L3183 ldrh w0, [x24,3242] add w26, w21, w25 mul w0, w0, w1 sub w0, w0, #1 cmp w26, w0 - beq .L3174 + beq .L3183 add x0, x3, :lo12:.LANCHOR4 sbfiz x26, x26, 2, 32 ldr x1, [x0,1112] ldr w0, [x1,x26] cmn w0, #1 - bne .L3142 + bne .L3151 ldrh w27, [x24,2914] ldrh w0, [x24,2912] str x3, [x29,120] str x1, [x29,128] cmp w0, w27 - bls .L3120 + bls .L3129 mov w0, w27 add w27, w27, 1 bl gc_get_src_ppa_from_index @@ -20477,17 +20534,17 @@ gc_do_copy_back: ldr x1, [x29,128] ldr x3, [x29,120] str w0, [x1,x26] -.L3142: +.L3151: add w25, w25, 1 uxth w25, w25 - b .L3141 -.L3174: + b .L3150 +.L3183: mov w25, 1 -.L3139: +.L3148: adrp x0, .LANCHOR2 str x0, [x29,120] ldr w1, [x0,#:lo12:.LANCHOR2] - tbz x1, 8, .L3144 + tbz x1, 8, .L3153 adrp x0, .LANCHOR4+1112 add x4, x19, :lo12:.LANCHOR0 ubfiz x5, x21, 2, 16 @@ -20501,7 +20558,7 @@ gc_do_copy_back: ldr w5, [x6,x5] mov w6, w21 bl printk -.L3144: +.L3153: adrp x0, .LC0 mov w27, 0 add x0, x0, :lo12:.LC0 @@ -20510,12 +20567,12 @@ gc_do_copy_back: add x0, x0, :lo12:.LANCHOR3 add x0, x0, 776 str x0, [x29,104] -.L3145: +.L3154: ldrb w0, [x22,9] ldr w1, [x29,136] mul w0, w1, w0 cmp w27, w0 - bge .L3225 + bge .L3234 add w26, w21, w27 sxtw x0, w26 str x0, [x29,128] @@ -20524,11 +20581,11 @@ gc_do_copy_back: ldr x0, [x0,3232] ldrb w0, [x0,x1] cmp w0, 255 - bne .L3146 + bne .L3155 mov w0, 0 bl buf_alloc mov x24, x0 - cbnz x0, .L3147 + cbnz x0, .L3156 bl sblk_wait_write_queue_completed bl ftl_write_completed bl gc_write_completed @@ -20536,8 +20593,8 @@ gc_do_copy_back: mov w0, w24 bl buf_alloc mov x24, x0 - cbz x0, .L3120 -.L3147: + cbz x0, .L3129 +.L3156: add x28, x19, :lo12:.LANCHOR0 ldr x2, [x29,128] ldrb w1, [x24,1] @@ -20554,7 +20611,7 @@ gc_do_copy_back: sub w0, w0, #1 cmp w26, w0 adrp x26, .LANCHOR4 - bne .L3148 + bne .L3157 add x26, x26, :lo12:.LANCHOR4 mov w1, -1 ldr x0, [x26,1104] @@ -20594,8 +20651,8 @@ gc_do_copy_back: ldr x1, [x28,80] ldr x0, [x24,24] ldr w1, [x1,132] - b .L3222 -.L3148: + b .L3231 +.L3157: ldr x0, [x29,128] mov w1, 1 lsl x28, x0, 2 @@ -20607,10 +20664,10 @@ gc_do_copy_back: bl sblk_read_page ldr w0, [x24,52] cmp w0, 512 - beq .L3149 + beq .L3158 cmn w0, #1 - bne .L3150 -.L3149: + bne .L3159 +.L3158: add x4, x19, :lo12:.LANCHOR0 mov w2, 21 mov w1, 1 @@ -20627,34 +20684,34 @@ gc_do_copy_back: bl ftl_sblk_dump ldr w0, [x24,52] cmp w0, 512 - beq .L3178 + beq .L3187 cmn w0, #1 - bne .L3150 -.L3178: + bne .L3159 +.L3187: ldr x0, [x24,24] mov w1, -1 str w1, [x0,4] -.L3150: +.L3159: ldr w0, [x24,52] cmp w0, 512 - beq .L3179 + beq .L3188 cmn w0, #1 - bne .L3153 -.L3179: + bne .L3162 +.L3188: ldr x0, [x29,112] mov w2, 688 ldr x1, [x29,104] bl printk -.L3153: +.L3162: ldr x1, [x24,24] add x0, x19, :lo12:.LANCHOR0 ldr w2, [x1,4] ldr w0, [x0,2824] cmp w2, w0 - bcc .L3155 + bcc .L3164 mov w0, -1 str w0, [x1,4] -.L3155: +.L3164: ldr x0, [x24,24] add x26, x26, :lo12:.LANCHOR4 ldr w1, [x0,4] @@ -20662,9 +20719,9 @@ gc_do_copy_back: str w1, [x0,x28] ldr x0, [x24,24] ldr w1, [x24,40] -.L3222: +.L3231: str w1, [x0,8] -.L3146: +.L3155: add x3, x19, :lo12:.LANCHOR0 ldr x2, [x29,128] add x1, x3, 768 @@ -20680,9 +20737,9 @@ gc_do_copy_back: cmp w0, 3 strb w25, [x1,61] adrp x2, .LANCHOR4 - bne .L3156 + bne .L3165 udiv w0, w27, w0 - ldrh w3, [x3,3318] + ldrh w3, [x3,3324] add x2, x2, :lo12:.LANCHOR4 add w4, w0, w20 add x4, x22, x4, sxtw 1 @@ -20698,30 +20755,30 @@ gc_do_copy_back: add w0, w0, 1 orr w0, w3, w0, lsl 24 str w0, [x1,x4,lsl 2] - b .L3157 -.L3156: + b .L3166 +.L3165: cmp w0, 2 - bne .L3158 - ldrb w6, [x3,3316] + bne .L3167 + ldrb w6, [x3,3322] add x1, x1, 32 - ldrh w0, [x3,3318] - cbnz w6, .L3159 + ldrh w0, [x3,3324] + cbnz w6, .L3168 add w3, w27, w20 add x3, x22, x3, sxtw 1 ldrh w3, [x3,16] madd w0, w3, w0, w23 - b .L3224 -.L3159: + b .L3233 +.L3168: add w3, w20, w27, lsr 1 add x3, x22, x3, sxtw 1 ldrh w3, [x3,16] madd w0, w3, w0, w23 and w3, w27, 1 add w0, w0, w3 -.L3224: +.L3233: orr w0, w0, 33554432 str w0, [x1,8] -.L3158: +.L3167: add x0, x19, :lo12:.LANCHOR0 add x2, x2, :lo12:.LANCHOR4 add x0, x0, 768 @@ -20730,10 +20787,10 @@ gc_do_copy_back: ldrh w1, [x0,48] ldr x0, [x2,1120] str w3, [x0,x1,lsl 2] -.L3157: +.L3166: ldr x0, [x29,120] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3160 + tbz x0, 8, .L3169 add x0, x29, 144 ldr x1, [x29,128] mov w2, w25 @@ -20756,53 +20813,53 @@ gc_do_copy_back: add x0, x0, :lo12:.LC276 ldr w5, [x5,40] bl printk -.L3160: +.L3169: add w8, w27, 1 uxth w27, w8 - b .L3145 -.L3225: + b .L3154 +.L3234: add x2, x19, :lo12:.LANCHOR0 mov w1, 0 ldrb w0, [x2,3225] cmp w0, 3 add x0, x29, 144 - bne .L3207 + bne .L3216 ldrb w1, [x2,3240] - cbz w1, .L3163 -.L3166: + cbz w1, .L3172 +.L3175: ldr x1, [x29,144] strb wzr, [x1,60] - b .L3164 -.L3163: + b .L3173 +.L3172: cmp w25, 1 mov w2, 9 - beq .L3223 + beq .L3232 cmp w25, 2 - bne .L3166 + bne .L3175 mov w2, 13 -.L3223: +.L3232: ldr x1, [x29,144] strb w2, [x1,60] -.L3164: +.L3173: ldrb w2, [x22,9] add x1, x0, 24 bl sblk_xlc_prog_pages - b .L3167 -.L3207: + b .L3176 +.L3216: ldrb w2, [x22,9] ldr w3, [x29,136] mul w2, w2, w3 sub w2, w2, #1 cmp w1, w2 - bge .L3226 + bge .L3235 ldr x2, [x0,w1,sxtw 3] add w1, w1, 1 ldr x3, [x0,w1,sxtw 3] uxth w1, w1 ldrb w3, [x3,1] strb w3, [x2] - b .L3207 -.L3226: + b .L3216 +.L3235: ldr x0, [x0,w2,sxtw 3] mov w1, -1 strb w1, [x0] @@ -20810,20 +20867,20 @@ gc_do_copy_back: ldr x0, [x29,144] mul w1, w3, w1 bl sblk_prog_page -.L3167: +.L3176: add x1, x19, :lo12:.LANCHOR0 ldrb w2, [x22,9] ldrb w3, [x1,3240] - cbz w3, .L3169 + cbz w3, .L3178 add w0, w2, w2, lsl 1 and w2, w0, 1023 - b .L3170 -.L3169: - ldrb w1, [x1,3316] + b .L3179 +.L3178: + ldrb w1, [x1,3322] ubfiz w0, w2, 1, 8 cmp w1, wzr csel w2, w0, w2, ne -.L3170: +.L3179: add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,2848] ldr w0, [x1,52] @@ -20837,12 +20894,12 @@ gc_do_copy_back: ldrb w2, [x22,9] mul w1, w1, w2 cmp w0, w1 - blt .L3171 + blt .L3180 ldr x0, [x19,80] strh wzr, [x0,86] -.L3171: +.L3180: bl gc_write_completed -.L3120: +.L3129: sub sp, x29, #16 ldp x19, x20, [sp,32] ldp x21, x22, [sp,48] @@ -20871,23 +20928,23 @@ zftl_discard: stp x27, x28, [sp,80] ldr w1, [x1,4] cmp w2, w1 - bhi .L3228 + bhi .L3237 adrp x23, .LANCHOR8 add w24, w0, 24576 add x0, x23, :lo12:.LANCHOR8 adrp x25, .LANCHOR2 - ldr w1, [x0,3584] + ldr w1, [x0,3576] add w1, w19, w1 - str w1, [x0,3584] + str w1, [x0,3576] ldr w0, [x25,#:lo12:.LANCHOR2] - tbz x0, 12, .L3229 + tbz x0, 12, .L3238 adrp x0, .LC277 mov w2, w24 add x0, x0, :lo12:.LC277 mov w3, w19 mov w4, 0 bl printk -.L3229: +.L3238: add x20, x21, :lo12:.LANCHOR0 ldr x0, [x20,2848] ldr w26, [x0,8] @@ -20898,7 +20955,7 @@ zftl_discard: ldrb w22, [x20,2816] udiv w20, w24, w22 msub w27, w20, w22, w24 - cbz w27, .L3230 + cbz w27, .L3239 sub w22, w22, w27 mov w0, w20 cmp w22, w19 @@ -20906,20 +20963,20 @@ zftl_discard: bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - bne .L3231 + bne .L3240 mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys -.L3231: +.L3240: ldr w0, [x29,120] and w28, w22, 65535 cmn w0, #1 - beq .L3233 + beq .L3242 mov w0, 0 bl buf_alloc mov x3, x0 - cbz x0, .L3233 + cbz x0, .L3242 strb w27, [x0,57] ubfiz x27, x27, 9, 25 str w20, [x0,36] @@ -20940,31 +20997,31 @@ zftl_discard: ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L3233: +.L3242: add w20, w20, 1 sub w19, w19, w28 -.L3230: - cbz w19, .L3235 +.L3239: + cbz w19, .L3244 bl ftl_flush -.L3235: +.L3244: mov w0, -1 mov w27, 1 str w0, [x29,124] mov w28, 21 -.L3236: +.L3245: add x22, x21, :lo12:.LANCHOR0 ldrb w0, [x22,2816] cmp w19, w0 - bcc .L3275 + bcc .L3284 mov w0, w20 bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - beq .L3237 + beq .L3246 mov w0, 0 bl buf_alloc mov x3, x0 - cbz x0, .L3239 + cbz x0, .L3248 ldrb w2, [x22,2816] mov w1, 0 str w20, [x0,36] @@ -20979,15 +21036,15 @@ zftl_discard: mov x0, x3 bl ftl_write_buf bl ftl_write_commit - b .L3274 -.L3237: + b .L3283 +.L3246: mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys ldr w0, [x29,120] cmn w0, #1 - beq .L3239 + beq .L3248 add x1, x29, 124 mov w2, 1 mov w0, w20 @@ -21002,36 +21059,36 @@ zftl_discard: and w0, w2, w0 udiv w0, w0, w1 bl ftl_vpn_decrement -.L3274: +.L3283: ldr x1, [x22,2848] ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L3239: +.L3248: add x0, x21, :lo12:.LANCHOR0 add w20, w20, 1 ldrb w0, [x0,2816] sub w19, w19, w0 - b .L3236 -.L3275: - cbz w19, .L3243 + b .L3245 +.L3284: + cbz w19, .L3252 mov w0, w20 bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - bne .L3244 + bne .L3253 mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys -.L3244: +.L3253: ldr w0, [x29,120] cmn w0, #1 - beq .L3243 + beq .L3252 mov w0, 0 bl buf_alloc mov x22, x0 - cbz x0, .L3243 + cbz x0, .L3252 str w20, [x0,36] strb wzr, [x0,57] strb w19, [x0,56] @@ -21039,7 +21096,7 @@ zftl_discard: add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,2816] cmp w19, w0 - bcc .L3246 + bcc .L3255 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -21047,7 +21104,7 @@ zftl_discard: add x1, x1, 792 mov w2, 1177 bl printk -.L3246: +.L3255: ldr x0, [x22,8] mov w1, 0 lsl w2, w19, 9 @@ -21060,27 +21117,27 @@ zftl_discard: ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L3243: +.L3252: add x0, x23, :lo12:.LANCHOR8 mov w4, 0 - ldr w1, [x0,3584] + ldr w1, [x0,3576] cmp w1, 8192 - bls .L3228 + bls .L3237 ldr w0, [x25,#:lo12:.LANCHOR2] - tbz x0, 12, .L3247 + tbz x0, 12, .L3256 adrp x0, .LC277 mov w2, w24 add x0, x0, :lo12:.LC277 mov w3, w19 bl printk -.L3247: +.L3256: add x23, x23, :lo12:.LANCHOR8 - str wzr, [x23,3584] + str wzr, [x23,3576] bl flt_sys_flush mov w0, 1 mov w4, 0 - str w0, [x23,3588] -.L3228: + str w0, [x23,3580] +.L3237: mov w0, w4 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -21112,58 +21169,58 @@ zftl_do_gc: add w21, w1, w21 ldrh w22, [x0,2830] uxth w21, w21 - bne .L3277 + bne .L3286 adrp x0, .LANCHOR7 adrp x25, .LANCHOR8 add x2, x0, :lo12:.LANCHOR7 mov x20, x0 - ldr w26, [x2,3320] - cbnz w26, .L3278 + ldr w26, [x2,3312] + cbnz w26, .L3287 add x0, x25, :lo12:.LANCHOR8 - ldr w0, [x0,3592] - cbz w0, .L3277 -.L3278: + ldr w0, [x0,3584] + cbz w0, .L3286 +.L3287: add w26, w26, 50 bl timer_get_time cmp w26, w0 - bcs .L3279 + bcs .L3288 add x0, x20, :lo12:.LANCHOR7 - str wzr, [x0,3320] -.L3279: + str wzr, [x0,3312] +.L3288: add x19, x25, :lo12:.LANCHOR8 - ldr w20, [x19,3592] + ldr w20, [x19,3584] bl timer_get_time add w20, w20, 50 cmp w20, w0 - bcs .L3395 - str wzr, [x19,3592] - b .L3395 -.L3277: + bcs .L3404 + str wzr, [x19,3584] + b .L3404 +.L3286: adrp x20, .LANCHOR4 add x0, x20, :lo12:.LANCHOR4 ldrb w2, [x0,1098] cmp w2, 6 - bhi .L3395 - adrp x0, .L3283 - add x0, x0, :lo12:.L3283 + bhi .L3404 + adrp x0, .L3292 + add x0, x0, :lo12:.L3292 ldrh w0, [x0,w2,uxtw #1] - adr x2, .Lrtx3283 + adr x2, .Lrtx3292 add x0, x2, w0, sxth #2 br x0 -.Lrtx3283: +.Lrtx3292: .section .rodata .align 0 .align 2 -.L3283: - .2byte (.L3282 - .Lrtx3283) / 4 - .2byte (.L3284 - .Lrtx3283) / 4 - .2byte (.L3285 - .Lrtx3283) / 4 - .2byte (.L3286 - .Lrtx3283) / 4 - .2byte (.L3287 - .Lrtx3283) / 4 - .2byte (.L3365 - .Lrtx3283) / 4 - .2byte (.L3289 - .Lrtx3283) / 4 +.L3292: + .2byte (.L3291 - .Lrtx3292) / 4 + .2byte (.L3293 - .Lrtx3292) / 4 + .2byte (.L3294 - .Lrtx3292) / 4 + .2byte (.L3295 - .Lrtx3292) / 4 + .2byte (.L3296 - .Lrtx3292) / 4 + .2byte (.L3374 - .Lrtx3292) / 4 + .2byte (.L3298 - .Lrtx3292) / 4 .text -.L3282: +.L3291: ldrh w28, [x23,80] add x27, x19, :lo12:.LANCHOR0 mov w0, 65535 @@ -21172,13 +21229,13 @@ zftl_do_gc: uxth w22, w22 ldrh w25, [x27,2834] ldrh w26, [x27,2836] - beq .L3290 + beq .L3299 adrp x0, .LANCHOR2 cmp w22, 7 mov w24, 3 csinc w24, w24, wzr, hi ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3292 + tbz x0, 8, .L3301 ldrh w5, [x23,124] adrp x0, .LC278 ldrh w6, [x23,120] @@ -21190,62 +21247,62 @@ zftl_do_gc: str w28, [sp] mov w4, w22 bl printk -.L3292: +.L3301: add x19, x19, :lo12:.LANCHOR0 mov w1, w24 mov w2, 1 ldrb w0, [x19,3241] bl gc_search_src_blk cmp w0, wzr - ble .L3395 -.L3298: + ble .L3404 +.L3307: add x20, x20, :lo12:.LANCHOR4 mov w0, 1 - b .L3416 -.L3290: + b .L3425 +.L3299: cmp w24, 1 - bne .L3294 + bne .L3303 bl gc_scan_static_data adrp x23, .LANCHOR8 bl gc_static_wearleveling bl gc_block_vpn_scan add x0, x23, :lo12:.LANCHOR8 - ldr w0, [x0,3588] - cbz w0, .L3296 + ldr w0, [x0,3580] + cbz w0, .L3305 mov w1, 5 mov w0, 0 bl zftl_get_gc_node uxth w1, w0 cmp w1, w28 - beq .L3297 + beq .L3306 ubfiz x1, x1, 1, 16 ldr x2, [x27,72] ldrh w1, [x2,x1] cmp w1, 4 - bhi .L3297 + bhi .L3306 mov w1, w24 mov w2, 0 bl gc_add_sblk - cbnz w0, .L3298 -.L3297: + cbnz w0, .L3307 +.L3306: mov w1, 4 mov w0, 0 bl zftl_get_gc_node uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3299 + beq .L3308 add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 ldr x2, [x2,72] ldrh w1, [x2,x1] cmp w1, 4 - bhi .L3299 + bhi .L3308 mov w1, 1 mov w2, 0 bl gc_add_sblk - cbnz w0, .L3298 -.L3299: + cbnz w0, .L3307 +.L3308: add x27, x19, :lo12:.LANCHOR0 mov w1, 0 ldr x0, [x27,3256] @@ -21253,37 +21310,37 @@ zftl_do_gc: uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3300 + beq .L3309 ubfiz x1, x1, 1, 16 ldr x2, [x27,72] ldrh w1, [x2,x1] cmp w1, 4 - bhi .L3300 + bhi .L3309 mov w1, 1 mov w2, 0 bl gc_add_sblk - cbnz w0, .L3298 -.L3300: + cbnz w0, .L3307 +.L3309: add x23, x23, :lo12:.LANCHOR8 - str wzr, [x23,3588] - b .L3296 -.L3294: + str wzr, [x23,3580] + b .L3305 +.L3303: ldrh w0, [x27,2856] cmp w0, w21 - bcc .L3395 -.L3296: + bcc .L3404 +.L3305: add x1, x19, :lo12:.LANCHOR0 mov w0, 1 ldr x7, [x1,80] strb w0, [x1,3241] ldrh w5, [x7,124] - cbz w5, .L3302 + cbz w5, .L3311 add x20, x20, :lo12:.LANCHOR4 strb wzr, [x1,3241] strb w0, [x20,1098] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3395 + tbz x0, 8, .L3404 ldrh w6, [x7,120] adrp x0, .LC279 ldrh w7, [x7,122] @@ -21293,36 +21350,36 @@ zftl_do_gc: mov w4, w22 add x0, x0, :lo12:.LC279 bl printk - b .L3395 -.L3302: + b .L3404 +.L3311: ldrh w3, [x1,2856] cmp w21, w3 - bcs .L3305 + bcs .L3314 cmp w22, 1 - bls .L3306 + bls .L3315 cmp w22, 16 - bls .L3307 + bls .L3316 ldrh w2, [x1,2838] ldrh w1, [x1,3282] cmp w2, w1 - bcs .L3307 + bcs .L3316 mov w1, 3 mov w2, 16 - b .L3414 -.L3307: + b .L3423 +.L3316: mov w1, 2 mov w0, 1 mov w2, w1 add x19, x19, :lo12:.LANCHOR0 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3298 - b .L3412 -.L3306: + cbnz w0, .L3307 + b .L3421 +.L3315: adrp x0, .LANCHOR2 strb w5, [x1,3241] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3310 + tbz x0, 8, .L3319 adrp x0, .LC279 ldrh w6, [x7,120] ldrh w7, [x7,122] @@ -21332,74 +21389,74 @@ zftl_do_gc: mov w3, w21 mov w4, w22 bl printk -.L3310: +.L3319: add x19, x19, :lo12:.LANCHOR0 cmp w21, 16 ldrb w0, [x19,3241] - bls .L3311 + bls .L3320 mov w1, 3 mov w2, 4 - b .L3414 -.L3311: + b .L3423 +.L3320: mov w1, 1 mov w2, w1 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3298 -.L3412: + cbnz w0, .L3307 +.L3421: ldrb w0, [x19,3241] mov w1, 3 mov w2, 2 -.L3414: +.L3423: bl gc_search_src_blk uxth w0, w0 - b .L3308 -.L3305: + b .L3317 +.L3314: cmp w24, 1 lsl w0, w3, 1 - bne .L3312 + bne .L3321 cmp w21, w0 - bge .L3312 + bge .L3321 add w0, w26, w25 uxth w0, w0 cmp w0, w22, lsr 1 - bcs .L3313 + bcs .L3322 ldrh w3, [x1,2838] ldrh w2, [x1,3282] cmp w3, w2 - bcs .L3313 + bcs .L3322 ldrh w0, [x1,3280] lsr w0, w0, 1 strh w0, [x1,2856] - b .L3395 -.L3313: + b .L3404 +.L3322: cmp w22, 1 - bls .L3314 + bls .L3323 cmp w22, 16 mov w0, 1 - bls .L3315 + bls .L3324 mov w1, 3 mov w2, 8 - b .L3411 -.L3315: + b .L3420 +.L3324: mov w1, 2 mov w2, w1 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3316 + cbnz w0, .L3325 add x0, x19, :lo12:.LANCHOR0 mov w1, 3 mov w2, 2 ldrb w0, [x0,3241] -.L3411: +.L3420: bl gc_search_src_blk uxth w0, w0 -.L3316: +.L3325: add x19, x19, :lo12:.LANCHOR0 - b .L3413 -.L3314: + b .L3422 +.L3323: cmp w21, w0 - bcs .L3317 + bcs .L3326 add x19, x19, :lo12:.LANCHOR0 mov w0, 0 mov w1, 3 @@ -21407,68 +21464,68 @@ zftl_do_gc: strb wzr, [x19,3241] bl gc_search_src_blk uxth w0, w0 -.L3413: +.L3422: ldrh w1, [x19,3280] strh w1, [x19,2856] - b .L3308 -.L3312: + b .L3317 +.L3321: cmp w21, w0 - blt .L3395 -.L3317: + blt .L3404 +.L3326: add x19, x19, :lo12:.LANCHOR0 ldrh w0, [x19,3280] lsr w0, w0, 1 strh w0, [x19,2856] - b .L3395 -.L3308: - cbnz w0, .L3298 - b .L3395 -.L3284: + b .L3404 +.L3317: + cbnz w0, .L3307 + b .L3404 +.L3293: add x21, x19, :lo12:.LANCHOR0 mov w0, 65535 ldrh w1, [x21,2888] cmp w1, w0 - bne .L3318 + bne .L3327 bl gc_get_src_blk strh w0, [x21,2888] -.L3318: +.L3327: add x0, x19, :lo12:.LANCHOR0 mov w2, 65535 add x1, x0, 2888 ldrh w3, [x0,2888] cmp w3, w2 - beq .L3319 + beq .L3328 ldrh w5, [x1,56] uxtw x4, w3 ldr x2, [x0,64] add x2, x2, x4, lsl 2 - cbz w5, .L3321 + cbz w5, .L3330 mov x0, 0 -.L3320: +.L3329: cmp w5, w0, uxth - bls .L3321 + bls .L3330 add x0, x0, 1 add x6, x1, x0, lsl 1 ldrh w6, [x6,56] cmp w6, w3 - bne .L3320 -.L3326: + bne .L3329 +.L3335: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 strh w0, [x19,2888] - b .L3395 -.L3321: + b .L3404 +.L3330: ldrb w0, [x2,2] tst w0, 192 - beq .L3369 + beq .L3378 and w0, w0, 224 cmp w0, 224 - bne .L3323 -.L3369: + bne .L3332 +.L3378: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,72] ldrh w0, [x0,x4,lsl 1] - cbz w0, .L3326 + cbz w0, .L3335 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -21476,44 +21533,44 @@ zftl_do_gc: add x1, x1, 808 add x0, x0, :lo12:.LC0 bl printk - b .L3326 -.L3323: + b .L3335 +.L3332: add x20, x20, :lo12:.LANCHOR4 mov w0, 2 -.L3416: +.L3425: strb w0, [x20,1098] - b .L3395 -.L3319: + b .L3404 +.L3328: add x20, x20, :lo12:.LANCHOR4 strb wzr, [x20,1098] - b .L3395 -.L3285: + b .L3404 +.L3294: bl gc_scan_src_blk cmn w0, #1 - bne .L3327 + bne .L3336 add x20, x20, :lo12:.LANCHOR4 mov w0, 3 - b .L3416 -.L3327: + b .L3425 +.L3336: add x1, x19, :lo12:.LANCHOR0 mov w3, 65535 ldrh w0, [x1,2888] cmp w0, w3 - beq .L3298 + beq .L3307 ldrh w3, [x1,2912] add x20, x20, :lo12:.LANCHOR4 - cbz w3, .L3328 + cbz w3, .L3337 mov w0, 4 strh wzr, [x1,2914] strb w0, [x20,1098] - b .L3395 -.L3328: + b .L3404 +.L3337: ubfiz x0, x0, 1, 16 ldr x1, [x1,72] mov w2, 1 strb w2, [x20,1098] ldrh w0, [x1,x0] - cbz w0, .L3329 + cbz w0, .L3338 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -21521,14 +21578,14 @@ zftl_do_gc: add x1, x1, 808 mov w2, 2000 bl printk -.L3329: +.L3338: add x20, x19, :lo12:.LANCHOR0 add x22, x20, 2888 ldrh w0, [x20,2888] ldr x2, [x20,72] ubfiz x1, x0, 1, 16 ldrh w21, [x2,x1] - cbnz w21, .L3326 + cbnz w21, .L3335 bl ftl_free_sblk ldrh w1, [x20,2888] ldr x0, [x20,72] @@ -21537,39 +21594,39 @@ zftl_do_gc: add w1, w1, 1 uxth w1, w1 cmp w1, 8 - bhi .L3331 + bhi .L3340 strh w1, [x22,30] - b .L3326 -.L3331: + b .L3335 +.L3340: strh w21, [x22,30] bl ftl_flush bl pm_flush bl ftl_ext_info_flush mov w0, w21 bl ftl_info_flush - b .L3326 -.L3286: + b .L3335 +.L3295: add x22, x19, :lo12:.LANCHOR0 -.L3396: +.L3405: bl gc_scan_src_blk_one_page ldrh w2, [x22,2890] add x0, x22, 2888 ldrh w1, [x22,3276] cmp w2, w1 - bcs .L3332 + bcs .L3341 cmp w21, 7 - bls .L3396 - b .L3395 -.L3332: + bls .L3405 + b .L3404 +.L3341: ldrh w3, [x0,24] adrp x2, .LANCHOR2 - cbz w3, .L3333 + cbz w3, .L3342 add x20, x20, :lo12:.LANCHOR4 mov w1, 4 strh wzr, [x0,26] strb w1, [x20,1098] ldr w1, [x2,#:lo12:.LANCHOR2] - tbz x1, 8, .L3334 + tbz x1, 8, .L3343 ldrh w1, [x0] adrp x0, .LC280 ldr x4, [x22,72] @@ -21577,14 +21634,14 @@ zftl_do_gc: ubfiz x2, x1, 1, 16 ldrh w2, [x4,x2] bl printk -.L3334: +.L3343: add x0, x19, :lo12:.LANCHOR0 ldrh w2, [x0,2888] ldr x1, [x0,72] ldrh w0, [x0,2912] ldrh w1, [x1,x2,lsl 1] cmp w1, w0 - beq .L3335 + beq .L3344 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -21592,14 +21649,14 @@ zftl_do_gc: add x1, x1, 808 mov w2, 2034 bl printk -.L3335: +.L3344: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x19,2888] ldr x0, [x19,72] ldrh w2, [x19,2912] strh w2, [x0,x1,lsl 1] - b .L3395 -.L3333: + b .L3404 +.L3342: add x20, x20, :lo12:.LANCHOR4 ldrh w1, [x0] mov w0, 1 @@ -21607,20 +21664,20 @@ zftl_do_gc: add x21, x21, x1, uxth 2 strb w0, [x20,1098] ldr w0, [x2,#:lo12:.LANCHOR2] - tbz x0, 8, .L3336 + tbz x0, 8, .L3345 ldrb w2, [x21,2] adrp x0, .LC281 add x0, x0, :lo12:.LC281 ubfx x2, x2, 5, 3 bl printk -.L3336: +.L3345: ldrb w0, [x21,2] tst w0, 192 - beq .L3370 + beq .L3379 and w0, w0, 224 cmp w0, 224 - bne .L3337 -.L3370: + bne .L3346 +.L3379: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -21628,7 +21685,7 @@ zftl_do_gc: add x1, x1, 808 mov w2, 2044 bl printk -.L3337: +.L3346: add x19, x19, :lo12:.LANCHOR0 add x20, x19, 2888 ldrh w0, [x19,2888] @@ -21639,32 +21696,32 @@ zftl_do_gc: add w0, w0, 1 uxth w0, w0 cmp w0, 8 - bhi .L3339 + bhi .L3348 strh w0, [x20,30] - b .L3395 -.L3339: + b .L3404 +.L3348: strh wzr, [x20,30] - b .L3417 -.L3287: - cbnz w24, .L3340 + b .L3426 +.L3296: + cbnz w24, .L3349 add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0,2856] cmp w0, w21 - bcc .L3395 -.L3340: + bcc .L3404 +.L3349: ldrh w1, [x23,80] mov w0, 65535 cmp w1, w0 - bne .L3341 + bne .L3350 add x22, x19, :lo12:.LANCHOR0 ldrb w0, [x22,3241] cmp w0, 1 - bne .L3341 + bne .L3350 bl ftl_flush ldrh w0, [x22,2832] - cbnz w0, .L3415 + cbnz w0, .L3424 ldrh w0, [x22,2830] -.L3415: +.L3424: lsr w0, w0, 1 mov w1, 5 bl zftl_get_free_sblk @@ -21672,13 +21729,13 @@ zftl_do_gc: mov w0, 65535 mov w22, w24 cmp w24, w0 - beq .L3344 + beq .L3353 add x0, x19, :lo12:.LANCHOR0 ldr x21, [x0,64] add x21, x21, x24, uxth 2 ldrb w0, [x21,2] tst w0, 224 - beq .L3345 + beq .L3354 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -21686,13 +21743,13 @@ zftl_do_gc: add x1, x1, 808 mov w2, 2069 bl printk -.L3345: +.L3354: ldrb w0, [x21,2] mov w1, 5 bfi w0, w1, 5, 3 orr w0, w0, 16 strb w0, [x21,2] -.L3364: +.L3373: mov w0, w22 mov w1, 1 add x19, x19, :lo12:.LANCHOR0 @@ -21749,8 +21806,8 @@ zftl_do_gc: strh wzr, [x19,3204] strh wzr, [x19,3206] bl ftl_info_flush - b .L3395 -.L3341: + b .L3404 +.L3350: cmp w24, 1 mov w22, 4 csinc w22, w22, wzr, eq @@ -21758,23 +21815,23 @@ zftl_do_gc: add w0, w22, 4 add x21, x19, :lo12:.LANCHOR0 csel w22, w0, w22, ls -.L3348: +.L3357: sub w22, w22, #1 uxtb w22, w22 cmp w22, 255 - beq .L3395 + beq .L3404 bl gc_do_copy_back ldrb w0, [x21,3241] - cbnz w0, .L3349 + cbnz w0, .L3358 ldrb w0, [x21,2818] cmp w0, 3 - bhi .L3350 + bhi .L3359 bl ftl_write_commit -.L3350: +.L3359: ldrh w1, [x21,2914] ldrh w0, [x21,2912] cmp w1, w0 - bcc .L3348 + bcc .L3357 add x20, x20, :lo12:.LANCHOR4 mov w0, 1 strb w0, [x20,1098] @@ -21783,7 +21840,7 @@ zftl_do_gc: ldrh w1, [x21,2888] ldr x0, [x21,72] ldrh w0, [x0,x1,lsl 1] - cbz w0, .L3352 + cbz w0, .L3361 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -21791,19 +21848,19 @@ zftl_do_gc: add x1, x1, 808 mov w2, 2144 bl printk -.L3352: +.L3361: add x20, x19, :lo12:.LANCHOR0 add x21, x20, 2888 ldrh w1, [x20,2888] ldr x3, [x20,72] ubfiz x0, x1, 1, 16 ldrh w2, [x3,x0] - cbnz w2, .L3353 + cbnz w2, .L3362 strh w2, [x3,x0] ldrh w0, [x20,2888] bl ftl_free_sblk - b .L3326 -.L3353: + b .L3335 +.L3362: ldrh w3, [x21,24] adrp x0, .LC282 add x0, x0, :lo12:.LC282 @@ -21843,17 +21900,17 @@ zftl_do_gc: add x0, x0, :lo12:.LC286 mov w2, 4 bl rknand_print_hex - b .L3326 -.L3349: + b .L3335 +.L3358: add x0, x21, 2888 ldrh w1, [x0,318] - cbz w1, .L3354 + cbz w1, .L3363 strh wzr, [x0,318] ldr w0, [x0,320] cmn w0, #1 - beq .L3355 + beq .L3364 bl ftl_mask_bad_block -.L3355: +.L3364: add x21, x19, :lo12:.LANCHOR0 ldr x0, [x21,80] str wzr, [x21,3208] @@ -21867,9 +21924,9 @@ zftl_do_gc: strh w0, [x2,126] strh w0, [x1,130] ldr x0, [x21,2896] - cbz x0, .L3356 + cbz x0, .L3365 bl buf_free -.L3356: +.L3365: add x19, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR4 str xzr, [x19,2896] @@ -21882,15 +21939,15 @@ zftl_do_gc: add x0, x0, :lo12:.LC0 strb wzr, [x20,1098] bl printk - b .L3395 -.L3354: + b .L3404 +.L3363: ldrh w1, [x23,86] cmp w1, 1 - bls .L3357 + bls .L3366 ldrh w2, [x0,26] ldrh w1, [x0,24] cmp w2, w1 - bcc .L3348 + bcc .L3357 add x20, x20, :lo12:.LANCHOR4 mov w1, 1 strb w1, [x20,1098] @@ -21902,15 +21959,15 @@ zftl_do_gc: strh w2, [x1,58] mov w1, -1 strh w1, [x0] - b .L3395 -.L3357: + b .L3404 +.L3366: add x20, x20, :lo12:.LANCHOR4 mov w1, 5 ldrh w2, [x0,26] strb w1, [x20,1098] ldrh w1, [x0,24] cmp w2, w1 - bcc .L3358 + bcc .L3367 ldrh w1, [x0,56] add w2, w1, 1 add x1, x0, x1, sxtw 1 @@ -21919,7 +21976,7 @@ zftl_do_gc: strh w2, [x1,58] mov w1, -1 strh w1, [x0] -.L3358: +.L3367: add x20, x19, :lo12:.LANCHOR0 bl ftl_flush bl sblk_wait_write_queue_completed @@ -21935,21 +21992,21 @@ zftl_do_gc: strh w1, [x20,2906] cmp w2, 2 strh w2, [x20,2908] - bne .L3359 + bne .L3368 lsl w1, w1, 1 strh w1, [x20,2906] mov w1, 1 strh w1, [x20,2908] -.L3359: +.L3368: add x19, x19, :lo12:.LANCHOR0 strh wzr, [x19,2910] - b .L3395 -.L3365: + b .L3404 +.L3374: mov w22, 0 add x25, x19, :lo12:.LANCHOR0 -.L3288: +.L3297: bl gc_check_data_one_wl - cbz w0, .L3361 + cbz w0, .L3370 add x19, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR4 ldr x0, [x19,80] @@ -21966,32 +22023,32 @@ zftl_do_gc: bl buf_free str xzr, [x19,2896] strb wzr, [x20,1098] -.L3417: +.L3426: bl flt_sys_flush - b .L3395 -.L3361: + b .L3404 +.L3370: ldrh w1, [x25,2904] ldrh w0, [x25,2906] cmp w1, w0 - bcc .L3362 + bcc .L3371 add x20, x20, :lo12:.LANCHOR4 mov w0, 6 strb w0, [x20,1098] ldr x0, [x25,2896] bl buf_free str xzr, [x25,2896] - b .L3395 -.L3362: + b .L3404 +.L3371: cmp w21, 7 - bls .L3288 + bls .L3297 cmp w24, 1 - bne .L3395 + bne .L3404 add w22, w22, 1 uxtb w22, w22 cmp w22, 4 - bls .L3288 - b .L3395 -.L3289: + bls .L3297 + b .L3404 +.L3298: bl gc_update_l2p_map_new mov w21, -1 bl gc_free_src_blk @@ -22007,8 +22064,8 @@ zftl_do_gc: bl ftl_info_flush strb wzr, [x20,1098] bl print_ftl_debug_info - b .L3395 -.L3344: + b .L3404 +.L3353: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 @@ -22016,8 +22073,8 @@ zftl_do_gc: add x1, x1, 808 add x0, x0, :lo12:.LC0 bl printk - b .L3364 -.L3395: + b .L3373 +.L3404: sub sp, x29, #16 mov w0, 16 ldp x19, x20, [sp,32] @@ -22046,30 +22103,30 @@ zftl_write: stp x21, x22, [sp,32] mov w28, w1 mov x25, x3 - tbz x0, 12, .L3419 + tbz x0, 12, .L3428 adrp x0, .LC287 mov w1, w19 add x0, x0, :lo12:.LC287 mov w2, w28 mov w3, w23 bl printk -.L3419: - cbnz w19, .L3420 +.L3428: + cbnz w19, .L3429 adrp x0, .LANCHOR0+4 mov w19, 24576 ldr w2, [x0,#:lo12:.LANCHOR0+4] - b .L3421 -.L3420: + b .L3430 +.L3429: cmp w19, 3 mov w0, -1 - bhi .L3422 + bhi .L3431 lsl w19, w19, 13 mov w2, 8192 -.L3421: +.L3430: add w1, w28, w23 mov w0, -1 cmp w1, w2 - bhi .L3422 + bhi .L3431 add w28, w19, w28 adrp x19, .LANCHOR0 add x0, x19, :lo12:.LANCHOR0 @@ -22082,15 +22139,15 @@ zftl_write: udiv w22, w22, w0 sub w20, w22, w24 add w20, w20, 1 -.L3423: - cbz w20, .L3442 +.L3432: + cbz w20, .L3451 mov w0, 0 bl buf_alloc mov x27, x0 - cbnz x0, .L3424 + cbnz x0, .L3433 bl ftl_write_commit - b .L3423 -.L3424: + b .L3432 +.L3433: strb wzr, [x0,57] add x0, x19, :lo12:.LANCHOR0 cmp w21, w24 @@ -22098,12 +22155,12 @@ zftl_write: cset w0, eq strb w4, [x27,56] cmp w21, w22 - beq .L3426 - cbz w0, .L3427 - b .L3436 -.L3426: - cbz w0, .L3428 -.L3436: + beq .L3435 + cbz w0, .L3436 + b .L3445 +.L3435: + cbz w0, .L3437 +.L3445: udiv w0, w28, w4 msub w0, w0, w4, w28 uxtb w0, w0 @@ -22112,12 +22169,12 @@ zftl_write: uxtb w4, w4 cmp w4, w23 csel w4, w23, w4, hi - b .L3440 -.L3428: + b .L3449 +.L3437: msub w4, w4, w21, w26 -.L3440: +.L3449: strb w4, [x27,56] -.L3427: +.L3436: ldrb w1, [x27,57] sub w20, w20, #1 ldr x0, [x27,8] @@ -22138,11 +22195,11 @@ zftl_write: bl ftl_write_buf ldrb w0, [x27,56] add x25, x25, x0, lsl 9 - b .L3423 -.L3442: + b .L3432 +.L3451: bl ftl_write_commit mov w0, w20 -.L3441: +.L3450: mov w1, 1 bl zftl_do_gc add x1, x19, :lo12:.LANCHOR0 @@ -22150,15 +22207,15 @@ zftl_write: ldrh w0, [x1,2832] add w0, w2, w0 cmp w0, 7 - bgt .L3443 + bgt .L3452 mov w0, 0 - b .L3441 -.L3443: + b .L3450 +.L3452: bl timer_get_time - adrp x1, .LANCHOR8+3592 - str w0, [x1,#:lo12:.LANCHOR8+3592] + adrp x1, .LANCHOR8+3584 + str w0, [x1,#:lo12:.LANCHOR8+3584] mov w0, 0 -.L3422: +.L3431: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -22218,29 +22275,29 @@ id_block_prog_msb_ff_data: ldrb w2, [x0,19] add x0, x20, :lo12:.LANCHOR4 ldrb w0, [x0,1232] - cbnz w0, .L3446 + cbnz w0, .L3455 sub w0, w2, #5 uxtb w0, w0 cmp w0, 2 - bls .L3448 + bls .L3457 cmp w2, 68 - beq .L3448 + beq .L3457 sub w2, w2, #19 and w2, w2, -17 uxtb w2, w2 - cbnz w2, .L3446 -.L3448: + cbnz w2, .L3455 +.L3457: adrp x24, .LC288 mov w25, w1 add x24, x24, :lo12:.LC288 add x20, x20, :lo12:.LANCHOR4 mov w27, 65535 -.L3450: +.L3459: add x28, x21, :lo12:.LANCHOR0 ldr x0, [x28,88] ldrh w0, [x0,10] cmp w0, w19 - bls .L3446 + bls .L3455 add x22, x20, 36 add w26, w19, w25 mov x0, x24 @@ -22250,7 +22307,7 @@ id_block_prog_msb_ff_data: bl printk ldrh w0, [x22,w19,sxtw 1] cmp w0, w27 - bne .L3446 + bne .L3455 ldr x0, [x20,1160] mov w1, 255 mov w2, 16384 @@ -22264,8 +22321,8 @@ id_block_prog_msb_ff_data: ldrb w4, [x4,9] mov x3, x2 bl flash_prog_page - b .L3450 -.L3446: + b .L3459 +.L3455: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -22297,7 +22354,7 @@ write_idblock: bl ftl_malloc mov x22, x0 mov w0, -1 - cbz x22, .L3486 + cbz x22, .L3495 add w19, w19, 511 add x2, x26, 253952 lsr w19, w19, 9 @@ -22305,9 +22362,9 @@ write_idblock: mov w0, 0 mov w24, 63999 mov w3, 4097 -.L3457: +.L3466: ldr w1, [x2] - cbnz w1, .L3454 + cbnz w1, .L3463 ldr w1, [x26,w0,uxtw 2] add w0, w0, 1 cmp w0, w3 @@ -22315,14 +22372,14 @@ write_idblock: csel w0, w0, wzr, cc str w1, [x2],-4 cmp w24, 4096 - bne .L3457 - b .L3456 -.L3454: + bne .L3466 + b .L3465 +.L3463: adrp x0, .LC289 mov w2, w24 add x0, x0, :lo12:.LC289 bl printk -.L3456: +.L3465: add x0, x21, :lo12:.LANCHOR0 add w1, w19, 128 mul w20, w20, w23 @@ -22346,7 +22403,7 @@ write_idblock: str w25, [x29,140] uxth w0, w20 str w0, [x29,116] -.L3476: +.L3485: mov w1, 0 mov x0, x22 mov w2, 512 @@ -22357,7 +22414,7 @@ write_idblock: add x0, x0, x1, uxtw ldrb w20, [x0,32] cmp w20, 255 - beq .L3458 + beq .L3467 ldr w0, [x29,116] mul w20, w20, w0 ldr x0, [x24,88] @@ -22376,10 +22433,10 @@ write_idblock: str w0, [x29,136] sub w28, w20, w0 cmp w20, w28 - bne .L3480 + bne .L3489 ldrb w0, [x21,#:lo12:.LANCHOR0] cmp w0, 9 - bne .L3480 + bne .L3489 adrp x0, .LANCHOR4 mov w1, 0 add x0, x0, :lo12:.LANCHOR4 @@ -22417,17 +22474,17 @@ write_idblock: str w0, [x3,8] sub w0, w19, #4 str w0, [x29,128] - b .L3459 -.L3480: + b .L3468 +.L3489: str w19, [x29,128] mov x3, 0 -.L3459: +.L3468: str x26, [x29,120] mov w24, 0 add x23, x21, :lo12:.LANCHOR0 -.L3461: +.L3470: cmp w24, w19 - bcs .L3494 + bcs .L3503 ldr w0, [x29,136] adrp x2, .LANCHOR4 add x2, x2, :lo12:.LANCHOR4 @@ -22437,34 +22494,34 @@ write_idblock: add w1, w4, 1 ldrb w2, [x2,1232] ldrh w0, [x0,w1,sxtw 1] - cbz w2, .L3463 + cbz w2, .L3472 ldrb w6, [x23,208] lsl w0, w1, 1 cmp w6, wzr csel w0, w0, w1, ne -.L3463: +.L3472: ldrb w1, [x23] cmp w1, 9 - beq .L3493 + beq .L3502 sub w0, w0, #1 lsl w0, w0, 2 -.L3493: +.L3502: str w0, [x29,144] mov w0, 61424 str w0, [x29,148] add x0, x23, 212 ldrh w0, [x0,w4,sxtw 1] - cbnz w2, .L3467 + cbnz w2, .L3476 mov w4, w0 - b .L3468 -.L3467: + b .L3477 +.L3476: ldrb w1, [x23,208] lsl w0, w4, 1 cmp w1, wzr csel w4, w0, w4, ne -.L3468: +.L3477: mul w0, w4, w27 - cbnz x3, .L3469 + cbnz x3, .L3478 ldr x1, [x29,120] add w0, w0, w28 add x2, x29, 144 @@ -22474,26 +22531,26 @@ write_idblock: ldr x4, [x29,104] add x0, x0, :lo12:.LANCHOR4 ldrb w0, [x0,1232] - cbnz w0, .L3470 + cbnz w0, .L3479 udiv w1, w28, w27 add w2, w4, 1 bl id_block_prog_msb_ff_data -.L3470: +.L3479: ldr x0, [x29,120] add x0, x0, 2048 str x0, [x29,120] - b .L3471 -.L3469: + b .L3480 +.L3478: add w0, w0, w28 mov x1, x3 add x2, x29, 144 bl fw_flash_page_prog.constprop.31 -.L3471: +.L3480: add w24, w24, 4 mov x3, 0 uxth w24, w24 - b .L3461 -.L3494: + b .L3470 +.L3503: add x0, x21, :lo12:.LANCHOR0 ldrb w1, [x29,112] mov x2, x22 @@ -22504,15 +22561,15 @@ write_idblock: ldr w0, [x29,128] lsl w23, w0, 7 mov x0, 0 -.L3473: +.L3482: cmp w23, w0 - bls .L3495 + bls .L3504 ldr w2, [x22,x0,lsl 2] add x0, x0, 1 add x1, x26, x0, lsl 2 ldr w1, [x1,-4] cmp w2, w1 - beq .L3473 + beq .L3482 mov x0, x22 mov w1, 0 mov w2, 512 @@ -22520,23 +22577,23 @@ write_idblock: mov w1, w20 mov w0, 0 bl flash_erase_block - b .L3458 -.L3495: + b .L3467 +.L3504: add w25, w25, 1 cmp w25, 5 - bhi .L3477 -.L3458: + bhi .L3486 +.L3467: ldr w0, [x29,140] add w0, w0, 1 str w0, [x29,140] cmp w0, 4 - bne .L3476 -.L3477: + bne .L3485 +.L3486: mov x0, x22 bl ftl_free cmp w25, wzr csetm w0, eq -.L3486: +.L3495: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -22554,17 +22611,17 @@ CRC_32: mov x5, x0 add x3, x3, :lo12:.LANCHOR2 mov w0, w2 -.L3497: +.L3506: cmp w1, w2 - bls .L3499 + bls .L3508 ldrb w4, [x5,x2] add x6, x3, 2296 add x2, x2, 1 eor w4, w4, w0, lsr 24 ldr w4, [x6,w4,uxtw 2] eor w0, w4, w0, lsl 8 - b .L3497 -.L3499: + b .L3506 +.L3508: ret .size CRC_32, .-CRC_32 .align 2 @@ -22581,137 +22638,137 @@ rknand_sys_storage_ioctl: str x21, [sp,32] mov w19, w1 mov x20, x2 - beq .L3502 + beq .L3511 mov w0, 29187 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3503 + bhi .L3512 mov w0, 25726 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3504 + beq .L3513 mov w0, 25726 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3505 + bhi .L3514 mov w0, 25601 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3506 + beq .L3515 mov w0, 25601 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3507 + bhi .L3516 mov w0, 25364 movk w0, 0x4004, lsl 16 cmp w1, w0 - bne .L3563 + bne .L3572 bl rknand_dev_flush - b .L3597 -.L3507: + b .L3606 +.L3516: mov w0, 25602 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3509 + beq .L3518 mov w0, 25603 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3510 - b .L3563 -.L3505: + beq .L3519 + b .L3572 +.L3514: mov w0, 27688 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3511 + beq .L3520 mov w0, 27688 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3512 + bhi .L3521 mov w0, 25727 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3513 - b .L3563 -.L3512: + beq .L3522 + b .L3572 +.L3521: mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3511 + beq .L3520 mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3511 - b .L3563 -.L3503: + beq .L3520 + b .L3572 +.L3512: mov w0, 29267 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3514 + beq .L3523 mov w0, 29267 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3515 + bhi .L3524 mov w0, 29189 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3516 + beq .L3525 mov w0, 29189 movk w0, 0x4004, lsl 16 cmp w1, w0 - bcc .L3517 + bcc .L3526 mov w0, 29210 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3518 + beq .L3527 mov w0, 29266 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3519 - b .L3563 -.L3515: + beq .L3528 + b .L3572 +.L3524: mov w0, 30225 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3520 + beq .L3529 mov w0, 30225 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3521 + bhi .L3530 mov w0, 29268 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3522 + beq .L3531 mov w0, 30224 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3523 - b .L3563 -.L3521: + beq .L3532 + b .L3572 +.L3530: mov w0, 30226 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3523 + beq .L3532 mov w0, 30227 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3520 - b .L3563 -.L3517: + beq .L3529 + b .L3572 +.L3526: adrp x0, .LC291 add x0, x0, :lo12:.LC291 bl printk mov w0, 4096 bl ftl_malloc mov x19, x0 - cbnz x0, .L3524 -.L3529: + cbnz x0, .L3533 +.L3538: mov x0, -12 - b .L3501 -.L3524: + b .L3510 +.L3533: mov x1, x20 mov x2, 512 bl rk_copy_from_user - cbnz x0, .L3604 + cbnz x0, .L3613 adrp x0, .LC293 ldr w1, [x19] ldr w2, [x19,4] @@ -22720,7 +22777,7 @@ rknand_sys_storage_ioctl: ldr w0, [x19,4] str w0, [x29,52] cmp w0, 8 - bhi .L3601 + bhi .L3610 bl rknand_device_lock ldr w1, [x29,52] mov x2, x19 @@ -22732,30 +22789,30 @@ rknand_sys_storage_ioctl: mov x1, x19 ubfiz x2, x2, 9, 23 bl rk_copy_to_user - cbz x0, .L3607 + cbz x0, .L3616 adrp x0, .LC294 add x0, x0, :lo12:.LC294 -.L3599: +.L3608: bl printk -.L3601: +.L3610: mov x0, x19 -.L3602: +.L3611: bl ftl_free -.L3600: +.L3609: mov x0, -14 - b .L3501 -.L3516: + b .L3510 +.L3525: adrp x0, .LC295 add x0, x0, :lo12:.LC295 bl printk mov w0, 4096 bl ftl_malloc mov x19, x0 - cbz x0, .L3529 + cbz x0, .L3538 mov x1, x20 mov x2, 4096 bl rk_copy_from_user - cbnz x0, .L3604 + cbnz x0, .L3613 ldr w1, [x19] adrp x0, .LC296 ldr w2, [x19,4] @@ -22764,48 +22821,48 @@ rknand_sys_storage_ioctl: adrp x0, .LANCHOR8 add x21, x0, :lo12:.LANCHOR8 mov x20, x0 - ldr x1, [x21,3600] - cbnz x1, .L3531 + ldr x1, [x21,3592] + cbnz x1, .L3540 mov w0, 260096 bl ftl_malloc - str x0, [x21,3600] - cbz x0, .L3601 -.L3531: + str x0, [x21,3592] + cbz x0, .L3610 +.L3540: ldr w2, [x19,4] cmp w2, 4088 - bhi .L3601 + bhi .L3610 ldr w0, [x19] mov w1, 55296 movk w1, 0x3, lsl 16 cmp w0, w1 - bhi .L3601 + bhi .L3610 add x20, x20, :lo12:.LANCHOR8 uxtw x2, w2 - ldr x1, [x20,3600] + ldr x1, [x20,3592] add x0, x1, x0, uxtw add x1, x19, 8 bl memcpy -.L3607: +.L3616: mov x0, x19 bl ftl_free - b .L3597 -.L3519: + b .L3606 +.L3528: adrp x0, .LC297 add x0, x0, :lo12:.LC297 bl printk mov w0, 4096 bl ftl_malloc mov x19, x0 - cbz x0, .L3529 + cbz x0, .L3538 mov x1, x20 mov x2, 28 bl rk_copy_from_user - cbz x0, .L3533 -.L3604: + cbz x0, .L3542 +.L3613: adrp x0, .LC292 add x0, x0, :lo12:.LC292 - b .L3599 -.L3533: + b .L3608 +.L3542: ldr w1, [x19] adrp x0, .LC298 ldr w2, [x19,4] @@ -22815,44 +22872,44 @@ rknand_sys_storage_ioctl: mov w0, 59392 movk w0, 0x3, lsl 16 cmp w1, w0 - bhi .L3601 + bhi .L3610 adrp x20, .LANCHOR8 add x20, x20, :lo12:.LANCHOR8 - ldr x0, [x20,3600] - cbz x0, .L3601 + ldr x0, [x20,3592] + cbz x0, .L3610 bl CRC_32 ldr w1, [x19,4] cmp w1, w0 - beq .L3536 + beq .L3545 mov x0, x19 bl ftl_free mov x0, -2 - b .L3501 -.L3536: + b .L3510 +.L3545: bl rknand_device_lock - ldr x1, [x20,3600] + ldr x1, [x20,3592] add x2, x19, 8 ldr w0, [x19] bl write_idblock bl rknand_device_unlock - ldr x0, [x20,3600] + ldr x0, [x20,3592] bl ftl_free - str xzr, [x20,3600] - b .L3607 -.L3518: + str xzr, [x20,3592] + b .L3616 +.L3527: adrp x0, .LC299 add x0, x0, :lo12:.LC299 bl printk mov w0, 4096 bl ftl_malloc mov x21, x0 - cbz x0, .L3529 + cbz x0, .L3538 bl ReadFlashInfo mov x0, x20 mov x1, x21 mov x2, 11 - b .L3609 -.L3502: + b .L3618 +.L3511: adrp x0, .LC300 add x0, x0, :lo12:.LC300 bl printk @@ -22860,37 +22917,37 @@ rknand_sys_storage_ioctl: mov w0, 4096 bl ftl_malloc mov x21, x0 - cbz x0, .L3529 + cbz x0, .L3538 mov w1, 0 mov w2, 64 bl ftl_memset mov x0, x20 mov x1, x21 mov x2, 64 - b .L3609 -.L3514: + b .L3618 +.L3523: adrp x0, .LC301 add x0, x0, :lo12:.LC301 bl printk - adrp x0, .LANCHOR8+3608 + adrp x0, .LANCHOR8+3600 add x1, x29, 52 mov x2, 4 - ldr x0, [x0,#:lo12:.LANCHOR8+3608] + ldr x0, [x0,#:lo12:.LANCHOR8+3600] ldr w0, [x0,20] str w0, [x29,52] mov x0, x20 -.L3592: +.L3601: bl rk_copy_to_user - cbnz x0, .L3600 - b .L3597 -.L3522: + cbnz x0, .L3609 + b .L3606 +.L3531: adrp x0, .LC302 add x0, x0, :lo12:.LC302 bl printk mov w0, 4096 bl ftl_malloc mov x21, x0 - cbz x0, .L3529 + cbz x0, .L3538 bl rknand_device_lock mov w1, 264 mov w2, 2 @@ -22901,14 +22958,14 @@ rknand_sys_storage_ioctl: mov x0, x20 mov x1, x21 mov x2, 1024 -.L3609: +.L3618: bl rk_copy_to_user mov x19, x0 mov x0, x21 - cbnz x19, .L3602 + cbnz x19, .L3611 bl ftl_free - b .L3528 -.L3506: + b .L3537 +.L3515: adrp x0, .LC303 add x0, x0, :lo12:.LC303 bl printk @@ -22917,50 +22974,50 @@ rknand_sys_storage_ioctl: mov x2, 520 bl rk_copy_from_user mov x19, x0 - cbz x0, .L3541 -.L3546: + cbz x0, .L3550 +.L3555: adrp x0, .LC292 add x0, x0, :lo12:.LC292 bl printk - b .L3600 -.L3541: + b .L3609 +.L3550: ldr w1, [x29,56] mov w0, 21060 movk w0, 0x4b4d, lsl 16 cmp w1, w0 - beq .L3542 -.L3543: + beq .L3551 +.L3552: mov x19, -1 - b .L3528 -.L3542: + b .L3537 +.L3551: ldr w0, [x29,60] cmp w0, 512 - bhi .L3543 + bhi .L3552 adrp x21, .LANCHOR8 add x0, x29, 56 add x21, x21, :lo12:.LANCHOR8 mov x2, 512 - ldr x1, [x21,3608] + ldr x1, [x21,3600] bl memcpy - ldr w1, [x21,3616] + ldr w1, [x21,3608] mov w0, 5161 movk w0, 0xc059, lsl 16 cmp w1, w0 - beq .L3544 + beq .L3553 add x0, x29, 120 mov w1, w19 mov x2, 128 str w19, [x29,64] str w19, [x29,68] bl memset -.L3544: +.L3553: add x0, x29, 312 mov w1, 0 mov x2, 256 str wzr, [x29,72] bl memset - b .L3606 -.L3509: + b .L3615 +.L3518: adrp x0, .LC304 add x0, x0, :lo12:.LC304 bl printk @@ -22968,29 +23025,29 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3546 + cbnz x0, .L3555 ldr w1, [x29,56] mov w0, 21060 movk w0, 0x4b4d, lsl 16 cmp w1, w0 - bne .L3543 + bne .L3552 ldr w0, [x29,60] cmp w0, 512 - bhi .L3543 + bhi .L3552 adrp x1, .LANCHOR8 mov w2, 5161 add x1, x1, :lo12:.LANCHOR8 movk w2, 0xc059, lsl 16 mov x0, -2 - ldr w3, [x1,3616] + ldr w3, [x1,3608] cmp w3, w2 - bne .L3501 + bne .L3510 ldr w2, [x29,68] mov x0, -3 sub w3, w2, #1 cmp w3, 127 - bhi .L3501 - ldr x19, [x1,3608] + bhi .L3510 + ldr x19, [x1,3600] add x1, x29, 120 add x0, x19, 64 str w2, [x19,12] @@ -22998,8 +23055,8 @@ rknand_sys_storage_ioctl: bl memcpy mov w0, 1 mov x1, x19 - b .L3598 -.L3513: + b .L3607 +.L3522: adrp x0, .LC305 add x0, x0, :lo12:.LC305 bl printk @@ -23007,73 +23064,73 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3546 + cbnz x0, .L3555 ldr w1, [x29,56] mov w0, 17476 movk w0, 0x4253, lsl 16 cmp w1, w0 - bne .L3543 + bne .L3552 ldr w0, [x29,60] cmp w0, 512 - bhi .L3543 + bhi .L3552 adrp x19, .LANCHOR8 add x0, x19, :lo12:.LANCHOR8 - ldr w1, [x0,3620] - cbnz w1, .L3547 -.L3550: + ldr w1, [x0,3612] + cbnz w1, .L3556 +.L3559: mov x0, 0 - b .L3501 -.L3547: - ldr x1, [x0,3624] + b .L3510 +.L3556: + ldr x1, [x0,3616] mov w2, 22867 movk w2, 0x4453, lsl 16 ldr w3, [x1] cmp w3, w2 - beq .L3548 + beq .L3557 mov w2, 22867 movk w2, 0x4453, lsl 16 str w2, [x1] mov w2, 504 - ldr x1, [x0,3624] + ldr x1, [x0,3616] str w2, [x1,4] - ldr x0, [x0,3624] + ldr x0, [x0,3616] str wzr, [x0,8] str wzr, [x0,12] -.L3548: +.L3557: add x20, x19, :lo12:.LANCHOR8 mov w0, 0 - ldr x1, [x20,3624] + ldr x1, [x20,3616] str wzr, [x1,16] bl StorageSysDataStore - ldr x0, [x20,3608] + ldr x0, [x20,3600] mov w1, 21060 movk w1, 0x4b4d, lsl 16 ldr w2, [x0] cmp w2, w1 - beq .L3549 + beq .L3558 mov w1, 21060 movk w1, 0x4b4d, lsl 16 str w1, [x0] mov w1, 504 - ldr x0, [x20,3608] + ldr x0, [x20,3600] str w1, [x0,4] - ldr x0, [x20,3608] + ldr x0, [x20,3600] str wzr, [x0,8] -.L3549: +.L3558: add x19, x19, :lo12:.LANCHOR8 mov w1, 0 mov x2, 128 - ldr x20, [x19,3608] + ldr x20, [x19,3600] add x0, x20, 64 str wzr, [x20,12] bl memset mov w0, 1 mov x1, x20 bl StorageSysDataStore - str wzr, [x19,3620] - str wzr, [x19,3616] - b .L3597 -.L3504: + str wzr, [x19,3612] + str wzr, [x19,3608] + b .L3606 +.L3513: adrp x0, .LC306 add x0, x0, :lo12:.LC306 bl printk @@ -23081,61 +23138,61 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3546 + cbnz x0, .L3555 ldr w2, [x29,56] mov w1, 20037 movk w1, 0x4253, lsl 16 cmp w2, w1 - bne .L3543 + bne .L3552 ldr w1, [x29,60] cmp w1, 512 - bhi .L3543 + bhi .L3552 adrp x19, .LANCHOR8 add x1, x19, :lo12:.LANCHOR8 - ldr w2, [x1,3620] + ldr w2, [x1,3612] cmp w2, 1 - beq .L3550 - ldr x2, [x1,3624] + beq .L3559 + ldr x2, [x1,3616] mov w3, 22867 movk w3, 0x4453, lsl 16 ldr w4, [x2] cmp w4, w3 - beq .L3551 + beq .L3560 mov w3, 22867 movk w3, 0x4453, lsl 16 str w3, [x2] mov w3, 504 - ldr x2, [x1,3624] + ldr x2, [x1,3616] str w3, [x2,4] - ldr x1, [x1,3624] + ldr x1, [x1,3616] str w0, [x1,8] str w0, [x1,12] -.L3551: +.L3560: add x20, x19, :lo12:.LANCHOR8 mov w0, 1 - ldr x1, [x20,3624] + ldr x1, [x20,3616] str w0, [x1,16] mov w0, 0 bl StorageSysDataStore - ldr x0, [x20,3608] + ldr x0, [x20,3600] mov w1, 21060 movk w1, 0x4b4d, lsl 16 ldr w2, [x0] cmp w2, w1 - beq .L3552 + beq .L3561 mov w1, 21060 movk w1, 0x4b4d, lsl 16 str w1, [x0] mov w1, 504 - ldr x0, [x20,3608] + ldr x0, [x20,3600] str w1, [x0,4] - ldr x0, [x20,3608] + ldr x0, [x20,3600] str wzr, [x0,8] -.L3552: +.L3561: add x19, x19, :lo12:.LANCHOR8 mov w1, 0 mov x2, 128 - ldr x20, [x19,3608] + ldr x20, [x19,3600] add x0, x20, 64 str wzr, [x20,12] bl memset @@ -23143,9 +23200,9 @@ rknand_sys_storage_ioctl: mov x1, x20 bl StorageSysDataStore mov w0, 1 - str w0, [x19,3620] - b .L3597 -.L3510: + str w0, [x19,3612] + b .L3606 +.L3519: adrp x0, .LC307 add x0, x0, :lo12:.LC307 bl printk @@ -23153,110 +23210,110 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3546 + cbnz x0, .L3555 ldr w1, [x29,56] mov w0, 20051 movk w0, 0x4144, lsl 16 cmp w1, w0 - bne .L3543 + bne .L3552 ldr w2, [x29,60] cmp w2, 512 - bhi .L3543 + bhi .L3552 adrp x1, .LANCHOR8 add x0, x29, 64 add x1, x1, :lo12:.LANCHOR8 uxtw x2, w2 - add x1, x1, 3632 - b .L3605 -.L3511: + add x1, x1, 3624 + b .L3614 +.L3520: mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L3553 + bne .L3562 adrp x0, .LC308 add x0, x0, :lo12:.LC308 - b .L3595 -.L3553: + b .L3604 +.L3562: mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L3555 + bne .L3564 adrp x0, .LC309 add x0, x0, :lo12:.LC309 - b .L3595 -.L3555: + b .L3604 +.L3564: adrp x0, .LC310 add x0, x0, :lo12:.LC310 -.L3595: +.L3604: bl printk add x0, x29, 56 mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3546 + cbnz x0, .L3555 ldr w1, [x29,56] mov w0, 17227 movk w0, 0x4c4f, lsl 16 cmp w1, w0 - bne .L3600 + bne .L3609 mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L3556 - adrp x0, .LANCHOR8+3608 + bne .L3565 + adrp x0, .LANCHOR8+3600 add x1, x29, 56 mov x2, 16 - ldr x0, [x0,#:lo12:.LANCHOR8+3608] + ldr x0, [x0,#:lo12:.LANCHOR8+3600] ldr w0, [x0,20] str w0, [x29,60] strb w0, [x29,64] mov x0, x20 bl rk_copy_to_user - cbz x0, .L3501 - b .L3600 -.L3556: + cbz x0, .L3510 + b .L3609 +.L3565: adrp x0, .LANCHOR9 add x20, x0, :lo12:.LANCHOR9 - ldr w1, [x20,-208] + ldr w1, [x20,-216] cmp w1, 10 - bhi .L3600 - adrp x1, .LANCHOR8+3608 + bhi .L3609 + adrp x1, .LANCHOR8+3600 ldr w2, [x29,60] - ldr x1, [x1,#:lo12:.LANCHOR8+3608] + ldr x1, [x1,#:lo12:.LANCHOR8+3600] ldr w3, [x1,24] cmp w3, w2 - beq .L3557 - cbz w3, .L3557 + beq .L3566 + cbz w3, .L3566 adrp x0, .LC311 mov w1, w2 add x0, x0, :lo12:.LC311 bl printk - ldr w0, [x20,-208] + ldr w0, [x20,-216] add w0, w0, 1 - str w0, [x20,-208] - b .L3600 -.L3557: + str w0, [x20,-216] + b .L3609 +.L3566: add x0, x0, :lo12:.LANCHOR9 - str wzr, [x0,-208] + str wzr, [x0,-216] mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L3558 + bne .L3567 str wzr, [x1,20] str wzr, [x1,24] - b .L3559 -.L3558: + b .L3568 +.L3567: mov w0, 1 str w2, [x1,24] str w0, [x1,20] -.L3559: +.L3568: mov w0, 1 mov x19, -2 bl StorageSysDataStore cmn w0, #1 - bne .L3597 - b .L3528 -.L3523: + bne .L3606 + b .L3537 +.L3532: adrp x0, .LC312 add x0, x0, :lo12:.LC312 bl printk @@ -23264,15 +23321,15 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3546 + cbnz x0, .L3555 ldr w1, [x29,56] mov w0, 17750 movk w0, 0x444e, lsl 16 cmp w1, w0 - bne .L3543 + bne .L3552 ldr w2, [x29,60] cmp w2, 504 - bhi .L3543 + bhi .L3552 mov w0, 30224 adrp x1, .LANCHOR9 movk w0, 0x4004, lsl 16 @@ -23280,21 +23337,21 @@ rknand_sys_storage_ioctl: cmp w19, w0 add x1, x1, :lo12:.LANCHOR9 add x0, x29, 64 - bne .L3560 + bne .L3569 + ldr x1, [x1,-208] + b .L3605 +.L3569: ldr x1, [x1,-200] - b .L3596 -.L3560: - ldr x1, [x1,-192] -.L3596: - add x1, x1, 8 .L3605: + add x1, x1, 8 +.L3614: bl memcpy -.L3606: +.L3615: mov x0, x20 add x1, x29, 56 mov x2, 520 - b .L3592 -.L3520: + b .L3601 +.L3529: adrp x0, .LC313 add x0, x0, :lo12:.LC313 bl printk @@ -23302,50 +23359,50 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3546 + cbnz x0, .L3555 ldr w1, [x29,56] mov w0, 17750 movk w0, 0x444e, lsl 16 cmp w1, w0 - bne .L3543 + bne .L3552 ldr w2, [x29,60] cmp w2, 504 - bhi .L3543 + bhi .L3552 mov w0, 30225 add w2, w2, 8 movk w0, 0x4004, lsl 16 cmp w19, w0 adrp x19, .LANCHOR9 add x19, x19, :lo12:.LANCHOR9 - bne .L3562 - ldr x0, [x19,-200] + bne .L3571 + ldr x0, [x19,-208] add x1, x29, 56 bl memcpy mov w0, 2 - ldr x1, [x19,-200] - b .L3598 -.L3562: - ldr x0, [x19,-192] + ldr x1, [x19,-208] + b .L3607 +.L3571: + ldr x0, [x19,-200] add x1, x29, 56 bl memcpy - ldr x1, [x19,-192] + ldr x1, [x19,-200] mov w0, 3 -.L3598: +.L3607: bl StorageSysDataStore uxtw x19, w0 - b .L3528 -.L3597: + b .L3537 +.L3606: mov x19, 0 -.L3528: +.L3537: adrp x0, .LC314 mov x1, x19 add x0, x0, :lo12:.LC314 bl printk mov x0, x19 - b .L3501 -.L3563: + b .L3510 +.L3572: mov x0, -22 -.L3501: +.L3510: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -23357,57 +23414,57 @@ rknand_sys_storage_ioctl: .type rk_ftl_storage_sys_init, %function rk_ftl_storage_sys_init: stp x29, x30, [sp, -64]! - adrp x0, .LANCHOR7+3304 + adrp x0, .LANCHOR7+3296 mov w2, 512 add x29, sp, 0 stp x21, x22, [sp,32] adrp x21, .LANCHOR8 - ldr x1, [x0,#:lo12:.LANCHOR7+3304] + ldr x1, [x0,#:lo12:.LANCHOR7+3296] stp x19, x20, [sp,16] add x19, x21, :lo12:.LANCHOR8 adrp x20, .LANCHOR9 str x23, [sp,48] add x23, x20, :lo12:.LANCHOR9 add x0, x1, 512 - str x0, [x19,3608] + str x0, [x19,3600] add x0, x1, 1024 - str x1, [x19,3624] + str x1, [x19,3616] add x1, x1, 1536 - str x0, [x23,-200] - add x0, x19, 3632 - str x1, [x23,-192] - str xzr, [x19,3600] + str x0, [x23,-208] + add x0, x19, 3624 + str x1, [x23,-200] + str xzr, [x19,3592] bl ftl_memcpy - ldr x22, [x19,3624] - str wzr, [x23,-208] - str wzr, [x19,3616] + ldr x22, [x19,3616] + str wzr, [x23,-216] + str wzr, [x19,3608] ldr w0, [x22,16] ldr w23, [x22,508] - str w0, [x19,3620] - cbz w23, .L3612 + str w0, [x19,3612] + cbz w23, .L3621 mov x0, x22 mov w1, 508 bl js_hash cmp w23, w0 - beq .L3612 + beq .L3621 adrp x0, .LC315 str wzr, [x22,16] add x0, x0, :lo12:.LC315 - str wzr, [x19,3620] + str wzr, [x19,3612] bl printk -.L3612: +.L3621: add x21, x21, :lo12:.LANCHOR8 - ldr w0, [x21,3620] - cbz w0, .L3613 + ldr w0, [x21,3612] + cbz w0, .L3622 mov w0, 5161 movk w0, 0xc059, lsl 16 - str w0, [x21,3616] -.L3613: + str w0, [x21,3608] +.L3622: add x20, x20, :lo12:.LANCHOR9 mov w0, 2 - ldr x1, [x20,-200] + ldr x1, [x20,-208] bl StorageSysDataLoad - ldr x1, [x20,-192] + ldr x1, [x20,-200] mov w0, 3 bl StorageSysDataLoad bl rknand_sys_storage_init @@ -23438,55 +23495,55 @@ rk_ftl_vendor_storage_init: bl ftl_malloc add x1, x21, :lo12:.LANCHOR9 mov w19, -12 - str x0, [x1,-184] - cbz x0, .L3622 + str x0, [x1,-192] + cbz x0, .L3631 mov w23, 0 adrp x24, .LC316 mov w19, w23 mov w22, w23 add x24, x24, :lo12:.LC316 -.L3626: +.L3635: add x20, x21, :lo12:.LANCHOR9 lsl w0, w22, 7 mov w1, 128 - ldr x2, [x20,-184] + ldr x2, [x20,-192] bl FlashBootVendorRead - cbnz w0, .L3623 - ldr x3, [x20,-184] + cbnz w0, .L3632 + ldr x3, [x20,-192] mov x0, x24 add x2, x3, 61440 ldr w1, [x3] ldr w3, [x3,4] ldr w2, [x2,4092] bl printk - ldr x20, [x20,-184] + ldr x20, [x20,-192] mov w0, 22084 movk w0, 0x524b, lsl 16 ldr w1, [x20] cmp w1, w0 - bne .L3624 + bne .L3633 ldr w0, [x20,4] cmp w19, w0 - bcs .L3624 + bcs .L3633 add x1, x20, 61440 ldr w1, [x1,4092] cmp w1, w0 csel w23, w23, w22, ne csel w19, w19, w0, ne -.L3624: - cbnz w22, .L3634 +.L3633: + cbnz w22, .L3643 mov w22, 1 - b .L3626 -.L3634: - cbz w19, .L3627 + b .L3635 +.L3643: + cbz w19, .L3636 lsl w0, w23, 7 mov w1, 128 mov x2, x20 bl FlashBootVendorRead mov w19, w0 - cbz w0, .L3622 - b .L3623 -.L3627: + cbz w0, .L3631 + b .L3632 +.L3636: mov x0, x20 mov w1, w19 mov x2, 65536 @@ -23500,14 +23557,14 @@ rk_ftl_vendor_storage_init: mov w0, -1032 strh w19, [x20,12] strh w0, [x20,14] - b .L3622 -.L3623: + b .L3631 +.L3632: add x21, x21, :lo12:.LANCHOR9 mov w19, -1 - ldr x0, [x21,-184] + ldr x0, [x21,-192] bl kfree - str xzr, [x21,-184] -.L3622: + str xzr, [x21,-192] +.L3631: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -23519,24 +23576,24 @@ rk_ftl_vendor_storage_init: .global rk_ftl_vendor_read .type rk_ftl_vendor_read, %function rk_ftl_vendor_read: - adrp x3, .LANCHOR9-184 + adrp x3, .LANCHOR9-192 stp x29, x30, [sp, -32]! add x29, sp, 0 - ldr x5, [x3,#:lo12:.LANCHOR9-184] + ldr x5, [x3,#:lo12:.LANCHOR9-192] mov w3, -1 str x19, [sp,16] - cbz x5, .L3636 + cbz x5, .L3645 ldrh w3, [x5,10] mov x4, 0 -.L3637: +.L3646: cmp w4, w3 mov w6, w4 - bcs .L3641 + bcs .L3650 add x7, x5, x4, lsl 3 add x4, x4, 1 ldrh w7, [x7,16] cmp w7, w0 - bne .L3637 + bne .L3646 add x6, x5, x6, uxtw 3 ldrh w4, [x6,20] mov x0, x1 @@ -23548,10 +23605,10 @@ rk_ftl_vendor_read: uxtw x2, w19 bl memcpy mov w3, w19 - b .L3636 -.L3641: + b .L3645 +.L3650: mov w3, -1 -.L3636: +.L3645: mov w0, w3 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -23563,10 +23620,10 @@ rk_ftl_vendor_read: rk_ftl_vendor_write: stp x29, x30, [sp, -112]! mov w6, w0 - adrp x0, .LANCHOR9-184 + adrp x0, .LANCHOR9-192 add x29, sp, 0 stp x19, x20, [sp,16] - ldr x19, [x0,#:lo12:.LANCHOR9-184] + ldr x19, [x0,#:lo12:.LANCHOR9-192] stp x25, x26, [sp,64] stp x27, x28, [sp,80] stp x21, x22, [sp,32] @@ -23574,38 +23631,38 @@ rk_ftl_vendor_write: mov w26, w2 mov x28, x1 mov w2, -1 - cbz x19, .L3643 + cbz x19, .L3652 add w20, w26, 63 ldrh w3, [x19,10] ldrh w23, [x19,8] and w20, w20, -64 mov x2, 0 -.L3644: +.L3653: cmp w2, w3 mov w4, w2 - bcs .L3659 + bcs .L3668 add x0, x19, x2, lsl 3 add x2, x2, 1 ldrh w0, [x0,16] cmp w0, w6 - bne .L3644 + bne .L3653 add x21, x19, x4, uxtw 3 ldrh w24, [x21,20] add x5, x19, 1024 add w24, w24, 63 and w24, w24, -64 cmp w26, w24 - bls .L3645 + bls .L3654 ldrh w0, [x19,14] mov w2, -1 cmp w0, w20 - bcc .L3643 + bcc .L3652 ldrh w21, [x21,18] add w22, w3, w2 -.L3646: +.L3655: cmp w4, w22 uxtw x3, w4 - bcs .L3660 + bcs .L3669 add x3, x19, x3, lsl 3 add w25, w4, 1 add x1, x19, x25, uxtw 3 @@ -23628,8 +23685,8 @@ rk_ftl_vendor_write: mov w4, w25 ldr x6, [x29,96] ldr x5, [x29,104] - b .L3646 -.L3660: + b .L3655 +.L3669: add x3, x19, x3, lsl 3 uxth w21, w21 mov x1, x28 @@ -23646,20 +23703,20 @@ rk_ftl_vendor_write: add w24, w24, w0 sub w24, w24, w20 strh w24, [x19,14] - b .L3658 -.L3645: + b .L3667 +.L3654: ldrh w0, [x21,18] mov x1, x28 uxtw x2, w26 add x0, x5, x0 bl memcpy strh w26, [x21,20] - b .L3658 -.L3659: + b .L3667 +.L3668: ldrh w4, [x19,14] mov w2, -1 cmp w4, w20 - bcc .L3643 + bcc .L3652 add x3, x19, x3, uxth 3 strh w6, [x3,16] uxth w20, w20 @@ -23679,7 +23736,7 @@ rk_ftl_vendor_write: ldrh w0, [x19,10] add w0, w0, 1 strh w0, [x19,10] -.L3658: +.L3667: ldr w0, [x19,4] add x1, x19, 61440 mov x2, x19 @@ -23696,7 +23753,7 @@ rk_ftl_vendor_write: lsl w0, w23, 7 bl FlashBootVendorWrite mov w2, 0 -.L3643: +.L3652: mov w0, w2 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -23720,37 +23777,37 @@ rk_ftl_vendor_storage_ioctl: mov x21, x2 bl ftl_malloc mov x19, x0 - cbz x0, .L3662 + cbz x0, .L3671 mov w2, 30209 ldr x1, [x29,56] movk w2, 0x4004, lsl 16 cmp w1, w2 - beq .L3664 + beq .L3673 mov w2, 30210 movk w2, 0x4004, lsl 16 cmp w1, w2 - beq .L3665 - b .L3676 -.L3664: + beq .L3674 + b .L3685 +.L3673: mov x1, x21 mov x2, 8 bl rk_copy_from_user - cbnz x0, .L3676 + cbnz x0, .L3685 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - beq .L3667 -.L3668: + beq .L3676 +.L3677: mov x20, -1 - b .L3663 -.L3667: + b .L3672 +.L3676: ldrh w0, [x19,4] add x1, x19, 8 ldrh w2, [x19,6] bl rk_ftl_vendor_read cmn w0, #1 - beq .L3668 + beq .L3677 uxth x2, w0 strh w0, [x19,6] mov x1, x19 @@ -23760,38 +23817,38 @@ rk_ftl_vendor_storage_ioctl: bl rk_copy_to_user cmp x0, xzr csel x20, xzr, x20, eq - b .L3663 -.L3665: + b .L3672 +.L3674: mov x1, x21 mov x2, 8 bl rk_copy_from_user - cbnz x0, .L3676 + cbnz x0, .L3685 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - bne .L3668 + bne .L3677 ldrh w3, [x19,6] cmp w3, 4087 - bhi .L3668 + bhi .L3677 add w2, w3, 8 mov x0, x19 mov x1, x21 sxtw x2, w2 bl rk_copy_from_user - cbnz x0, .L3676 + cbnz x0, .L3685 ldrh w0, [x19,4] add x1, x19, 8 ldrh w2, [x19,6] bl rk_ftl_vendor_write sxtw x20, w0 - b .L3663 -.L3676: + b .L3672 +.L3685: mov x20, -14 -.L3663: +.L3672: mov x0, x19 bl kfree -.L3662: +.L3671: mov x0, x20 ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -23914,6 +23971,7 @@ rk_ftl_vendor_storage_ioctl: .global p_free_buf_head .global free_buf_count .global g_buf + .global nandc_ecc_sts .global g_nandc_v6_master_info .global nandc_randomizer_en .global nandc_hw_seed @@ -23972,9 +24030,9 @@ __func__.33843: __func__.33868: .string "_list_update_data_list" .zero 1 - .type __func__.18878, %object - .size __func__.18878, 22 -__func__.18878: + .type __func__.18877, %object + .size __func__.18877, 22 +__func__.18877: .string "nand_flash_print_info" .zero 2 .type __func__.18959, %object @@ -24141,9 +24199,9 @@ toshiba_ref_value: .byte 8 .byte 12 .byte 112 - .type __func__.18487, %object - .size __func__.18487, 28 -__func__.18487: + .type __func__.18489, %object + .size __func__.18489, 28 +__func__.18489: .string "flash_wait_device_ready_raw" .zero 4 .type toshiba_3D_tlc_value, %object @@ -24564,19 +24622,19 @@ toshiba_3D_slc_value: .byte -56 .byte 56 .zero 5 - .type __func__.18537, %object - .size __func__.18537, 22 -__func__.18537: + .type __func__.18539, %object + .size __func__.18539, 22 +__func__.18539: .string "flash_start_page_read" .zero 2 - .type __func__.18462, %object - .size __func__.18462, 26 -__func__.18462: + .type __func__.18464, %object + .size __func__.18464, 26 +__func__.18464: .string "flash_erase_duplane_block" .zero 6 - .type __func__.18473, %object - .size __func__.18473, 21 -__func__.18473: + .type __func__.18475, %object + .size __func__.18475, 21 +__func__.18475: .string "flash_erase_block_en" .zero 3 .type random_seed, %object @@ -24755,29 +24813,29 @@ __func__.33514: .size __func__.33565, 16 __func__.33565: .string "gc_free_src_blk" - .type __func__.34037, %object - .size __func__.34037, 18 -__func__.34037: + .type __func__.34041, %object + .size __func__.34041, 18 +__func__.34041: .string "ftl_alloc_sys_blk" .zero 6 - .type __func__.34047, %object - .size __func__.34047, 17 -__func__.34047: + .type __func__.34051, %object + .size __func__.34051, 17 +__func__.34051: .string "ftl_free_sys_blk" .zero 7 - .type __func__.34151, %object - .size __func__.34151, 23 -__func__.34151: + .type __func__.34155, %object + .size __func__.34155, 23 +__func__.34155: .string "ftl_get_ppa_from_index" .zero 1 - .type __func__.34191, %object - .size __func__.34191, 22 -__func__.34191: + .type __func__.34194, %object + .size __func__.34194, 22 +__func__.34194: .string "ftl_get_new_free_page" .zero 2 - .type __func__.34202, %object - .size __func__.34202, 22 -__func__.34202: + .type __func__.34205, %object + .size __func__.34205, 22 +__func__.34205: .string "ftl_ext_alloc_new_blk" .zero 2 .type __func__.33172, %object @@ -24791,19 +24849,19 @@ __func__.33999: .string "ftl_alloc_sblk" .align 3 .LANCHOR3 = . + 0 - .type __func__.34624, %object - .size __func__.34624, 17 -__func__.34624: + .type __func__.34627, %object + .size __func__.34627, 17 +__func__.34627: .string "pm_alloc_new_blk" .zero 7 - .type __func__.34652, %object - .size __func__.34652, 21 -__func__.34652: + .type __func__.34655, %object + .size __func__.34655, 21 +__func__.34655: .string "pm_select_ram_region" .zero 3 - .type __func__.18868, %object - .size __func__.18868, 20 -__func__.18868: + .type __func__.18867, %object + .size __func__.18867, 20 +__func__.18867: .string "flash_die_info_init" .zero 4 .type __func__.33109, %object @@ -24811,9 +24869,9 @@ __func__.18868: __func__.33109: .string "lpa_rebuild_hash" .zero 7 - .type __func__.34588, %object - .size __func__.34588, 13 -__func__.34588: + .type __func__.34591, %object + .size __func__.34591, 13 +__func__.34591: .string "pm_free_sblk" .zero 3 .type __func__.19179, %object @@ -24821,9 +24879,9 @@ __func__.34588: __func__.19179: .string "flash_into_data_init" .zero 3 - .type __func__.18418, %object - .size __func__.18418, 19 -__func__.18418: + .type __func__.18420, %object + .size __func__.18420, 19 +__func__.18420: .string "flash_read_page_en" .zero 5 .type __func__.19168, %object @@ -24831,9 +24889,9 @@ __func__.18418: __func__.19168: .string "flash_info_blk_init" .zero 4 - .type __func__.18552, %object - .size __func__.18552, 25 -__func__.18552: + .type __func__.18554, %object + .size __func__.18554, 25 +__func__.18554: .string "flash_complete_page_read" .zero 7 .type __func__.33467, %object @@ -24841,29 +24899,29 @@ __func__.18552: __func__.33467: .string "gc_check_data_one_wl" .zero 3 - .type __func__.18524, %object - .size __func__.18524, 22 -__func__.18524: + .type __func__.18526, %object + .size __func__.18526, 22 +__func__.18526: .string "flash_start_page_prog" .zero 2 - .type __func__.34514, %object - .size __func__.34514, 15 -__func__.34514: + .type __func__.34517, %object + .size __func__.34517, 15 +__func__.34517: .string "sblk_prog_page" .zero 1 - .type __func__.18511, %object - .size __func__.18511, 26 -__func__.18511: + .type __func__.18513, %object + .size __func__.18513, 26 +__func__.18513: .string "flash_start_tlc_page_prog" .zero 6 - .type __func__.18447, %object - .size __func__.18447, 19 -__func__.18447: + .type __func__.18449, %object + .size __func__.18449, 19 +__func__.18449: .string "flash_prog_page_en" .zero 5 - .type __func__.34339, %object - .size __func__.34339, 14 -__func__.34339: + .type __func__.34342, %object + .size __func__.34342, 14 +__func__.34342: .string "ftl_prog_page" .zero 2 .type __func__.33967, %object @@ -24871,34 +24929,34 @@ __func__.34339: __func__.33967: .string "ftl_info_flush" .zero 1 - .type __func__.34227, %object - .size __func__.34227, 19 -__func__.34227: + .type __func__.34230, %object + .size __func__.34230, 19 +__func__.34230: .string "ftl_ext_info_flush" .zero 5 - .type __func__.34239, %object - .size __func__.34239, 18 -__func__.34239: + .type __func__.34242, %object + .size __func__.34242, 18 +__func__.34242: .string "ftl_ext_info_init" .zero 6 - .type __func__.34285, %object - .size __func__.34285, 15 -__func__.34285: + .type __func__.34288, %object + .size __func__.34288, 15 +__func__.34288: .string "ftl_low_format" .zero 1 - .type __func__.34329, %object - .size __func__.34329, 23 -__func__.34329: + .type __func__.34332, %object + .size __func__.34332, 23 +__func__.34332: .string "ftl_re_low_format_test" .zero 1 - .type __func__.34125, %object - .size __func__.34125, 23 -__func__.34125: + .type __func__.34129, %object + .size __func__.34129, 23 +__func__.34129: .string "ftl_open_sblk_recovery" .zero 1 - .type __func__.34634, %object - .size __func__.34634, 14 -__func__.34634: + .type __func__.34637, %object + .size __func__.34637, 14 +__func__.34637: .string "pm_write_page" .zero 2 .type __func__.19201, %object @@ -24906,21 +24964,21 @@ __func__.34634: __func__.19201: .string "flash_info_flush" .zero 7 - .type __func__.18922, %object - .size __func__.18922, 16 -__func__.18922: + .type __func__.18921, %object + .size __func__.18921, 16 +__func__.18921: .string "nand_flash_init" - .type __func__.34106, %object - .size __func__.34106, 16 -__func__.34106: + .type __func__.34110, %object + .size __func__.34110, 16 +__func__.34110: .string "ftl_sysblk_dump" - .type __func__.34574, %object - .size __func__.34574, 16 -__func__.34574: + .type __func__.34577, %object + .size __func__.34577, 16 +__func__.34577: .string "load_l2p_region" - .type __func__.34608, %object - .size __func__.34608, 6 -__func__.34608: + .type __func__.34611, %object + .size __func__.34611, 6 +__func__.34611: .string "pm_gc" .zero 2 .type __func__.33223, %object @@ -24943,9 +25001,9 @@ __func__.33669: __func__.33727: .string "gc_block_vpn_scan" .zero 6 - .type __func__.34082, %object - .size __func__.34082, 14 -__func__.34082: + .type __func__.34086, %object + .size __func__.34086, 14 +__func__.34086: .string "ftl_sblk_dump" .zero 2 .type __func__.33269, %object @@ -24962,9 +25020,9 @@ __func__.33336: .size __func__.33610, 16 __func__.33610: .string "gc_scan_src_blk" - .type __func__.34172, %object - .size __func__.34172, 19 -__func__.34172: + .type __func__.34176, %object + .size __func__.34176, 19 +__func__.34176: .string "ftl_update_l2p_map" .zero 5 .type __func__.33161, %object @@ -24991,7 +25049,7 @@ __func__.33754: .LC1: .string "%s\n" .LC2: - .string "FTL version: 6.0.6 20180402" + .string "FTL version: 6.0.7 20180411" .LC3: .string "zftl_debug:0x%x\n" .LC4: @@ -27987,6 +28045,18 @@ _c_ftl_planes_per_die: .size _c_ftl_block_addr_log2, 2 _c_ftl_block_addr_log2: .zero 2 + .type _c_mix_max_slc_ec_count, %object + .size _c_mix_max_slc_ec_count, 2 +_c_mix_max_slc_ec_count: + .zero 2 + .type _c_mix_max_xlc_ec_count, %object + .size _c_mix_max_xlc_ec_count, 2 +_c_mix_max_xlc_ec_count: + .zero 2 + .type _max_slc_super_block, %object + .size _max_slc_super_block, 2 +_max_slc_super_block: + .zero 2 .type g_flash_3d_mlc_flag, %object .size g_flash_3d_mlc_flag, 1 g_flash_3d_mlc_flag: @@ -28000,7 +28070,7 @@ _c_ftl_block_align_addr: .size _c_ftl_nand_die_num, 1 _c_ftl_nand_die_num: .zero 1 - .zero 7 + .zero 1 .type lpa_hash, %object .size lpa_hash, 512 lpa_hash: @@ -28233,19 +28303,7 @@ pm_last_load_ram_id: .size _c_totle_data_density, 4 _c_totle_data_density: .zero 4 - .type _max_slc_super_block, %object - .size _max_slc_super_block, 2 -_max_slc_super_block: - .zero 2 - .type _c_mix_max_slc_ec_count, %object - .size _c_mix_max_slc_ec_count, 2 -_c_mix_max_slc_ec_count: - .zero 2 - .type _c_mix_max_xlc_ec_count, %object - .size _c_mix_max_xlc_ec_count, 2 -_c_mix_max_xlc_ec_count: - .zero 2 - .zero 6 + .zero 4 .type gLoaderBootInfo, %object .size gLoaderBootInfo, 8 gLoaderBootInfo: @@ -28321,6 +28379,11 @@ g_vendor: .size _c_ftl_nand_blks_per_die, 2 _c_ftl_nand_blks_per_die: .zero 2 + .zero 6 + .type nandc_ecc_sts, %object + .size nandc_ecc_sts, 16 +nandc_ecc_sts: + .zero 16 .type g_slc_mode_enable, %object .size g_slc_mode_enable, 1 g_slc_mode_enable: |