Files

1136 lines
20 KiB
ArmAsm
Executable File

.arch armv7-a
.fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 2
.eabi_attribute 30, 6
.eabi_attribute 34, 1
.eabi_attribute 18, 4
.file "phy_rx.c"
#APP
.macro it, cond
.endm
.macro itt, cond
.endm
.macro ite, cond
.endm
.macro ittt, cond
.endm
.macro itte, cond
.endm
.macro itet, cond
.endm
.macro itee, cond
.endm
.macro itttt, cond
.endm
.macro ittte, cond
.endm
.macro ittet, cond
.endm
.macro ittee, cond
.endm
.macro itett, cond
.endm
.macro itete, cond
.endm
.macro iteet, cond
.endm
.macro iteee, cond
.endm
.section .rodata.str1.4,"aMS",%progbits,1
.align 2
.LC0:
.ascii "[%lu0ms][%s:%d] correct_bytes: %.8x\012\000"
.align 2
.LC1:
.ascii "/home/work/XX530vUS1/sdk/en7529/modules/private/xpo"
.ascii "n_phy/src/phy_rx.c\000"
.align 2
.LC2:
.ascii "[%lu0ms][%s:%d] correct_codewords: %.8x\012\000"
.align 2
.LC3:
.ascii "[%lu0ms][%s:%d] uncorrect_codewords: %.8x\012\000"
.align 2
.LC4:
.ascii "[%lu0ms][%s:%d] total_rx_codewords: %.8x\012\000"
.align 2
.LC5:
.ascii "[%lu0ms][%s:%d] fec_seconds: %.8x\012\000"
.text
.align 2
.global phy_rx_fec_counter
.type phy_rx_fec_counter, %function
phy_rx_fec_counter:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #20
sub sp, sp, #20
str r0, [sp, #12]
mov r0, #564
movt r0, 49071
mov r1, #1
bl set_pon_phy_data
mov r0, #568
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3]
mov r0, #572
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #4]
mov r0, #576
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #8]
mov r0, #580
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #12]
mov r0, #584
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #16]
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L2
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
ldr r3, [r3]
str r3, [sp]
movw r0, #:lower16:.LC0
movt r0, #:upper16:.LC0
mov r1, r2
ldr r2, .L7
mov r3, #37
bl printk
.L2:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L3
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
ldr r3, [r3, #4]
str r3, [sp]
movw r0, #:lower16:.LC2
movt r0, #:upper16:.LC2
mov r1, r2
ldr r2, .L7
mov r3, #38
bl printk
.L3:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L4
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp]
movw r0, #:lower16:.LC3
movt r0, #:upper16:.LC3
mov r1, r2
ldr r2, .L7
mov r3, #39
bl printk
.L4:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L5
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
ldr r3, [r3, #12]
str r3, [sp]
movw r0, #:lower16:.LC4
movt r0, #:upper16:.LC4
mov r1, r2
ldr r2, .L7
mov r3, #40
bl printk
.L5:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L1
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
ldr r3, [r3, #16]
str r3, [sp]
movw r0, #:lower16:.LC5
movt r0, #:upper16:.LC5
mov r1, r2
ldr r2, .L7
mov r3, #41
bl printk
.L1:
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L8:
.align 2
.L7:
.word .LC1+61
.fnend
.size phy_rx_fec_counter, .-phy_rx_fec_counter
.section .rodata.str1.4
.align 2
.LC6:
.ascii "[%lu0ms][%s:%d] Phy BIP Counter : %.8x\012\000"
.text
.align 2
.global phy_bip_counter
.type phy_bip_counter, %function
phy_bip_counter:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #20
sub sp, sp, #20
mov r3, #0
str r3, [sp, #12]
mov r0, #564
movt r0, 49071
mov r1, #4
bl set_pon_phy_data
mov r0, #588
movt r0, 49071
bl get_pon_phy_data
str r0, [sp, #12]
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L10
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
str r3, [sp]
movw r0, #:lower16:.LC6
movt r0, #:upper16:.LC6
mov r1, r2
ldr r2, .L12
mov r3, #62
bl printk
.L10:
mov r0, #564
movt r0, 49071
mov r1, #8
bl set_pon_phy_data
ldr r3, [sp, #12]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L13:
.align 2
.L12:
.word .LC1+61
.fnend
.size phy_bip_counter, .-phy_bip_counter
.section .rodata.str1.4
.align 2
.LC7:
.ascii "[%lu0ms][%s:%d] frame_count_high: %.8x\012\000"
.align 2
.LC8:
.ascii "[%lu0ms][%s:%d] frame_count_low: %.8x\012\000"
.align 2
.LC9:
.ascii "[%lu0ms][%s:%d] lof_counter: %.8x\012\000"
.text
.align 2
.global phy_rx_frame_counter
.type phy_rx_frame_counter, %function
phy_rx_frame_counter:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #20
sub sp, sp, #20
str r0, [sp, #12]
mov r0, #564
movt r0, 49071
mov r1, #16
bl set_pon_phy_data
mov r0, #596
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #4]
mov r0, #592
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3]
bl phy_gpon_mode
mov r3, r0
cmp r3, #0
beq .L15
mov r0, #600
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #8]
.L15:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L16
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
ldr r3, [r3, #4]
str r3, [sp]
movw r0, #:lower16:.LC7
movt r0, #:upper16:.LC7
mov r1, r2
ldr r2, .L19
mov r3, #91
bl printk
.L16:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L17
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
ldr r3, [r3]
str r3, [sp]
movw r0, #:lower16:.LC8
movt r0, #:upper16:.LC8
mov r1, r2
ldr r2, .L19
mov r3, #92
bl printk
.L17:
bl phy_gpon_mode
mov r3, r0
cmp r3, #0
beq .L14
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L14
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r2, [r3]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp]
movw r0, #:lower16:.LC9
movt r0, #:upper16:.LC9
mov r1, r2
ldr r2, .L19
mov r3, #94
bl printk
.L14:
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L20:
.align 2
.L19:
.word .LC1+61
.fnend
.size phy_rx_frame_counter, .-phy_rx_frame_counter
.section .rodata.str1.4
.align 2
.LC10:
.ascii "[%lu0ms][%s:%d] Rx FEC Enable\012\000"
.align 2
.LC11:
.ascii "[%lu0ms][%s:%d] Rx FEC Disable\012\000"
.text
.align 2
.global phy_rx_fec_setting
.type phy_rx_fec_setting, %function
phy_rx_fec_setting:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #12
sub sp, sp, #12
mov r3, r0
strb r3, [sp, #7]
ldrb r3, [sp, #7] @ zero_extendqisi2
cmp r3, #1
bne .L22
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L23
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC10
movt r0, #:upper16:.LC10
mov r1, r3
ldr r2, .L27
mov r3, #113
bl printk
.L23:
mov r0, #616
movt r0, 49071
mov r1, #1
bl set_pon_phy_data
mov r3, #0
b .L24
.L22:
ldrb r3, [sp, #7] @ zero_extendqisi2
cmp r3, #0
bne .L25
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L26
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC11
movt r0, #:upper16:.LC11
mov r1, r3
ldr r2, .L27
mov r3, #119
bl printk
.L26:
mov r0, #616
movt r0, 49071
mov r1, #0
bl set_pon_phy_data
mov r3, #0
b .L24
.L25:
mov r3, #1
.L24:
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.L28:
.align 2
.L27:
.word .LC1+61
.fnend
.size phy_rx_fec_setting, .-phy_rx_fec_setting
.align 2
.global phy_rx_fec_getting
.type phy_rx_fec_getting, %function
phy_rx_fec_getting:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r3, lr}
.save {r3, lr}
mov r0, #616
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r0, r3
ldmfd sp!, {r3, pc}
.fnend
.size phy_rx_fec_getting, .-phy_rx_fec_getting
.section .rodata.str1.4
.align 2
.LC12:
.ascii "[%lu0ms][%s:%d] RX FEC on.\012\000"
.align 2
.LC13:
.ascii "[%lu0ms][%s:%d] RX FEC off.\012\000"
.text
.align 2
.global phy_rx_fec_status
.type phy_rx_fec_status, %function
phy_rx_fec_status:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #12
sub sp, sp, #12
mov r3, #0
str r3, [sp, #4]
mov r0, #540
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
str r3, [sp, #4]
ldr r3, [sp, #4]
and r3, r3, #32768
cmp r3, #0
beq .L32
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L33
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC12
movt r0, #:upper16:.LC12
mov r1, r3
ldr r2, .L36
mov r3, #164
bl printk
.L33:
mov r3, #1
b .L34
.L32:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L35
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC13
movt r0, #:upper16:.LC13
mov r1, r3
ldr r2, .L36
mov r3, #169
bl printk
.L35:
mov r3, #0
.L34:
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.L37:
.align 2
.L36:
.word .LC1+61
.fnend
.size phy_rx_fec_status, .-phy_rx_fec_status
.section .rodata.str1.4
.align 2
.LC14:
.ascii "[%lu0ms][%s:%d] error input : rx_sd_inv.\012\000"
.align 2
.LC15:
.ascii "[%lu0ms][%s:%d] rx_sd_inv success \012\000"
.text
.align 2
.global phy_trans_rx_setting
.type phy_trans_rx_setting, %function
phy_trans_rx_setting:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #20
sub sp, sp, #20
mov r3, r0
strb r3, [sp, #7]
mov r3, #0
str r3, [sp, #8]
mov r3, #0
str r3, [sp, #12]
mov r0, #312
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
str r3, [sp, #8]
ldrb r3, [sp, #7] @ zero_extendqisi2
cmp r3, #1
bne .L39
ldr r3, [sp, #8]
orr r3, r3, #64
str r3, [sp, #12]
b .L40
.L39:
ldrb r3, [sp, #7] @ zero_extendqisi2
cmp r3, #0
bne .L41
ldr r3, [sp, #8]
bic r3, r3, #64
str r3, [sp, #12]
b .L40
.L41:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L42
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC14
movt r0, #:upper16:.LC14
mov r1, r3
ldr r2, .L45
mov r3, #197
bl printk
.L42:
mov r3, #1
b .L43
.L40:
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L44
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC15
movt r0, #:upper16:.LC15
mov r1, r3
ldr r2, .L45
mov r3, #200
bl printk
.L44:
mov r0, #312
movt r0, 49071
ldr r1, [sp, #12]
bl set_pon_phy_data
mov r3, #0
.L43:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L46:
.align 2
.L45:
.word .LC1+61
.fnend
.size phy_trans_rx_setting, .-phy_trans_rx_setting
.align 2
.global phy_trans_rx_getting
.type phy_trans_rx_getting, %function
phy_trans_rx_getting:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #12
sub sp, sp, #12
mov r3, #0
str r3, [sp, #4]
mov r0, #312
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
str r3, [sp, #4]
ldr r3, [sp, #4]
and r3, r3, #64
cmp r3, #0
bne .L48
mov r3, #0
b .L49
.L48:
mov r3, #1
.L49:
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size phy_trans_rx_getting, .-phy_trans_rx_getting
.section .rodata.str1.4
.align 2
.LC16:
.ascii "[%lu0ms][%s:%d] error input : gpon_m1_lmt. \012\000"
.align 2
.LC17:
.ascii "[%lu0ms][%s:%d] error input : gpon_m2_lmt. \012\000"
.align 2
.LC18:
.ascii "[%lu0ms][%s:%d] error input : presync_mismatch_lmt."
.ascii " \012\000"
.align 2
.LC19:
.ascii "[%lu0ms][%s:%d] error input : insync_mismatch_lmt. "
.ascii "\012\000"
.align 2
.LC20:
.ascii "[%lu0ms][%s:%d] error input : gpon_gsync_prot. \012"
.ascii "\000"
.text
.align 2
.global phy_gpon_psync_setting
.type phy_gpon_psync_setting, %function
phy_gpon_psync_setting:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #20
sub sp, sp, #20
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #8]
mov r0, #524
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
and r3, r3, #1
cmp r3, #0
beq .L51
ldr r3, [sp, #4]
ldrb r3, [r3] @ zero_extendqisi2
and r3, r3, #248
cmp r3, #0
beq .L52
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #1
cmp r3, #0
beq .L53
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC16
movt r0, #:upper16:.LC16
mov r1, r3
ldr r2, .L67
movw r3, #311
bl printk
.L53:
mov r3, #1
b .L54
.L52:
ldr r3, [sp, #12]
bic r3, r3, #7
ldr r2, [sp, #4]
ldrb r2, [r2] @ zero_extendqisi2
orr r3, r3, r2
str r3, [sp, #12]
.L51:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
and r3, r3, #2
cmp r3, #0
beq .L55
ldr r3, [sp, #4]
ldrb r3, [r3, #1] @ zero_extendqisi2
and r3, r3, #248
cmp r3, #0
beq .L56
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #1
cmp r3, #0
beq .L57
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC17
movt r0, #:upper16:.LC17
mov r1, r3
ldr r2, .L67
mov r3, #320
bl printk
.L57:
mov r3, #1
b .L54
.L56:
ldr r3, [sp, #12]
bic r3, r3, #56
ldr r2, [sp, #4]
ldrb r2, [r2, #1] @ zero_extendqisi2
mov r2, r2, asl #3
orr r3, r3, r2
str r3, [sp, #12]
.L55:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
and r3, r3, #4
cmp r3, #0
beq .L58
ldr r3, [sp, #4]
ldrb r3, [r3, #2] @ zero_extendqisi2
and r3, r3, #248
cmp r3, #0
beq .L59
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #1
cmp r3, #0
beq .L60
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC18
movt r0, #:upper16:.LC18
mov r1, r3
ldr r2, .L67
movw r3, #329
bl printk
.L60:
mov r3, #1
b .L54
.L59:
ldr r3, [sp, #12]
bic r3, r3, #1792
ldr r2, [sp, #4]
ldrb r2, [r2, #2] @ zero_extendqisi2
mov r2, r2, asl #8
orr r3, r3, r2
str r3, [sp, #12]
.L58:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
and r3, r3, #8
cmp r3, #0
beq .L61
ldr r3, [sp, #4]
ldrb r3, [r3, #3] @ zero_extendqisi2
and r3, r3, #248
cmp r3, #0
beq .L62
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #1
cmp r3, #0
beq .L63
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC19
movt r0, #:upper16:.LC19
mov r1, r3
ldr r2, .L67
movw r3, #338
bl printk
.L63:
mov r3, #1
b .L54
.L62:
ldr r3, [sp, #12]
bic r3, r3, #14336
ldr r2, [sp, #4]
ldrb r2, [r2, #3] @ zero_extendqisi2
mov r2, r2, asl #11
orr r3, r3, r2
str r3, [sp, #12]
.L61:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
and r3, r3, #16
cmp r3, #0
beq .L64
ldr r3, [sp, #4]
ldrb r3, [r3, #4] @ zero_extendqisi2
and r3, r3, #254
cmp r3, #0
beq .L65
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #1
cmp r3, #0
beq .L66
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC20
movt r0, #:upper16:.LC20
mov r1, r3
ldr r2, .L67
movw r3, #347
bl printk
.L66:
mov r3, #1
b .L54
.L65:
ldr r3, [sp, #4]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r3, r3, asl #14
mov r2, r3
ldr r3, [sp, #12]
and r3, r3, r2
bic r3, r3, #16384
str r3, [sp, #12]
.L64:
ldr r3, [sp, #12]
str r3, [sp, #8]
mov r0, #524
movt r0, 49071
ldr r1, [sp, #8]
bl set_pon_phy_data
mov r3, #0
.L54:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L68:
.align 2
.L67:
.word .LC1+61
.fnend
.size phy_gpon_psync_setting, .-phy_gpon_psync_setting
.section .rodata.str1.4
.align 2
.LC21:
.ascii "[%lu0ms][%s:%d] Phy Epon Frame Error Counter : %.8x"
.ascii "\012\000"
.text
.align 2
.global phy_epon_frame_err_cnt
.type phy_epon_frame_err_cnt, %function
phy_epon_frame_err_cnt:
.fnstart
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, lr}
.save {r4, lr}
.pad #8
sub sp, sp, #8
mov r0, #664
movt r0, 49071
mov r1, #32
bl set_pon_phy_data
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L70
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r4, [r3]
mov r0, #552
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
str r3, [sp]
movw r0, #:lower16:.LC21
movt r0, #:upper16:.LC21
mov r1, r4
ldr r2, .L72
movw r3, #378
bl printk
.L70:
mov r0, #552
movt r0, 49071
bl get_pon_phy_data
mov r3, r0
mov r0, r3
add sp, sp, #8
@ sp needed
ldmfd sp!, {r4, pc}
.L73:
.align 2
.L72:
.word .LC1+61
.fnend
.size phy_epon_frame_err_cnt, .-phy_epon_frame_err_cnt
.section .rodata.str1.4
.align 2
.LC22:
.ascii "[%lu0ms][%s:%d] Rx power is below low alarm. \012\000"
.align 2
.LC23:
.ascii "[%lu0ms][%s:%d] Rx power exceeds high alarm. \012\000"
.text
.align 2
.global phy_rx_power_alarm
.type phy_rx_power_alarm, %function
phy_rx_power_alarm:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
mov r3, #0
str r3, [sp, #24]
mov r3, #0
str r3, [sp, #28]
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r2, [r3, #96]
mov r3, #113
str r3, [sp]
add r3, sp, #23
str r3, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0
mov r1, r2
mov r2, #81
mov r3, #1
bl phy_I2C_read
ldrb r3, [sp, #23] @ zero_extendqisi2
str r3, [sp, #24]
ldr r3, [sp, #24]
and r3, r3, #64
cmp r3, #0
beq .L75
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L76
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC22
movt r0, #:upper16:.LC22
mov r1, r3
ldr r2, .L80
movw r3, #418
bl printk
.L76:
ldr r3, [sp, #28]
orr r3, r3, #32
str r3, [sp, #28]
.L75:
ldr r3, [sp, #24]
and r3, r3, #128
cmp r3, #0
beq .L77
movw r3, #:lower16:gpPhyPriv
movt r3, #:upper16:gpPhyPriv
ldr r3, [r3]
ldrh r3, [r3, #116]
and r3, r3, #16
cmp r3, #0
beq .L78
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
movw r0, #:lower16:.LC23
movt r0, #:upper16:.LC23
mov r1, r3
ldr r2, .L80
mov r3, #424
bl printk
.L78:
ldr r3, [sp, #28]
orr r3, r3, #16
str r3, [sp, #28]
.L77:
ldr r3, [sp, #28]
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L81:
.align 2
.L80:
.word .LC1+61
.fnend
.size phy_rx_power_alarm, .-phy_rx_power_alarm
.ident "GCC: (Buildroot 2015.08.1-gd814875) 4.9.3"
.section .note.GNU-stack,"",%progbits