Files

21976 lines
402 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 "qdma_api.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
.align 1
.type eth_reserved_addr_base, %object
.size eth_reserved_addr_base, 6
eth_reserved_addr_base:
.byte 1
.byte -128
.byte -62
.byte 0
.byte 0
.byte 0
.global isForceRX1
.bss
.align 2
.type isForceRX1, %object
.size isForceRX1, 4
isForceRX1:
.space 4
.global chnlLimit
.align 2
.type chnlLimit, %object
.size chnlLimit, 128
chnlLimit:
.space 128
.global queueLimit
.align 2
.type queueLimit, %object
.size queueLimit, 1024
queueLimit:
.space 1024
.global RX_DSCP_BUDGET
.section .rodata
.align 2
.type RX_DSCP_BUDGET, %object
.size RX_DSCP_BUDGET, 64
RX_DSCP_BUDGET:
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.word 5
.data
.align 2
.type qosTypeStr, %object
.size qosTypeStr, 128
qosTypeStr:
.ascii "WRR\000"
.space 12
.ascii "SP\000"
.space 13
.ascii "SPWRR7\000"
.space 9
.ascii "SPWRR6\000"
.space 9
.ascii "SPWRR5\000"
.space 9
.ascii "SPWRR4\000"
.space 9
.ascii "SPWRR3\000"
.space 9
.ascii "SPWRR2\000"
.space 9
.align 2
.type vChnlQosTypeStr, %object
.size vChnlQosTypeStr, 64
vChnlQosTypeStr:
.ascii "WRR\000"
.space 12
.ascii "SP\000"
.space 13
.ascii "SPWRR3\000"
.space 9
.ascii "SPWRR2\000"
.space 9
.global dbgcntr_dump_timer
.bss
.align 2
.type dbgcntr_dump_timer, %object
.size dbgcntr_dump_timer, 28
dbgcntr_dump_timer:
.space 28
.text
.align 2
.global qdma_init
.type qdma_init, %function
qdma_init:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
ldr r2, [r2]
uxtb r2, r2
strb r2, [r3, #538]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #536] @ zero_extendqisi2
and r3, r3, #1
uxtb r3, r3
cmp r3, #0
beq .L2
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
ldrb r2, [r2, #4] @ zero_extendqisi2
strb r2, [r3, #537]
.L2:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #8]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #12]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #2
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #16]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #3
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #20]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #4
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #24]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #5
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #28]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #6
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #32]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #7
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #36]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #8
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #40]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #9
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #44]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #10
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #48]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
ldr r3, [sp, #4]
mov r2, #11
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r2, [r3, #52]
ldr r3, [sp, #4]
str r2, [r3, #12]
ldr r0, [sp, #4]
bl qdma_register_callback_function
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_init, .-qdma_init
.align 2
.global qdma_deinit
.type qdma_deinit, %function
qdma_deinit:
.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
str r0, [sp, #4]
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #2
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #3
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #4
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #5
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #6
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #7
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #8
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #9
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #10
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
ldr r3, [sp, #4]
mov r2, #11
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_unregister_callback_function
mov r3, #0
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_deinit, .-qdma_deinit
.align 2
.global qdma_tx_dma_mode
.type qdma_tx_dma_mode, %function
qdma_tx_dma_mode:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #1
bne .L7
ldr r3, [sp, #20]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r2, r3, #4
ldr r3, [sp, #12]
orr r3, r3, #1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L8
.L7:
ldr r3, [sp, #20]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r2, r3, #4
ldr r3, [sp, #8]
bic r3, r3, #1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L8:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_tx_dma_mode, .-qdma_tx_dma_mode
.align 2
.global qdma_rx_dma_mode
.type qdma_rx_dma_mode, %function
qdma_rx_dma_mode:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #1
bne .L11
ldr r3, [sp, #20]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r2, r3, #4
ldr r3, [sp, #12]
orr r3, r3, #4
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L12
.L11:
ldr r3, [sp, #20]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r2, r3, #4
ldr r3, [sp, #8]
bic r3, r3, #4
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L12:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_rx_dma_mode, .-qdma_rx_dma_mode
.align 2
.global qdma_loopback_mode
.type qdma_loopback_mode, %function
qdma_loopback_mode:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bne .L15
ldr r3, [sp, #20]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r2, r3, #4
ldr r3, [sp, #12]
bic r3, r3, #65536
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L16
.L15:
ldr r3, [sp, #16]
cmp r3, #1
bne .L16
ldr r3, [sp, #20]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r2, r3, #4
ldr r3, [sp, #8]
orr r3, r3, #65536
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L16:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_loopback_mode, .-qdma_loopback_mode
.align 2
.global qdma_register_callback_function
.type qdma_register_callback_function, %function
qdma_register_callback_function:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #24
sub sp, sp, #24
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #4]
ldr r3, [r3, #12]
str r3, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bne .L19
mvn r3, #21
b .L20
.L19:
ldr r3, [sp, #16]
cmp r3, #11
ldrls pc, [pc, r3, asl #2]
b .L21
.L23:
.word .L22
.word .L24
.word .L25
.word .L21
.word .L21
.word .L21
.word .L26
.word .L27
.word .L28
.word .L29
.word .L30
.word .L31
.L22:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #544]
b .L32
.L24:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #548]
b .L32
.L25:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #552]
b .L32
.L26:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #568]
b .L32
.L27:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #572]
b .L32
.L28:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #576]
b .L32
.L29:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #580]
b .L32
.L30:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #584]
b .L32
.L31:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
str r2, [r3, #588]
b .L32
.L21:
mvn r3, #13
b .L20
.L32:
mov r3, #0
.L20:
mov r0, r3
add sp, sp, #24
@ sp needed
bx lr
.fnend
.size qdma_register_callback_function, .-qdma_register_callback_function
.align 2
.global qdma_unregister_callback_function
.type qdma_unregister_callback_function, %function
qdma_unregister_callback_function:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #16
sub sp, sp, #16
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #8]
cmp r3, #11
ldrls pc, [pc, r3, asl #2]
b .L34
.L36:
.word .L35
.word .L37
.word .L38
.word .L34
.word .L34
.word .L34
.word .L39
.word .L40
.word .L41
.word .L42
.word .L43
.word .L44
.L35:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #544]
b .L45
.L37:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #548]
b .L45
.L38:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #552]
b .L45
.L39:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #568]
b .L45
.L40:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #572]
b .L45
.L41:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #576]
b .L45
.L42:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #580]
b .L45
.L43:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #584]
b .L45
.L44:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #0
str r2, [r3, #588]
b .L45
.L34:
mvn r3, #13
b .L46
.L45:
mov r3, #0
.L46:
mov r0, r3
add sp, sp, #16
@ sp needed
bx lr
.fnend
.size qdma_unregister_callback_function, .-qdma_unregister_callback_function
.align 2
.global qdma_enable_rxpkt_int
.type qdma_enable_rxpkt_int, %function
qdma_enable_rxpkt_int:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
movw r3, #:lower16:int1_rx_ring
movt r3, #:upper16:int1_rx_ring
ldr r3, [r3]
ldr r0, [sp, #12]
mov r1, r3
mov r2, #1
mov r3, #2
bl qdmaEnableInt
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_enable_rxpkt_int, .-qdma_enable_rxpkt_int
.align 2
.global qdma_disable_rxpkt_int
.type qdma_disable_rxpkt_int, %function
qdma_disable_rxpkt_int:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
movw r3, #:lower16:int1_rx_ring
movt r3, #:upper16:int1_rx_ring
ldr r3, [r3]
ldr r0, [sp, #12]
mov r1, r3
mov r2, #1
mov r3, #2
bl qdmaDisableInt
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_disable_rxpkt_int, .-qdma_disable_rxpkt_int
.align 2
.global qdma_enable_rxpkt_int2
.type qdma_enable_rxpkt_int2, %function
qdma_enable_rxpkt_int2:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
movw r3, #:lower16:int2_rx_ring
movt r3, #:upper16:int2_rx_ring
ldr r3, [r3]
ldr r0, [sp, #12]
mov r1, r3
mov r2, #2
mov r3, #2
bl qdmaEnableInt
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_enable_rxpkt_int2, .-qdma_enable_rxpkt_int2
.align 2
.global qdma_disable_rxpkt_int2
.type qdma_disable_rxpkt_int2, %function
qdma_disable_rxpkt_int2:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
movw r3, #:lower16:int2_rx_ring
movt r3, #:upper16:int2_rx_ring
ldr r3, [r3]
ldr r0, [sp, #12]
mov r1, r3
mov r2, #2
mov r3, #2
bl qdmaDisableInt
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_disable_rxpkt_int2, .-qdma_disable_rxpkt_int2
.align 2
.global qdma_enable_rxpkt_int3
.type qdma_enable_rxpkt_int3, %function
qdma_enable_rxpkt_int3:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
movw r3, #:lower16:int3_rx_ring
movt r3, #:upper16:int3_rx_ring
ldr r3, [r3]
ldr r0, [sp, #12]
mov r1, r3
mov r2, #3
mov r3, #2
bl qdmaEnableInt
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_enable_rxpkt_int3, .-qdma_enable_rxpkt_int3
.align 2
.global qdma_disable_rxpkt_int3
.type qdma_disable_rxpkt_int3, %function
qdma_disable_rxpkt_int3:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
movw r3, #:lower16:int3_rx_ring
movt r3, #:upper16:int3_rx_ring
ldr r3, [r3]
ldr r0, [sp, #12]
mov r1, r3
mov r2, #3
mov r3, #2
bl qdmaDisableInt
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_disable_rxpkt_int3, .-qdma_disable_rxpkt_int3
.align 2
.global qdma_enable_rxpkt_int4
.type qdma_enable_rxpkt_int4, %function
qdma_enable_rxpkt_int4:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
movw r3, #:lower16:int4_rx_ring
movt r3, #:upper16:int4_rx_ring
ldr r3, [r3]
ldr r0, [sp, #12]
mov r1, r3
mov r2, #4
mov r3, #2
bl qdmaEnableInt
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_enable_rxpkt_int4, .-qdma_enable_rxpkt_int4
.align 2
.global qdma_disable_rxpkt_int4
.type qdma_disable_rxpkt_int4, %function
qdma_disable_rxpkt_int4:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
movw r3, #:lower16:int4_rx_ring
movt r3, #:upper16:int4_rx_ring
ldr r3, [r3]
ldr r0, [sp, #12]
mov r1, r3
mov r2, #4
mov r3, #2
bl qdmaDisableInt
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_disable_rxpkt_int4, .-qdma_disable_rxpkt_int4
.section .rodata.str1.4,"aMS",%progbits,1
.align 2
.LC1:
.ascii "%s: %s [%d]: Error-Ring%d: curNum:%d, nPkts:%d, max"
.ascii "Pkts:%d, nums:%d.\012\000"
.align 2
.LC2:
.ascii "qdma_lan\000"
.align 2
.LC3:
.ascii "/home/work/XX530vUS1/sdk/en7529/modules/private/qdm"
.ascii "a/EN7516/qdma_api.c\000"
.align 2
.LC4:
.ascii "%s: %s [%d]: Error: nums:%d, maxPkts:%d.\012\000"
.text
.align 2
.global qdma_receive_packets
.type qdma_receive_packets, %function
qdma_receive_packets:
.fnstart
@ args = 0, pretend = 0, frame = 104
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #132
sub sp, sp, #132
str r0, [sp, #28]
mov r3, #0
str r3, [sp, #124]
mov r3, #0
str r3, [sp, #108]
mov r3, #0
str r3, [sp, #104]
mov r3, #0
str r3, [sp, #120]
mov r3, #0
str r3, [sp, #116]
ldr r3, [sp, #28]
ldr r3, [r3, #8]
str r3, [sp, #112]
ldr r3, [sp, #112]
cmp r3, #0
bne .L64
mov r3, #0
str r3, [sp, #120]
b .L65
.L67:
mov r2, #1
ldr r3, [sp, #120]
mov r3, r2, asl r3
mov r2, r3
movw r3, #:lower16:int1_rx_ring
movt r3, #:upper16:int1_rx_ring
ldr r3, [r3]
and r3, r3, r2
cmp r3, #0
beq .L66
movw r3, #:lower16:CONFIG_RX_DSCP_NUM
movt r3, #:upper16:CONFIG_RX_DSCP_NUM
ldr r2, [sp, #120]
ldr r2, [r3, r2, asl #2]
ldr r3, [sp, #112]
add r3, r2, r3
str r3, [sp, #112]
.L66:
ldr r3, [sp, #120]
add r3, r3, #1
str r3, [sp, #120]
.L65:
ldr r3, [sp, #120]
cmp r3, #15
ble .L67
.L64:
mov r3, #15
str r3, [sp, #120]
b .L68
.L73:
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #0
str r2, [r3, #-88]
mov r2, #1
ldr r3, [sp, #120]
mov r3, r2, asl r3
mov r2, r3
movw r3, #:lower16:int1_rx_ring
movt r3, #:upper16:int1_rx_ring
ldr r3, [r3]
and r3, r3, r2
cmp r3, #0
bne .L69
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #1
str r2, [r3, #-88]
b .L70
.L69:
ldr r2, [sp, #112]
ldr r3, [sp, #124]
rsb r3, r3, r2
str r3, [sp, #36]
movw r3, #:lower16:RX_DSCP_BUDGET
movt r3, #:upper16:RX_DSCP_BUDGET
ldr r2, [sp, #120]
ldr r3, [r3, r2, asl #2]
str r3, [sp, #32]
ldr r2, [sp, #32]
ldr r3, [sp, #36]
cmp r2, r3
movlt r3, r2
movge r3, r3
str r3, [sp, #104]
ldr r3, [sp, #104]
cmp r3, #0
beq .L70
ldr r3, [sp, #104]
mov r0, r3
ldr r1, [sp, #120]
bl qdma_bm_receive_packets
str r0, [sp, #108]
ldr r2, [sp, #108]
ldr r3, [sp, #104]
cmp r2, r3
bge .L71
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #1
str r2, [r3, #-88]
.L71:
ldr r2, [sp, #108]
ldr r3, [sp, #104]
cmp r2, r3
ble .L72
ldr r3, [sp, #120]
str r3, [sp]
ldr r3, [sp, #108]
str r3, [sp, #4]
ldr r3, [sp, #104]
str r3, [sp, #8]
ldr r3, [sp, #112]
str r3, [sp, #12]
ldr r3, [sp, #124]
str r3, [sp, #16]
movw r0, #:lower16:.LC1
movt r0, #:upper16:.LC1
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L81
movw r3, #731
bl printk
.L72:
ldr r2, [sp, #124]
ldr r3, [sp, #108]
add r3, r2, r3
str r3, [sp, #124]
.L70:
ldr r3, [sp, #120]
sub r3, r3, #1
str r3, [sp, #120]
.L68:
ldr r3, [sp, #120]
cmp r3, #0
bge .L73
mov r3, #1
str r3, [sp, #116]
mov r3, #0
str r3, [sp, #120]
b .L74
.L76:
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
ldr r3, [r3, #-88]
cmp r3, #0
bne .L75
mov r3, #0
str r3, [sp, #116]
.L75:
ldr r3, [sp, #120]
add r3, r3, #1
str r3, [sp, #120]
.L74:
ldr r3, [sp, #120]
cmp r3, #15
ble .L76
ldr r3, [sp, #116]
cmp r3, #1
bne .L77
b .L78
.L77:
ldr r2, [sp, #124]
ldr r3, [sp, #112]
cmp r2, r3
blt .L64
.L78:
ldr r2, [sp, #124]
ldr r3, [sp, #112]
cmp r2, r3
ble .L79
ldr r3, [sp, #124]
str r3, [sp]
ldr r3, [sp, #112]
str r3, [sp, #4]
movw r0, #:lower16:.LC4
movt r0, #:upper16:.LC4
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L81
mov r3, #748
bl printk
.L79:
ldr r3, [sp, #124]
mov r0, r3
add sp, sp, #132
@ sp needed
ldr pc, [sp], #4
.L82:
.align 2
.L81:
.word .LC3+60
.fnend
.size qdma_receive_packets, .-qdma_receive_packets
.align 2
.global qdma_receive_packets_int2
.type qdma_receive_packets_int2, %function
qdma_receive_packets_int2:
.fnstart
@ args = 0, pretend = 0, frame = 104
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #132
sub sp, sp, #132
str r0, [sp, #28]
mov r3, #0
str r3, [sp, #124]
mov r3, #0
str r3, [sp, #108]
mov r3, #0
str r3, [sp, #104]
mov r3, #0
str r3, [sp, #120]
mov r3, #0
str r3, [sp, #116]
ldr r3, [sp, #28]
ldr r3, [r3, #8]
str r3, [sp, #112]
ldr r3, [sp, #112]
cmp r3, #0
bne .L84
mov r3, #0
str r3, [sp, #120]
b .L85
.L87:
mov r2, #1
ldr r3, [sp, #120]
mov r3, r2, asl r3
mov r2, r3
movw r3, #:lower16:int2_rx_ring
movt r3, #:upper16:int2_rx_ring
ldr r3, [r3]
and r3, r3, r2
cmp r3, #0
beq .L86
movw r3, #:lower16:CONFIG_RX_DSCP_NUM
movt r3, #:upper16:CONFIG_RX_DSCP_NUM
ldr r2, [sp, #120]
ldr r2, [r3, r2, asl #2]
ldr r3, [sp, #112]
add r3, r2, r3
str r3, [sp, #112]
.L86:
ldr r3, [sp, #120]
add r3, r3, #1
str r3, [sp, #120]
.L85:
ldr r3, [sp, #120]
cmp r3, #15
ble .L87
.L84:
mov r3, #15
str r3, [sp, #120]
b .L88
.L93:
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #0
str r2, [r3, #-88]
mov r2, #1
ldr r3, [sp, #120]
mov r3, r2, asl r3
mov r2, r3
movw r3, #:lower16:int2_rx_ring
movt r3, #:upper16:int2_rx_ring
ldr r3, [r3]
and r3, r3, r2
cmp r3, #0
bne .L89
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #1
str r2, [r3, #-88]
b .L90
.L89:
ldr r2, [sp, #112]
ldr r3, [sp, #124]
rsb r3, r3, r2
str r3, [sp, #36]
movw r3, #:lower16:RX_DSCP_BUDGET
movt r3, #:upper16:RX_DSCP_BUDGET
ldr r2, [sp, #120]
ldr r3, [r3, r2, asl #2]
str r3, [sp, #32]
ldr r2, [sp, #32]
ldr r3, [sp, #36]
cmp r2, r3
movlt r3, r2
movge r3, r3
str r3, [sp, #104]
ldr r3, [sp, #104]
cmp r3, #0
beq .L90
ldr r3, [sp, #104]
mov r0, r3
ldr r1, [sp, #120]
bl qdma_bm_receive_packets_int2
str r0, [sp, #108]
ldr r2, [sp, #108]
ldr r3, [sp, #104]
cmp r2, r3
bge .L91
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #1
str r2, [r3, #-88]
.L91:
ldr r2, [sp, #108]
ldr r3, [sp, #104]
cmp r2, r3
ble .L92
ldr r3, [sp, #120]
str r3, [sp]
ldr r3, [sp, #108]
str r3, [sp, #4]
ldr r3, [sp, #104]
str r3, [sp, #8]
ldr r3, [sp, #112]
str r3, [sp, #12]
ldr r3, [sp, #124]
str r3, [sp, #16]
movw r0, #:lower16:.LC1
movt r0, #:upper16:.LC1
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L101
mov r3, #796
bl printk
.L92:
ldr r2, [sp, #124]
ldr r3, [sp, #108]
add r3, r2, r3
str r3, [sp, #124]
.L90:
ldr r3, [sp, #120]
sub r3, r3, #1
str r3, [sp, #120]
.L88:
ldr r3, [sp, #120]
cmp r3, #0
bge .L93
mov r3, #1
str r3, [sp, #116]
mov r3, #0
str r3, [sp, #120]
b .L94
.L96:
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
ldr r3, [r3, #-88]
cmp r3, #0
bne .L95
mov r3, #0
str r3, [sp, #116]
.L95:
ldr r3, [sp, #120]
add r3, r3, #1
str r3, [sp, #120]
.L94:
ldr r3, [sp, #120]
cmp r3, #15
ble .L96
ldr r3, [sp, #116]
cmp r3, #1
bne .L97
b .L98
.L97:
ldr r2, [sp, #124]
ldr r3, [sp, #112]
cmp r2, r3
blt .L84
.L98:
ldr r2, [sp, #124]
ldr r3, [sp, #112]
cmp r2, r3
ble .L99
ldr r3, [sp, #124]
str r3, [sp]
ldr r3, [sp, #112]
str r3, [sp, #4]
movw r0, #:lower16:.LC4
movt r0, #:upper16:.LC4
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L101
movw r3, #813
bl printk
.L99:
ldr r3, [sp, #124]
mov r0, r3
add sp, sp, #132
@ sp needed
ldr pc, [sp], #4
.L102:
.align 2
.L101:
.word .LC3+60
.fnend
.size qdma_receive_packets_int2, .-qdma_receive_packets_int2
.align 2
.global qdma_receive_packets_int3
.type qdma_receive_packets_int3, %function
qdma_receive_packets_int3:
.fnstart
@ args = 0, pretend = 0, frame = 104
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #132
sub sp, sp, #132
str r0, [sp, #28]
mov r3, #0
str r3, [sp, #124]
mov r3, #0
str r3, [sp, #108]
mov r3, #0
str r3, [sp, #104]
mov r3, #0
str r3, [sp, #120]
mov r3, #0
str r3, [sp, #116]
ldr r3, [sp, #28]
ldr r3, [r3, #8]
str r3, [sp, #112]
ldr r3, [sp, #112]
cmp r3, #0
bne .L104
mov r3, #0
str r3, [sp, #120]
b .L105
.L107:
mov r2, #1
ldr r3, [sp, #120]
mov r3, r2, asl r3
mov r2, r3
movw r3, #:lower16:int3_rx_ring
movt r3, #:upper16:int3_rx_ring
ldr r3, [r3]
and r3, r3, r2
cmp r3, #0
beq .L106
movw r3, #:lower16:CONFIG_RX_DSCP_NUM
movt r3, #:upper16:CONFIG_RX_DSCP_NUM
ldr r2, [sp, #120]
ldr r2, [r3, r2, asl #2]
ldr r3, [sp, #112]
add r3, r2, r3
str r3, [sp, #112]
.L106:
ldr r3, [sp, #120]
add r3, r3, #1
str r3, [sp, #120]
.L105:
ldr r3, [sp, #120]
cmp r3, #15
ble .L107
.L104:
mov r3, #15
str r3, [sp, #120]
b .L108
.L113:
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #0
str r2, [r3, #-88]
mov r2, #1
ldr r3, [sp, #120]
mov r3, r2, asl r3
mov r2, r3
movw r3, #:lower16:int3_rx_ring
movt r3, #:upper16:int3_rx_ring
ldr r3, [r3]
and r3, r3, r2
cmp r3, #0
bne .L109
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #1
str r2, [r3, #-88]
b .L110
.L109:
ldr r2, [sp, #112]
ldr r3, [sp, #124]
rsb r3, r3, r2
str r3, [sp, #36]
movw r3, #:lower16:RX_DSCP_BUDGET
movt r3, #:upper16:RX_DSCP_BUDGET
ldr r2, [sp, #120]
ldr r3, [r3, r2, asl #2]
str r3, [sp, #32]
ldr r2, [sp, #32]
ldr r3, [sp, #36]
cmp r2, r3
movlt r3, r2
movge r3, r3
str r3, [sp, #104]
ldr r3, [sp, #104]
cmp r3, #0
beq .L110
ldr r3, [sp, #104]
mov r0, r3
ldr r1, [sp, #120]
bl qdma_bm_receive_packets_int3
str r0, [sp, #108]
ldr r2, [sp, #108]
ldr r3, [sp, #104]
cmp r2, r3
bge .L111
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #1
str r2, [r3, #-88]
.L111:
ldr r2, [sp, #108]
ldr r3, [sp, #104]
cmp r2, r3
ble .L112
ldr r3, [sp, #120]
str r3, [sp]
ldr r3, [sp, #108]
str r3, [sp, #4]
ldr r3, [sp, #104]
str r3, [sp, #8]
ldr r3, [sp, #112]
str r3, [sp, #12]
ldr r3, [sp, #124]
str r3, [sp, #16]
movw r0, #:lower16:.LC1
movt r0, #:upper16:.LC1
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L121
movw r3, #861
bl printk
.L112:
ldr r2, [sp, #124]
ldr r3, [sp, #108]
add r3, r2, r3
str r3, [sp, #124]
.L110:
ldr r3, [sp, #120]
sub r3, r3, #1
str r3, [sp, #120]
.L108:
ldr r3, [sp, #120]
cmp r3, #0
bge .L113
mov r3, #1
str r3, [sp, #116]
mov r3, #0
str r3, [sp, #120]
b .L114
.L116:
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
ldr r3, [r3, #-88]
cmp r3, #0
bne .L115
mov r3, #0
str r3, [sp, #116]
.L115:
ldr r3, [sp, #120]
add r3, r3, #1
str r3, [sp, #120]
.L114:
ldr r3, [sp, #120]
cmp r3, #15
ble .L116
ldr r3, [sp, #116]
cmp r3, #1
bne .L117
b .L118
.L117:
ldr r2, [sp, #124]
ldr r3, [sp, #112]
cmp r2, r3
blt .L104
.L118:
ldr r2, [sp, #124]
ldr r3, [sp, #112]
cmp r2, r3
ble .L119
ldr r3, [sp, #124]
str r3, [sp]
ldr r3, [sp, #112]
str r3, [sp, #4]
movw r0, #:lower16:.LC4
movt r0, #:upper16:.LC4
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L121
movw r3, #878
bl printk
.L119:
ldr r3, [sp, #124]
mov r0, r3
add sp, sp, #132
@ sp needed
ldr pc, [sp], #4
.L122:
.align 2
.L121:
.word .LC3+60
.fnend
.size qdma_receive_packets_int3, .-qdma_receive_packets_int3
.align 2
.global qdma_receive_packets_int4
.type qdma_receive_packets_int4, %function
qdma_receive_packets_int4:
.fnstart
@ args = 0, pretend = 0, frame = 104
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #132
sub sp, sp, #132
str r0, [sp, #28]
mov r3, #0
str r3, [sp, #124]
mov r3, #0
str r3, [sp, #108]
mov r3, #0
str r3, [sp, #104]
mov r3, #0
str r3, [sp, #120]
mov r3, #0
str r3, [sp, #116]
ldr r3, [sp, #28]
ldr r3, [r3, #8]
str r3, [sp, #112]
ldr r3, [sp, #112]
cmp r3, #0
bne .L124
mov r3, #0
str r3, [sp, #120]
b .L125
.L127:
mov r2, #1
ldr r3, [sp, #120]
mov r3, r2, asl r3
mov r2, r3
movw r3, #:lower16:int4_rx_ring
movt r3, #:upper16:int4_rx_ring
ldr r3, [r3]
and r3, r3, r2
cmp r3, #0
beq .L126
movw r3, #:lower16:CONFIG_RX_DSCP_NUM
movt r3, #:upper16:CONFIG_RX_DSCP_NUM
ldr r2, [sp, #120]
ldr r2, [r3, r2, asl #2]
ldr r3, [sp, #112]
add r3, r2, r3
str r3, [sp, #112]
.L126:
ldr r3, [sp, #120]
add r3, r3, #1
str r3, [sp, #120]
.L125:
ldr r3, [sp, #120]
cmp r3, #15
ble .L127
.L124:
mov r3, #15
str r3, [sp, #120]
b .L128
.L133:
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #0
str r2, [r3, #-88]
mov r2, #1
ldr r3, [sp, #120]
mov r3, r2, asl r3
mov r2, r3
movw r3, #:lower16:int4_rx_ring
movt r3, #:upper16:int4_rx_ring
ldr r3, [r3]
and r3, r3, r2
cmp r3, #0
bne .L129
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #1
str r2, [r3, #-88]
b .L130
.L129:
ldr r2, [sp, #112]
ldr r3, [sp, #124]
rsb r3, r3, r2
str r3, [sp, #36]
movw r3, #:lower16:RX_DSCP_BUDGET
movt r3, #:upper16:RX_DSCP_BUDGET
ldr r2, [sp, #120]
ldr r3, [r3, r2, asl #2]
str r3, [sp, #32]
ldr r2, [sp, #32]
ldr r3, [sp, #36]
cmp r2, r3
movlt r3, r2
movge r3, r3
str r3, [sp, #104]
ldr r3, [sp, #104]
cmp r3, #0
beq .L130
ldr r3, [sp, #104]
mov r0, r3
ldr r1, [sp, #120]
bl qdma_bm_receive_packets_int4
str r0, [sp, #108]
ldr r2, [sp, #108]
ldr r3, [sp, #104]
cmp r2, r3
bge .L131
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
mov r2, #1
str r2, [r3, #-88]
.L131:
ldr r2, [sp, #108]
ldr r3, [sp, #104]
cmp r2, r3
ble .L132
ldr r3, [sp, #120]
str r3, [sp]
ldr r3, [sp, #108]
str r3, [sp, #4]
ldr r3, [sp, #104]
str r3, [sp, #8]
ldr r3, [sp, #112]
str r3, [sp, #12]
ldr r3, [sp, #124]
str r3, [sp, #16]
movw r0, #:lower16:.LC1
movt r0, #:upper16:.LC1
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L141
movw r3, #926
bl printk
.L132:
ldr r2, [sp, #124]
ldr r3, [sp, #108]
add r3, r2, r3
str r3, [sp, #124]
.L130:
ldr r3, [sp, #120]
sub r3, r3, #1
str r3, [sp, #120]
.L128:
ldr r3, [sp, #120]
cmp r3, #0
bge .L133
mov r3, #1
str r3, [sp, #116]
mov r3, #0
str r3, [sp, #120]
b .L134
.L136:
ldr r3, [sp, #120]
mov r3, r3, asl #2
add r2, sp, #128
add r3, r2, r3
ldr r3, [r3, #-88]
cmp r3, #0
bne .L135
mov r3, #0
str r3, [sp, #116]
.L135:
ldr r3, [sp, #120]
add r3, r3, #1
str r3, [sp, #120]
.L134:
ldr r3, [sp, #120]
cmp r3, #15
ble .L136
ldr r3, [sp, #116]
cmp r3, #1
bne .L137
b .L138
.L137:
ldr r2, [sp, #124]
ldr r3, [sp, #112]
cmp r2, r3
blt .L124
.L138:
ldr r2, [sp, #124]
ldr r3, [sp, #112]
cmp r2, r3
ble .L139
ldr r3, [sp, #124]
str r3, [sp]
ldr r3, [sp, #112]
str r3, [sp, #4]
movw r0, #:lower16:.LC4
movt r0, #:upper16:.LC4
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L141
movw r3, #943
bl printk
.L139:
ldr r3, [sp, #124]
mov r0, r3
add sp, sp, #132
@ sp needed
ldr pc, [sp], #4
.L142:
.align 2
.L141:
.word .LC3+60
.fnend
.size qdma_receive_packets_int4, .-qdma_receive_packets_int4
.section .rodata.str1.4
.align 2
.LC5:
.ascii "%s: %s [%d]: The input arguments are wrong, skb is "
.ascii "NULL\000"
.align 2
.LC6:
.ascii "catch a packet from normal path, ifcTestFlag:%d, dr"
.ascii "opcount:0x%08x\012\000"
.align 2
.LC7:
.ascii "%s: %s [%d]: this is duplicate packet in keepalive "
.ascii "new header mode, just drop it \012\000"
.text
.align 2
.global qdma_transmit_packet
.type qdma_transmit_packet, %function
qdma_transmit_packet:
.fnstart
@ args = 0, pretend = 0, frame = 168
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #172
sub sp, sp, #172
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #160]
ldr r3, [sp, #4]
ldr r3, [r3, #12]
str r3, [sp, #64]
ldr r3, [sp, #4]
ldr r3, [r3, #16]
str r3, [sp, #60]
ldr r3, [sp, #4]
ldr r3, [r3, #20]
str r3, [sp, #156]
mov r3, #0
str r3, [sp, #164]
mov r3, #0
str r3, [sp, #152]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #148]
add r3, sp, #52
str r3, [sp, #144]
mov r3, #0
str r3, [sp, #140]
mov r3, #0
str r3, [sp, #136]
mov r3, #0
str r3, [sp, #132]
mov r3, #0
str r3, [sp, #128]
ldr r3, [sp, #144]
add r2, sp, #64
str r2, [r3]
ldr r3, [sp, #144]
add r2, sp, #60
str r2, [r3, #4]
ldr r3, [sp, #160]
cmp r3, #0
bne .L144
movw r0, #:lower16:.LC5
movt r0, #:upper16:.LC5
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L176
movw r3, #998
bl printk
mvn r3, #13
b .L174
.L144:
movw r3, #:lower16:ifcTestFlag
movt r3, #:upper16:ifcTestFlag
ldr r3, [r3]
cmp r3, #1
bne .L146
ldr r3, [sp, #160]
ldr r2, [r3, #136]
movw r3, #48879
movt r3, 57005
cmp r2, r3
beq .L146
movw r3, #:lower16:ifcTestFlag
movt r3, #:upper16:ifcTestFlag
ldr r2, [r3]
ldr r3, [sp, #160]
ldr r3, [r3, #136]
movw r0, #:lower16:.LC6
movt r0, #:upper16:.LC6
mov r1, r2
mov r2, r3
bl printk
mvn r3, #13
b .L174
.L146:
ldr r3, [sp, #160]
mov r2, #0
str r2, [r3, #136]
movw r3, #:lower16:fe_pse_reset_flag
movt r3, #:upper16:fe_pse_reset_flag
str r3, [sp, #124]
add r3, sp, #12
str r3, [sp, #120]
mov r3, #4
str r3, [sp, #116]
ldr r3, [sp, #116]
sub r3, r3, #1
cmp r3, #7
ldrls pc, [pc, r3, asl #2]
b .L147
.L149:
.word .L148
.word .L150
.word .L147
.word .L151
.word .L147
.word .L147
.word .L147
.word .L152
.L148:
ldr r3, [sp, #124]
ldrb r3, [r3]
uxtb r2, r3
ldr r3, [sp, #120]
strb r2, [r3]
b .L175
.L150:
ldr r3, [sp, #124]
ldrh r3, [r3] @ movhi
uxth r2, r3
ldr r3, [sp, #120]
strh r2, [r3] @ movhi
b .L175
.L151:
ldr r3, [sp, #124]
ldr r2, [r3]
ldr r3, [sp, #120]
str r2, [r3]
b .L175
.L152:
ldr r3, [sp, #124]
ldrd r2, [r3]
ldr r1, [sp, #120]
strd r2, [r1]
b .L175
.L147:
ldr r3, [sp, #116]
ldr r1, [sp, #120]
ldr r2, [sp, #124]
mov r0, r1
mov r1, r2
mov r2, r3
bl memcpy
.L175:
ldr r3, [sp, #12]
cmp r3, #0
beq .L154
mvn r3, #13
b .L174
.L154:
ldr r3, [sp, #156]
cmp r3, #0
bne .L155
ldr r3, [sp, #144]
ldr r2, [r3]
ldrb r3, [r2]
bfc r3, #0, #3
strb r3, [r2]
b .L156
.L155:
ldr r3, [sp, #156]
ldrb r3, [r3, #3] @ zero_extendqisi2
bic r3, r3, #127
uxtb r3, r3
cmp r3, #0
beq .L157
ldr r3, [sp, #156]
ldrb r3, [r3, #3] @ zero_extendqisi2
and r3, r3, #8
uxtb r3, r3
cmp r3, #0
bne .L157
ldr r3, [sp, #144]
ldr r2, [r3]
ldr r3, [sp, #156]
ldrb r3, [r3, #2]
ubfx r3, r3, #3, #4
uxtb r3, r3
and r3, r3, #7
uxtb r1, r3
ldrb r3, [r2]
bfi r3, r1, #0, #3
strb r3, [r2]
b .L156
.L157:
ldr r3, [sp, #160]
ldrb r3, [r3, #295] @ zero_extendqisi2
and r3, r3, #1
cmp r3, #0
beq .L158
ldr r3, [sp, #144]
ldr r3, [r3]
ldrb r3, [r3]
ubfx r3, r3, #3, #5
uxtb r3, r3
and r3, r3, #1
cmp r3, #0
beq .L159
mov r3, #1
str r3, [sp, #164]
b .L161
.L159:
mov r3, #0
str r3, [sp, #164]
b .L161
.L158:
mov r3, #0
str r3, [sp, #164]
.L161:
movw r3, #:lower16:TCSUPPORT_FWC_QOS_VAL
movt r3, #:upper16:TCSUPPORT_FWC_QOS_VAL
ldr r3, [r3]
cmp r3, #0
beq .L162
ldr r3, [sp, #160]
str r3, [sp, #112]
mov r3, #0
str r3, [sp, #108]
mov r3, #0
str r3, [sp, #104]
mov r3, #0
strb r3, [sp, #103]
ldr r3, [sp, #112]
ldr r3, [r3, #132]
and r3, r3, #65536
cmp r3, #0
beq .L163
ldr r3, [sp, #112]
ldr r3, [r3, #132]
mov r3, r3, lsr #11
uxtb r3, r3
and r3, r3, #7
strb r3, [sp, #103]
b .L164
.L163:
ldr r3, [sp, #112]
ldr r3, [r3, #484]
add r3, r3, #12
str r3, [sp, #104]
ldr r3, [sp, #104]
ldrh r3, [r3]
cmp r3, #129
bne .L164
ldr r3, [sp, #104]
add r3, r3, #2
str r3, [sp, #108]
ldr r3, [sp, #108]
ldrh r3, [r3]
mov r3, r3, lsr #13
uxth r3, r3
uxtb r3, r3
and r3, r3, #7
strb r3, [sp, #103]
.L164:
ldrb r3, [sp, #103] @ zero_extendqisi2
str r3, [sp, #152]
ldr r3, [sp, #144]
ldr r2, [r3]
ldr r3, [sp, #152]
uxtb r3, r3
and r3, r3, #7
uxtb r1, r3
ldrb r3, [r2]
bfi r3, r1, #0, #3
strb r3, [r2]
b .L156
.L162:
ldr r3, [sp, #144]
ldr r2, [r3]
ldrb r3, [r2]
bfc r3, #0, #3
strb r3, [r2]
.L156:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #536] @ zero_extendqisi2
and r3, r3, #1
uxtb r3, r3
cmp r3, #0
beq .L166
ldr r3, [sp, #148]
add r3, r3, #92
mov r0, r3
bl get_frame_engine_data
mov r2, r0
mov r3, #0
movt r3, 4095
and r3, r3, r2
mov r2, r3, asr #16
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #537] @ zero_extendqisi2
cmp r2, r3
blt .L166
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #537] @ zero_extendqisi2
mov r3, r3, asl #2
mov r0, r3
bl qdma_bm_transmit_done
.L166:
ldr r3, [sp, #144]
ldr r3, [r3]
ldrb r3, [r3]
ubfx r3, r3, #3, #5
uxtb r3, r3
str r3, [sp, #140]
ldr r3, [sp, #144]
ldr r3, [r3]
ldrb r3, [r3]
ubfx r3, r3, #0, #3
uxtb r3, r3
str r3, [sp, #136]
ldr r3, [sp, #156]
cmp r3, #0
beq .L167
movw r3, #:lower16:ra_sw_nat_hook_tx
movt r3, #:upper16:ra_sw_nat_hook_tx
ldr r3, [r3]
cmp r3, #0
beq .L167
ldr r3, [sp, #144]
ldr r3, [r3]
ldrb r3, [r3]
ubfx r3, r3, #0, #3
uxtb r3, r3
and r3, r3, #15
uxtb r1, r3
ldr r2, [sp, #156]
ldrb r3, [r2, #2]
bfi r3, r1, #3, #4
strb r3, [r2, #2]
movw r3, #:lower16:ra_sw_nat_hook_tx
movt r3, #:upper16:ra_sw_nat_hook_tx
ldr r3, [r3]
ldr r2, [sp, #156]
ldrh r2, [r2, #6]
ldr r0, [sp, #160]
ldr r1, [sp, #156]
blx r3
mov r3, r0
cmp r3, #0
bne .L167
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #541] @ zero_extendqisi2
cmp r3, #0
beq .L168
movw r0, #:lower16:.LC7
movt r0, #:upper16:.LC7
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L176
movw r3, #1194
bl printk
.L168:
mvn r3, #52
b .L174
.L167:
ldr r3, [sp, #160]
ldrb r3, [r3, #295] @ zero_extendqisi2
and r3, r3, #1
cmp r3, #0
bne .L169
ldr r3, [sp, #160]
str r3, [sp, #96]
ldr r3, [sp, #96]
ldr r3, [r3, #476]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #0
bne .L169
ldr r3, [sp, #160]
str r3, [sp, #92]
ldr r3, [sp, #92]
ldr r3, [r3, #476]
ldrh r3, [r3, #2]
cmp r3, #0
beq .L172
.L169:
ldr r1, [sp, #64]
ldr r2, [sp, #60]
ldr r3, [sp, #164]
mov r0, #1
str r0, [sp, #88]
ldr r0, [sp, #160]
str r0, [sp, #84]
str r1, [sp, #80]
str r2, [sp, #76]
str r3, [sp, #72]
add r3, sp, #36
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r3, #0
str r3, [sp, #68]
ldr r3, [sp, #88]
str r3, [sp, #16]
ldr r3, [sp, #80]
str r3, [sp, #24]
ldr r3, [sp, #76]
str r3, [sp, #28]
ldr r3, [sp, #84]
str r3, [sp, #20]
ldr r3, [sp, #72]
str r3, [sp, #32]
mov r3, #5
str r3, [sp, #36]
add r3, sp, #16
str r3, [sp, #44]
add r3, sp, #36
mov r0, #40
mov r1, #0
mov r2, r3
bl __ECNT_HOOK
str r0, [sp, #68]
ldr r3, [sp, #68]
b .L174
.L172:
ldr r2, [sp, #64]
ldr r3, [sp, #60]
ldr r0, [sp, #160]
ldr r1, [sp, #164]
bl qdma_bm_transmit_packet
mov r3, r0
.L174:
mov r0, r3
add sp, sp, #172
@ sp needed
ldr pc, [sp], #4
.L177:
.align 2
.L176:
.word .LC3+60
.fnend
.size qdma_transmit_packet, .-qdma_transmit_packet
.align 2
.global qdma_set_tx_qos_weight
.type qdma_set_tx_qos_weight, %function
qdma_set_tx_qos_weight:
.fnstart
@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #44
sub sp, sp, #44
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #36]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #32]
ldr r3, [sp, #4]
ldr r3, [r3, #12]
str r3, [sp, #28]
ldr r3, [sp, #32]
cmp r3, #0
bne .L179
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #32
ldr r2, [sp, #12]
bic r2, r2, #8
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L180
.L179:
ldr r3, [sp, #32]
cmp r3, #1
bne .L181
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #32
ldr r2, [sp, #24]
orr r2, r2, #8
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #28]
cmp r3, #0
bne .L182
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #32
ldr r2, [sp, #16]
bic r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L180
.L182:
ldr r3, [sp, #28]
cmp r3, #1
bne .L183
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #32
ldr r2, [sp, #20]
orr r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L180
.L183:
mvn r3, #21
b .L184
.L181:
mvn r3, #21
b .L184
.L180:
mov r3, #0
.L184:
mov r0, r3
add sp, sp, #44
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_tx_qos_weight, .-qdma_set_tx_qos_weight
.align 2
.global qdma_get_tx_qos_weight
.type qdma_get_tx_qos_weight, %function
qdma_get_tx_qos_weight:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #8
cmp r3, #0
beq .L186
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
b .L187
.L186:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
.L187:
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
cmp r3, #0
bge .L188
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #12]
b .L189
.L188:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #12]
.L189:
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_qos_weight, .-qdma_get_tx_qos_weight
.section .rodata
.align 2
.LC0:
.word 8
.word 0
.word 7
.word 6
.word 5
.word 4
.word 3
.word 2
.text
.align 2
.global qdma_set_tx_qos
.type qdma_set_tx_qos, %function
qdma_set_tx_qos:
.fnstart
@ args = 0, pretend = 0, frame = 224
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #228
sub sp, sp, #228
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #216]
mov r3, #0
str r3, [sp, #212]
mov r3, #0
str r3, [sp, #220]
mov r3, #0
strb r3, [sp, #211]
movw r3, #:lower16:.LC0
movt r3, #:upper16:.LC0
add ip, sp, #12
mov lr, r3
ldmia lr!, {r0, r1, r2, r3}
stmia ip!, {r0, r1, r2, r3}
ldmia lr, {r0, r1, r2, r3}
stmia ip, {r0, r1, r2, r3}
ldr r3, [sp, #4]
ldr r3, [r3, #16]
str r3, [sp, #204]
ldr r3, [sp, #204]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L192
mvn r3, #21
b .L203
.L192:
ldr r3, [sp, #204]
ldr r3, [r3, #4]
cmp r3, #7
bls .L194
mvn r3, #21
b .L203
.L194:
ldr r3, [sp, #204]
ldr r3, [r3, #4]
strb r3, [sp, #211]
mov r3, #0
str r3, [sp, #220]
b .L195
.L199:
ldrb r3, [sp, #211] @ zero_extendqisi2
mov r3, r3, asl #2
add r2, sp, #224
add r3, r2, r3
ldr r2, [r3, #-212]
ldr r3, [sp, #220]
cmp r2, r3
bgt .L196
ldr r3, [sp, #204]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #220]
uxtb r3, r3
ldr r0, [sp, #216]
mov r1, r2
mov r2, r3
bl qdmaSetQueueOpen_sw
b .L197
.L196:
ldr r2, [sp, #204]
ldr r3, [sp, #220]
add r3, r3, #4
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
cmp r3, #0
bne .L198
ldr r3, [sp, #204]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #220]
uxtb r3, r3
ldr r0, [sp, #216]
mov r1, r2
mov r2, r3
bl qdmaSetQueueClose_sw
b .L197
.L198:
ldr r3, [sp, #204]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #220]
uxtb r3, r3
ldr r0, [sp, #216]
mov r1, r2
mov r2, r3
bl qdmaSetQueueOpen_sw
.L197:
ldr r3, [sp, #220]
add r3, r3, #1
str r3, [sp, #220]
.L195:
ldr r3, [sp, #220]
cmp r3, #7
ble .L199
mov r3, #0
str r3, [sp, #220]
b .L200
.L202:
ldr r2, [sp, #204]
ldr r3, [sp, #220]
add r3, r3, #4
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
cmp r3, #0
bne .L201
ldr r2, [sp, #204]
ldr r3, [sp, #220]
add r3, r3, #4
mov r3, r3, asl #1
add r3, r2, r3
mov r2, #1
strh r2, [r3] @ movhi
.L201:
ldr r2, [sp, #204]
ldr r3, [sp, #220]
add r3, r3, #4
mov r3, r3, asl #1
add r3, r2, r3
ldrh r2, [r3]
ldr r3, [sp, #220]
mov r3, r3, asl #1
add r1, sp, #224
add r3, r1, r3
sub r3, r3, #36
strh r2, [r3] @ movhi
ldr r3, [sp, #220]
add r3, r3, #1
str r3, [sp, #220]
.L200:
ldr r3, [sp, #220]
cmp r3, #7
ble .L202
ldr r3, [sp, #204]
ldrb r1, [r3] @ zero_extendqisi2
ldrb r2, [sp, #211] @ zero_extendqisi2
add r3, sp, #188
mov r0, r1
mov r1, r2
mov r2, r3
bl qdmaSetTxQosScheduler
mov r3, r0
.L203:
mov r0, r3
add sp, sp, #228
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_tx_qos, .-qdma_set_tx_qos
.align 2
.global qdma_get_tx_qos
.type qdma_get_tx_qos, %function
qdma_get_tx_qos:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #52
sub sp, sp, #52
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #36]
mov r3, #0
str r3, [sp, #44]
mov r3, #0
strb r3, [sp, #31]
ldr r3, [sp, #4]
ldr r3, [r3, #16]
str r3, [sp, #32]
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L205
mvn r3, #21
b .L211
.L205:
ldr r3, [sp, #32]
ldrb r1, [r3] @ zero_extendqisi2
add r2, sp, #31
add r3, sp, #14
mov r0, r1
mov r1, r2
mov r2, r3
bl qdmaGetTxQosScheduler
str r0, [sp, #36]
ldr r3, [sp, #36]
cmp r3, #0
bge .L207
mvn r3, #13
b .L211
.L207:
ldrb r3, [sp, #31] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #32]
str r2, [r3, #4]
mov r3, #0
str r3, [sp, #44]
b .L208
.L210:
ldr r3, [sp, #44]
mov r3, r3, asl #1
add r2, sp, #48
add r3, r2, r3
sub r3, r3, #34
ldrh r3, [r3]
cmp r3, #1
bne .L209
ldr r3, [sp, #32]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #44]
uxtb r3, r3
ldr r0, [sp, #40]
mov r1, r2
mov r2, r3
bl qdmaIsQueueClosed_sw
mov r3, r0
cmp r3, #0
beq .L209
ldr r3, [sp, #44]
mov r3, r3, asl #1
add r2, sp, #48
add r3, r2, r3
sub r3, r3, #34
mov r2, #0
strh r2, [r3] @ movhi
.L209:
ldr r3, [sp, #44]
mov r3, r3, asl #1
add r2, sp, #48
add r3, r2, r3
sub r3, r3, #34
ldrh r2, [r3]
ldr r1, [sp, #32]
ldr r3, [sp, #44]
add r3, r3, #4
mov r3, r3, asl #1
add r3, r1, r3
strh r2, [r3] @ movhi
ldr r3, [sp, #44]
add r3, r3, #1
str r3, [sp, #44]
.L208:
ldr r3, [sp, #44]
cmp r3, #7
ble .L210
mov r3, #0
.L211:
mov r0, r3
add sp, sp, #52
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_qos, .-qdma_get_tx_qos
.align 2
.global qdma_set_mac_limit_threshold
.type qdma_set_mac_limit_threshold, %function
qdma_set_mac_limit_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r2, [r3]
movw r3, #:lower16:channel_limit_threshold
movt r3, #:upper16:channel_limit_threshold
str r2, [r3]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r2, [r3, #4]
movw r3, #:lower16:queue_limit_threshold
movt r3, #:upper16:queue_limit_threshold
str r2, [r3]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_set_mac_limit_threshold, .-qdma_set_mac_limit_threshold
.align 2
.global qdma_get_mac_limit_threshold
.type qdma_get_mac_limit_threshold, %function
qdma_get_mac_limit_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r2, [r3, #8]
movw r3, #:lower16:channel_limit_threshold
movt r3, #:upper16:channel_limit_threshold
ldr r3, [r3]
str r3, [r2]
ldr r3, [sp, #4]
ldr r2, [r3, #8]
movw r3, #:lower16:queue_limit_threshold
movt r3, #:upper16:queue_limit_threshold
ldr r3, [r3]
str r3, [r2, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_get_mac_limit_threshold, .-qdma_get_mac_limit_threshold
.align 2
.global qdma_set_txbuf_threshold
.type qdma_set_txbuf_threshold, %function
qdma_set_txbuf_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
ldr r3, [r3]
cmp r3, #1
bne .L217
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #40
ldr r2, [sp, #16]
orr r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #28]
add r3, r3, #4288
add r3, r3, #16
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #28]
add r1, r3, #4288
add r1, r1, #16
ldr r3, [sp, #12]
bic r2, r3, #133169152
bic r2, r2, #983040
ldr r3, [sp, #24]
ldrh r3, [r3, #4]
mov r3, r3, asl #16
mov r0, r3
mov r3, #0
movt r3, 2047
and r3, r3, r0
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #28]
add r3, r3, #4288
add r3, r3, #16
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #28]
add r2, r3, #4288
add r2, r2, #16
ldr r3, [sp, #8]
bic r3, r3, #2032
bic r3, r3, #15
ldr r1, [sp, #24]
ldrh r1, [r1, #6]
ubfx r1, r1, #0, #11
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L218
.L217:
ldr r3, [sp, #24]
ldr r3, [r3]
cmp r3, #0
bne .L219
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #40
ldr r2, [sp, #20]
bic r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L218
.L219:
mvn r3, #21
b .L220
.L218:
mov r3, #0
.L220:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_txbuf_threshold, .-qdma_set_txbuf_threshold
.align 2
.global qdma_get_txbuf_threshold
.type qdma_get_txbuf_threshold, %function
qdma_get_txbuf_threshold:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #536870912
cmp r3, #0
movne r3, #1
moveq r3, #0
uxtb r3, r3
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #4288
add r3, r3, #16
mov r0, r3
bl get_frame_engine_data
mov r2, r0
mov r3, #0
movt r3, 2047
and r3, r3, r2
mov r3, r3, asr #16
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #4] @ movhi
ldr r3, [sp, #12]
add r3, r3, #4288
add r3, r3, #16
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r3, r3
ubfx r3, r3, #0, #11
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #6] @ movhi
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txbuf_threshold, .-qdma_get_txbuf_threshold
.align 2
.global qdma_set_prefetch_mode
.type qdma_set_prefetch_mode, %function
qdma_set_prefetch_mode:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_set_prefetch_mode, .-qdma_set_prefetch_mode
.align 2
.global qdma_set_pktsize_overhead_en
.type qdma_set_pktsize_overhead_en, %function
qdma_set_pktsize_overhead_en:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bne .L226
ldr r3, [sp, #20]
add r3, r3, #4096
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r2, r3, #4096
ldr r3, [sp, #12]
bic r3, r3, #268435456
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L227
.L226:
ldr r3, [sp, #20]
add r3, r3, #4096
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r2, r3, #4096
ldr r3, [sp, #8]
orr r3, r3, #268435456
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L227:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_pktsize_overhead_en, .-qdma_set_pktsize_overhead_en
.align 2
.global qdma_get_pktsize_overhead_en
.type qdma_get_pktsize_overhead_en, %function
qdma_get_pktsize_overhead_en:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4096
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #268435456
cmp r3, #0
beq .L230
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
b .L231
.L230:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
.L231:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_pktsize_overhead_en, .-qdma_get_pktsize_overhead_en
.align 2
.global qdma_set_pktsize_overhead_value
.type qdma_set_pktsize_overhead_value, %function
qdma_set_pktsize_overhead_value:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #20]
add r3, r3, #4096
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r1, r3, #4096
ldr r3, [sp, #12]
bic r2, r3, #267386880
ldr r3, [sp, #16]
mov r3, r3, asl #20
and r3, r3, #267386880
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_pktsize_overhead_value, .-qdma_set_pktsize_overhead_value
.align 2
.global qdma_get_pktsize_overhead_value
.type qdma_get_pktsize_overhead_value, %function
qdma_get_pktsize_overhead_value:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4096
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #267386880
mov r2, r3, asr #20
ldr r3, [sp, #4]
str r2, [r3, #8]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_pktsize_overhead_value, .-qdma_get_pktsize_overhead_value
.align 2
.global qdma_set_lmgr_low_threshold
.type qdma_set_lmgr_low_threshold, %function
qdma_set_lmgr_low_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r2, r3, #4096
add r2, r2, #4
ldr r3, [sp, #12]
bic r3, r3, #16320
bic r3, r3, #63
ldr r1, [sp, #16]
ubfx r1, r1, #0, #14
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_lmgr_low_threshold, .-qdma_set_lmgr_low_threshold
.align 2
.global qdma_get_lmgr_low_threshold
.type qdma_get_lmgr_low_threshold, %function
qdma_get_lmgr_low_threshold:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
ubfx r2, r3, #0, #14
ldr r3, [sp, #4]
str r2, [r3, #8]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_lmgr_low_threshold, .-qdma_get_lmgr_low_threshold
.align 2
.global qdma_get_lmgr_status
.type qdma_get_lmgr_status, %function
qdma_get_lmgr_status:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, lr}
.save {r4, lr}
.pad #16
sub sp, sp, #16
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4288
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
ubfx r3, r3, #0, #17
str r3, [sp, #8]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r2, [sp, #8]
str r2, [r3]
ldr r3, [sp, #4]
ldr r2, [r3, #8]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r1, [r3, #92]
ldr r3, [sp, #8]
rsb r3, r3, r1
str r3, [r2, #4]
ldr r3, [sp, #4]
ldr r4, [r3, #8]
ldr r3, [sp, #12]
add r3, r3, #4288
add r3, r3, #52
mov r0, r3
bl get_frame_engine_data
mov r3, r0
bic r3, r3, #-16777216
str r3, [r4, #8]
mov r3, #0
mov r0, r3
add sp, sp, #16
@ sp needed
ldmfd sp!, {r4, pc}
.fnend
.size qdma_get_lmgr_status, .-qdma_get_lmgr_status
.align 2
.global qdma_clear_cpu_counters
.type qdma_clear_cpu_counters, %function
qdma_clear_cpu_counters:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #592
str r3, [sp, #12]
mov r3, #856
str r3, [sp, #8]
ldr r3, [sp, #8]
cmp r3, #0
beq .L244
ldr r0, [sp, #12]
ldr r1, [sp, #8]
bl __memzero
.L244:
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_clear_cpu_counters, .-qdma_clear_cpu_counters
.section .rodata.str1.4
.align 2
.LC8:
.ascii "IRQ Interrupt: %u\012\000"
.align 2
.LC9:
.ascii "IRQ Queue Asynchronous: %u\012\000"
.align 2
.LC10:
.ascii "IRQ Queue Index Errors: %u\012\000"
.align 2
.LC11:
.ascii "IRQ Queue Full Interrupt: %u\012\000"
.align 2
.LC12:
.ascii "IRQ Queue NULL Number: %u\012\000"
.align 2
.LC13:
.ascii "IRQ2 Interrupt: %u\012\000"
.align 2
.LC14:
.ascii "IRQ2 Queue Asynchronous\011 \011 %u\012\000"
.align 2
.LC15:
.ascii "IRQ2 Queue Index Errors: %u\012\000"
.align 2
.LC16:
.ascii "IRQ2 Queue Full Interrupt: %u\012\000"
.align 2
.LC17:
.ascii "IRQ2 Queue NULL Number: %u\012\000"
.align 2
.LC18:
.ascii "RX Allocate Fail Errors: %u\012\000"
.align 2
.LC19:
.ascii "No Link DSCP Interrupt: %u\012\000"
.align 2
.LC20:
.ascii "Low Link DSCP Interrupt: %u\012\000"
.align 2
.LC21:
.ascii "Tx Packets Free Counts: %u\012\000"
.align 2
.LC22:
.ascii "Tx Packets Free Errs: %u\012\000"
.align 2
.LC23:
.ascii "Tx Mac Resource Drops: %u\012\000"
.align 2
.LC24:
.ascii "API Index Errors:\011\011\011\011 %u\012\000"
.align 2
.LC25:
.ascii "--------------------------------------------\012\000"
.align 2
.LC26:
.ascii "Tx%d DSCP Counts: %u\012\000"
.align 2
.LC27:
.ascii "Tx%d DSCP Recycle Counts: %u\012\000"
.align 2
.LC28:
.ascii "Tx%d DSCP Content Incorrect: %u\012\000"
.align 2
.LC29:
.ascii "Tx%d Done Bit Errors: %u\012\000"
.align 2
.LC30:
.ascii "Tx%d Drop Bit Errors: %u\012\000"
.align 2
.LC31:
.ascii "No Tx%d DSCP Errors: %u\012\000"
.align 2
.LC32:
.ascii "Tx%d Chorent Interrupt: %u\012\000"
.align 2
.LC33:
.ascii "No Tx%d Buffer Interrupt: %u\012\000"
.align 2
.LC34:
.ascii "No Tx%d DSCP Interrupt: %u\012\000"
.align 2
.LC35:
.ascii "Tx%d Done Interrupt: %u\012\000"
.align 2
.LC36:
.ascii "Rx%d DSCP Counts: %u\012\000"
.align 2
.LC37:
.ascii "Rx%d DSCP Content Incorrect: %u\012\000"
.align 2
.LC38:
.ascii "Rx%d Packet Errors: %u\012\000"
.align 2
.LC39:
.ascii "No Rx%d Callback Errors: %u\012\000"
.align 2
.LC40:
.ascii "No Rx%d DSCP Errors: %u\012\000"
.align 2
.LC41:
.ascii "Rx%d Allocate Fail Drop Errors: %u\012\000"
.align 2
.LC42:
.ascii "Rx%d Chorent Interrupt: %u\012\000"
.align 2
.LC43:
.ascii "No Rx%d Buffer Interrupt: %u\012\000"
.align 2
.LC44:
.ascii "No Rx%d DSCP Interrupt: %u\012\000"
.align 2
.LC45:
.ascii "Rx%d Broadcast Interrupt: %u\012\000"
.align 2
.LC46:
.ascii "Rx%d Unknown Unicast Interrupt: %u\012\000"
.align 2
.LC47:
.ascii "Rx%d Multicast Interrupt: %u\012\000"
.align 2
.LC48:
.ascii "Rx%d Done Interrupt: %u\012\000"
.align 2
.LC49:
.ascii "CAR Queue %d tx Counts: %u, tx drop Counts: "
.ascii " %u\012\000"
.text
.align 2
.global qdma_dump_cpu_counters
.type qdma_dump_cpu_counters, %function
qdma_dump_cpu_counters:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #592]
movw r0, #:lower16:.LC8
movt r0, #:upper16:.LC8
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #596
ldrh r3, [r3]
movw r0, #:lower16:.LC9
movt r0, #:upper16:.LC9
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #596
add r3, r3, #2
ldrh r3, [r3]
movw r0, #:lower16:.LC10
movt r0, #:upper16:.LC10
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #604
ldrh r3, [r3]
movw r0, #:lower16:.LC11
movt r0, #:upper16:.LC11
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #604
add r3, r3, #2
ldrh r3, [r3]
movw r0, #:lower16:.LC12
movt r0, #:upper16:.LC12
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #608]
movw r0, #:lower16:.LC13
movt r0, #:upper16:.LC13
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #612
ldrh r3, [r3]
movw r0, #:lower16:.LC14
movt r0, #:upper16:.LC14
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #612
add r3, r3, #2
ldrh r3, [r3]
movw r0, #:lower16:.LC15
movt r0, #:upper16:.LC15
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #616
ldrh r3, [r3]
movw r0, #:lower16:.LC16
movt r0, #:upper16:.LC16
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #616
add r3, r3, #2
ldrh r3, [r3]
movw r0, #:lower16:.LC17
movt r0, #:upper16:.LC17
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #600]
movw r0, #:lower16:.LC18
movt r0, #:upper16:.LC18
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #620
ldrh r3, [r3]
movw r0, #:lower16:.LC19
movt r0, #:upper16:.LC19
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #620
add r3, r3, #2
ldrh r3, [r3]
movw r0, #:lower16:.LC20
movt r0, #:upper16:.LC20
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #624
ldrh r3, [r3]
movw r0, #:lower16:.LC21
movt r0, #:upper16:.LC21
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #624
add r3, r3, #2
ldrh r3, [r3]
movw r0, #:lower16:.LC22
movt r0, #:upper16:.LC22
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #628
ldrh r3, [r3]
movw r0, #:lower16:.LC23
movt r0, #:upper16:.LC23
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #628
add r3, r3, #2
ldrh r3, [r3]
movw r0, #:lower16:.LC24
movt r0, #:upper16:.LC24
mov r1, r3
bl printk
movw r0, #:lower16:.LC25
movt r0, #:upper16:.LC25
bl printk
mov r3, #0
str r3, [sp, #12]
b .L247
.L248:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
add r2, r2, #158
ldr r3, [r3, r2, asl #2]
movw r0, #:lower16:.LC26
movt r0, #:upper16:.LC26
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
add r2, r2, #166
ldr r3, [r3, r2, asl #2]
movw r0, #:lower16:.LC27
movt r0, #:upper16:.LC27
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #380
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC28
movt r0, #:upper16:.LC28
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #388
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC29
movt r0, #:upper16:.LC29
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #396
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC30
movt r0, #:upper16:.LC30
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #436
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC31
movt r0, #:upper16:.LC31
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #508
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC32
movt r0, #:upper16:.LC32
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #532
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC33
movt r0, #:upper16:.LC33
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #556
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC34
movt r0, #:upper16:.LC34
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #320
add r3, r3, #2
ldr r3, [r2, r3, asl #2]
movw r0, #:lower16:.LC35
movt r0, #:upper16:.LC35
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r0, #:lower16:.LC25
movt r0, #:upper16:.LC25
bl printk
ldr r3, [sp, #12]
add r3, r3, #1
str r3, [sp, #12]
.L247:
ldr r3, [sp, #12]
cmp r3, #7
ble .L248
mov r3, #0
str r3, [sp, #12]
b .L249
.L250:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
add r2, r2, #174
ldr r3, [r3, r2, asl #2]
movw r0, #:lower16:.LC36
movt r0, #:upper16:.LC36
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #404
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC37
movt r0, #:upper16:.LC37
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #420
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC38
movt r0, #:upper16:.LC38
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #444
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC39
movt r0, #:upper16:.LC39
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #460
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC40
movt r0, #:upper16:.LC40
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #476
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC41
movt r0, #:upper16:.LC41
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #492
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC42
movt r0, #:upper16:.LC42
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #516
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC43
movt r0, #:upper16:.LC43
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #540
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC44
movt r0, #:upper16:.LC44
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #564
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC45
movt r0, #:upper16:.LC45
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #580
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC46
movt r0, #:upper16:.LC46
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #596
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3]
movw r0, #:lower16:.LC47
movt r0, #:upper16:.LC47
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #304
add r3, r3, #2
ldr r3, [r2, r3, asl #2]
movw r0, #:lower16:.LC48
movt r0, #:upper16:.LC48
ldr r1, [sp, #12]
mov r2, r3
bl printk
movw r0, #:lower16:.LC25
movt r0, #:upper16:.LC25
bl printk
ldr r3, [sp, #12]
add r3, r3, #1
str r3, [sp, #12]
.L249:
ldr r3, [sp, #12]
cmp r3, #15
ble .L250
mov r3, #0
str r3, [sp, #12]
b .L251
.L252:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #344
add r3, r3, #2
ldr ip, [r2, r3, asl #2]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #352
add r3, r3, #2
ldr r3, [r2, r3, asl #2]
movw r0, #:lower16:.LC49
movt r0, #:upper16:.LC49
ldr r1, [sp, #12]
mov r2, ip
bl printk
ldr r3, [sp, #12]
add r3, r3, #1
str r3, [sp, #12]
.L251:
ldr r3, [sp, #12]
cmp r3, #7
ble .L252
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_cpu_counters, .-qdma_dump_cpu_counters
.section .rodata.str1.4
.align 2
.LC50:
.ascii "Polling\000"
.align 2
.LC51:
.ascii "Interrupt\000"
.align 2
.LC52:
.ascii "Tx Mode %s \012\000"
.align 2
.LC53:
.ascii "Napi\000"
.align 2
.LC54:
.ascii "Rx Mode %s \012\000"
.align 2
.LC55:
.ascii "SRAM\000"
.align 2
.LC56:
.ascii "DRAM\000"
.align 2
.LC57:
.ascii "Hwf Dscp Ram Mode: %s\012\000"
.align 2
.LC58:
.ascii "Hwf Payload Size: %d Byte\012\000"
.align 2
.LC59:
.ascii "gpQdmaPriv->csrBaseAddr:\011\011\011\011\011 0x%08x"
.ascii "\012\000"
.align 2
.LC60:
.ascii "gpQdmaPriv->hwFwdDscpNum:\011\011\011\011\011 %u\012"
.ascii "\000"
.align 2
.LC61:
.ascii "gpQdmaPriv->hwFwdDscpMaxNum:\011\011\011\011\011 %u"
.ascii "\012\000"
.align 2
.LC62:
.ascii "gpQdmaPriv->irqDepth:\011\011\011\011\011\011 %u\012"
.ascii "\000"
.align 2
.LC63:
.ascii "gpQdmaPriv->hwPktSize:\011\011\011\011\011\011 %u\012"
.ascii "\000"
.align 2
.LC64:
.ascii "gpQdmaPriv->dscpInfoAddr:\011\011\011\011\011 0x%08"
.ascii "x\012\000"
.align 2
.LC65:
.ascii "gpQdmaPriv->irqQueueAddr:\011\011\011\011\011 0x%08"
.ascii "x\012\000"
.align 2
.LC66:
.ascii "gpQdmaPriv->hwFwdBaseAddr:\011\011\011\011\011 0x%0"
.ascii "8x\012\000"
.align 2
.LC67:
.ascii "gpQdmaPriv->hwFwdBuffAddr:\011\011\011\011\011 0x%0"
.ascii "8x\012\000"
.align 2
.LC68:
.ascii "gpQdmaPriv->hwFwdPayloadSize:\011\011\011\011\011 %"
.ascii "u\012\012\000"
.align 2
.LC69:
.ascii "gpQdmaPriv->txDscpNum[%d]:\011\011\011\011\011 %u\012"
.ascii "\000"
.align 2
.LC70:
.ascii "gpQdmaPriv->txBaseAddr[%d]: \011\011\011\011 0x%08"
.ascii "x\012\000"
.align 2
.LC71:
.ascii "gpQdmaPriv->txHeadPtr[%d]->dscpIdx: \011\011 %d\012"
.ascii "\000"
.align 2
.LC72:
.ascii "gpQdmaPriv->txTailPtr[%d]->dscpIdx: \011\011 %d\012"
.ascii "\000"
.align 2
.LC73:
.ascii "gpQdmaPriv->txUsingPtr[%d]->dscpIdx:\011\011 %d\012"
.ascii "\012\000"
.align 2
.LC74:
.ascii "gpQdmaPriv->rxDscpNum[%d]:\011\011\011\011\011 %u\012"
.ascii "\000"
.align 2
.LC75:
.ascii "gpQdmaPriv->rxBaseAddr[%d]: \011\011\011\011 0x%08"
.ascii "x\012\000"
.align 2
.LC76:
.ascii "gpQdmaPriv->rxStartPtr[%d]->dscpIdx:\011\011 %d\012"
.ascii "\000"
.align 2
.LC77:
.ascii "gpQdmaPriv->rxEndPtr[%d]->dscpIdx:\011\011\011 %d\012"
.ascii "\000"
.align 2
.LC78:
.ascii "gpQdmaPriv->rxUsingPtr[%d]->dscpIdx:\011\011 %d\012"
.ascii "\012\000"
.align 2
.LC79:
.ascii "0x%08x: QDMA_CSR_INFO :%."
.ascii "8x\012\000"
.align 2
.LC80:
.ascii "0x%08x: QDMA_CSR_GLB_CFG :%."
.ascii "8x\012\000"
.align 2
.LC81:
.ascii "0x%08X: QDMA_CSR_TX_DSCP_BASE[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC82:
.ascii "0x%08X: QDMA_CSR_TX_BLOCKING[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC83:
.ascii "0x%08X: QDMA_CSR_TX_CPU_IDX[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC84:
.ascii "0x%08X: QDMA_CSR_TX_DMA_IDX[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC85:
.ascii "0x%08X: QDMA_CSR_RX_DSCP_BASE[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC86:
.ascii "0x%08X: QDMA_CSR_RX_RING_SIZE[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC87:
.ascii "0x%08X: QDMA_CSR_RX_CPU_IDX[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC88:
.ascii "0x%08X: QDMA_CSR_RX_DMA_IDX[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC89:
.ascii "0x%08X: QDMA_CSR_RX_DELAY_INT_CFG[%d] :%"
.ascii ".8x\012\000"
.align 2
.LC90:
.ascii "0x%08X: QDMA_CSR_HWFWD_DSCP_BASE :%."
.ascii "8x\012\000"
.align 2
.LC91:
.ascii "0x%08X: QDMA_CSR_HWFWD_BUFF_BASE :%."
.ascii "8x\012\000"
.align 2
.LC92:
.ascii "0x%08X: QDMA_CSR_HWFWD_DSCP_CFG :%."
.ascii "8x\012\000"
.align 2
.LC93:
.ascii "0x%08X: QDMA_CSR_LMGR_INIT_CFG :%."
.ascii "8x\012\000"
.align 2
.LC94:
.ascii "0x%08X: QDMA_CSR_CRX_PKT_OVH_CFG :%."
.ascii "8x\012\000"
.align 2
.LC95:
.ascii "0x%08X: QDMA_CSR_INT_STATUS1 :%"
.ascii ".8x\012\000"
.align 2
.LC96:
.ascii "0x%08X: QDMA_CSR_INT_STATUS2 :%"
.ascii ".8x\012\000"
.align 2
.LC97:
.ascii "0x%08X: QDMA_CSR_INT%d_ENABLE1 :"
.ascii "%.8x\012\000"
.align 2
.LC98:
.ascii "0x%08X: QDMA_CSR_INT%d_ENABLE2 :"
.ascii "%.8x\012\000"
.align 2
.LC99:
.ascii "0x%08X: QDMA_CSR_IRQ_BASE :%."
.ascii "8x\012\000"
.align 2
.LC100:
.ascii "0x%08X: QDMA_CSR_IRQ_CFG :%."
.ascii "8x\012\000"
.align 2
.LC101:
.ascii "0x%08X: QDMA_CSR_IRQ_CLEAR_LEN :%."
.ascii "8x\012\000"
.align 2
.LC102:
.ascii "0x%08X: QDMA_CSR_IRQ_STATUS :%."
.ascii "8x\012\000"
.align 2
.LC103:
.ascii "0x%08X: QDMA_CSR_IRQ_PTIME :%."
.ascii "8x\012\000"
.align 2
.LC104:
.ascii "0x%08X: QDMA_CSR_TXQ_DIS_CFG_CHN%d_%d "
.ascii " :%.8x\012\000"
.align 2
.LC105:
.ascii "0x%08X: QDMA_CSR_TXWRR_MODE_CFG :%."
.ascii "8x\012\000"
.align 2
.LC106:
.ascii "0x%08X: QDMA_CSR_TXWRR_WEIGHT_CFG :%."
.ascii "8x\012\000"
.align 2
.LC107:
.ascii "0x%08X: QDMA_CSR_EGRESS_RATEMETER_CFG :%."
.ascii "8x\012\000"
.align 2
.LC108:
.ascii "0x%08X: QDMA_CSR_MIN_DSCPTHR_CFG :%."
.ascii "8x\012\000"
.align 2
.LC109:
.ascii "0x%08X: QDMA_CSR_TXQ_CNGST_CFG :%."
.ascii "8x\012\000"
.align 2
.LC110:
.ascii "0x%08X: QDMA_CSR_TXQ_DYN_TOTALTHR :%."
.ascii "8x\012\000"
.align 2
.LC111:
.ascii "0x%08X: QDMA_CSR_TXQ_DYN_CHNLTHR_CFG :%."
.ascii "8x\012\000"
.align 2
.LC112:
.ascii "0x%08X: QDMA_CSR_TXQ_DYN_QUEUETHR_CFG :%."
.ascii "8x\012\000"
.align 2
.LC113:
.ascii "0x%08X: QDMA_CSR_HQOS_MODE_CFG :%."
.ascii "8x\012\000"
.align 2
.LC114:
.ascii "0x%08X: QDMA_CSR_TXQ_STATIC_THR_CFG :%."
.ascii "8x\012\000"
.align 2
.LC115:
.ascii "0x%08X: QDMA_CSR_STATIC_QUEUE_RATIO :%."
.ascii "8x\012\000"
.align 2
.LC116:
.ascii "0x%08X: QDMA_CSR_TXQ_DEI_TOTALTHR :%."
.ascii "8x\012\000"
.align 2
.LC117:
.ascii "0x%08X: QDMA_CSR_TXQ_DEI_CHNLTHR_CFG :%."
.ascii "8x\012\000"
.align 2
.LC118:
.ascii "0x%08X: QDMA_CSR_TXQ_DEI_QUEUETHR_CFG :%."
.ascii "8x\012\000"
.align 2
.LC119:
.ascii "0x%08X: QDMA_CSR_QOS_AGING_CFG :%.8x\012\000"
.align 2
.LC120:
.ascii "0x%08X: QDMA_CSR_QUEUE_AGING_EN_CFG_%d "
.ascii ":%.8x\012\000"
.align 2
.LC121:
.ascii "0x0F0: QDMA_CSR_DBG_LMGR_STATUS :%.8"
.ascii "x\012\000"
.align 2
.LC122:
.ascii "0x0F4: QDMA_CSR_DBG_LMGR_USAGE :%.8"
.ascii "x\012\000"
.align 2
.LC123:
.ascii "0x0F8: QDMA_CSR_DBG_QDMA_PROBE_LO :%.8"
.ascii "x\012\000"
.align 2
.LC124:
.ascii "0x0FC: QDMA_CSR_DBG_QDMA_PROBE_HI :%.8"
.ascii "x\012\000"
.align 2
.LC125:
.ascii "0x%03x: QDMA_CSR_PERCHNL_QOS_MODE_%02d_%02d "
.ascii " :%.8x\012\000"
.align 2
.LC126:
.ascii "0x%03x: QDMA_CSR_PERCHNL_DATARATE_%02d_%02d "
.ascii " :%.8x\012\000"
.text
.align 2
.global qdma_dump_register_value
.type qdma_dump_register_value, %function
qdma_dump_register_value:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
.pad #24
sub sp, sp, #24
str r0, [sp, #12]
mov r3, #0
str r3, [sp, #20]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #16]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #536] @ zero_extendqisi2
and r3, r3, #1
uxtb r3, r3
cmp r3, #0
beq .L255
movw r3, #:lower16:.LC50
movt r3, #:upper16:.LC50
b .L256
.L255:
movw r3, #:lower16:.LC51
movt r3, #:upper16:.LC51
.L256:
movw r0, #:lower16:.LC52
movt r0, #:upper16:.LC52
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #536] @ zero_extendqisi2
and r3, r3, #2
uxtb r3, r3
cmp r3, #0
bne .L257
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #536] @ zero_extendqisi2
and r3, r3, #4
uxtb r3, r3
cmp r3, #0
beq .L258
movw r3, #:lower16:.LC53
movt r3, #:upper16:.LC53
b .L260
.L258:
movw r3, #:lower16:.LC51
movt r3, #:upper16:.LC51
b .L260
.L257:
movw r3, #:lower16:.LC50
movt r3, #:upper16:.LC50
.L260:
movw r0, #:lower16:.LC54
movt r0, #:upper16:.LC54
mov r1, r3
bl printk
movw r3, #:lower16:qdmaDscpMode
movt r3, #:upper16:qdmaDscpMode
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #1
bne .L261
movw r3, #:lower16:.LC55
movt r3, #:upper16:.LC55
b .L262
.L261:
movw r3, #:lower16:.LC56
movt r3, #:upper16:.LC56
.L262:
movw r0, #:lower16:.LC57
movt r0, #:upper16:.LC57
mov r1, r3
bl printk
movw r3, #:lower16:qdmaPayloadMode
movt r3, #:upper16:qdmaPayloadMode
ldrb r3, [r3] @ zero_extendqisi2
mov r2, r3
movw r3, #:lower16:CONFIG_PAYLOAD_SIZE
movt r3, #:upper16:CONFIG_PAYLOAD_SIZE
ldr r3, [r3, r2, asl #2]
movw r0, #:lower16:.LC58
movt r0, #:upper16:.LC58
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
movw r0, #:lower16:.LC59
movt r0, #:upper16:.LC59
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #92]
movw r0, #:lower16:.LC60
movt r0, #:upper16:.LC60
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #96]
movw r0, #:lower16:.LC61
movt r0, #:upper16:.LC61
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrh r3, [r3, #100]
movw r0, #:lower16:.LC62
movt r0, #:upper16:.LC62
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrh r3, [r3, #104]
movw r0, #:lower16:.LC63
movt r0, #:upper16:.LC63
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #108]
movw r0, #:lower16:.LC64
movt r0, #:upper16:.LC64
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #208]
movw r0, #:lower16:.LC65
movt r0, #:upper16:.LC65
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #216]
movw r0, #:lower16:.LC66
movt r0, #:upper16:.LC66
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #220]
movw r0, #:lower16:.LC67
movt r0, #:upper16:.LC67
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #224]
movw r0, #:lower16:.LC68
movt r0, #:upper16:.LC68
mov r1, r3
bl printk
mov r3, #0
str r3, [sp, #20]
b .L263
.L270:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #20
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3, #4]
movw r0, #:lower16:.LC69
movt r0, #:upper16:.LC69
ldr r1, [sp, #20]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #20]
add r2, r2, #28
ldr r3, [r3, r2, asl #2]
movw r0, #:lower16:.LC70
movt r0, #:upper16:.LC70
ldr r1, [sp, #20]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #56
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
cmp r3, #0
beq .L264
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #56
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r3, [r3, #4]
b .L265
.L264:
mvn r3, #0
.L265:
movw r0, #:lower16:.LC71
movt r0, #:upper16:.LC71
ldr r1, [sp, #20]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #64
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
cmp r3, #0
beq .L266
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #64
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r3, [r3, #4]
b .L267
.L266:
mvn r3, #0
.L267:
movw r0, #:lower16:.LC72
movt r0, #:upper16:.LC72
ldr r1, [sp, #20]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #72
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
cmp r3, #0
beq .L268
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #72
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r3, [r3, #4]
b .L269
.L268:
mvn r3, #0
.L269:
movw r0, #:lower16:.LC73
movt r0, #:upper16:.LC73
ldr r1, [sp, #20]
mov r2, r3
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L263:
ldr r3, [sp, #20]
cmp r3, #7
ble .L270
mov r3, #0
str r3, [sp, #20]
b .L271
.L278:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #28
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3, #4]
movw r0, #:lower16:.LC74
movt r0, #:upper16:.LC74
ldr r1, [sp, #20]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #20]
add r2, r2, #36
ldr r3, [r3, r2, asl #2]
movw r0, #:lower16:.LC75
movt r0, #:upper16:.LC75
ldr r1, [sp, #20]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #80
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
cmp r3, #0
beq .L272
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #80
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r3, [r3, #4]
b .L273
.L272:
mvn r3, #0
.L273:
movw r0, #:lower16:.LC76
movt r0, #:upper16:.LC76
ldr r1, [sp, #20]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #96
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
cmp r3, #0
beq .L274
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #96
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r3, [r3, #4]
b .L275
.L274:
mvn r3, #0
.L275:
movw r0, #:lower16:.LC77
movt r0, #:upper16:.LC77
ldr r1, [sp, #20]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #112
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
cmp r3, #0
beq .L276
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #20]
add r3, r3, #112
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r3, [r3, #4]
b .L277
.L276:
mvn r3, #0
.L277:
movw r0, #:lower16:.LC78
movt r0, #:upper16:.LC78
ldr r1, [sp, #20]
mov r2, r3
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L271:
ldr r3, [sp, #20]
cmp r3, #15
ble .L278
ldr r0, [sp, #16]
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC79
movt r0, #:upper16:.LC79
ldr r1, [sp, #16]
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4
ldr r3, [sp, #16]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC80
movt r0, #:upper16:.LC80
mov r1, r4
mov r2, r3
bl printk
mov r3, #0
str r3, [sp, #20]
b .L279
.L280:
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #256
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #256
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC81
movt r0, #:upper16:.LC81
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #260
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC82
movt r0, #:upper16:.LC82
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #264
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #264
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC83
movt r0, #:upper16:.LC83
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #268
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #268
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC84
movt r0, #:upper16:.LC84
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L279:
ldr r3, [sp, #20]
cmp r3, #7
ble .L280
mov r3, #0
str r3, [sp, #20]
b .L281
.L282:
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #512
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #512
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC85
movt r0, #:upper16:.LC85
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #516
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #516
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC86
movt r0, #:upper16:.LC86
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #520
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #520
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC87
movt r0, #:upper16:.LC87
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #524
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #524
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC88
movt r0, #:upper16:.LC88
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #528
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #528
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC89
movt r0, #:upper16:.LC89
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L281:
ldr r3, [sp, #20]
cmp r3, #15
ble .L282
ldr r3, [sp, #16]
add r4, r3, #16
ldr r3, [sp, #16]
add r3, r3, #16
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC90
movt r0, #:upper16:.LC90
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #20
ldr r3, [sp, #16]
add r3, r3, #20
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC91
movt r0, #:upper16:.LC91
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #24
ldr r3, [sp, #16]
add r3, r3, #24
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC92
movt r0, #:upper16:.LC92
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4096
ldr r3, [sp, #16]
add r3, r3, #4096
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC93
movt r0, #:upper16:.LC93
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #140
ldr r3, [sp, #16]
add r3, r3, #140
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC94
movt r0, #:upper16:.LC94
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #32
ldr r3, [sp, #16]
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC95
movt r0, #:upper16:.LC95
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #36
ldr r3, [sp, #16]
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC96
movt r0, #:upper16:.LC96
mov r1, r4
mov r2, r3
bl printk
mov r3, #1
str r3, [sp, #20]
b .L283
.L284:
ldr r3, [sp, #20]
sub r3, r3, #1
mov r3, r3, asl #3
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #40
ldr r3, [sp, #20]
sub r3, r3, #1
mov r3, r3, asl #3
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC97
movt r0, #:upper16:.LC97
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
sub r3, r3, #1
mov r3, r3, asl #3
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #44
ldr r3, [sp, #20]
sub r3, r3, #1
mov r3, r3, asl #3
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC98
movt r0, #:upper16:.LC98
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L283:
ldr r3, [sp, #20]
cmp r3, #4
ble .L284
ldr r3, [sp, #16]
add r4, r3, #80
ldr r3, [sp, #16]
add r3, r3, #80
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC99
movt r0, #:upper16:.LC99
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #84
ldr r3, [sp, #16]
add r3, r3, #84
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC100
movt r0, #:upper16:.LC100
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #88
ldr r3, [sp, #16]
add r3, r3, #88
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC101
movt r0, #:upper16:.LC101
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #92
ldr r3, [sp, #16]
add r3, r3, #92
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC102
movt r0, #:upper16:.LC102
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #96
ldr r3, [sp, #16]
add r3, r3, #96
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC103
movt r0, #:upper16:.LC103
mov r1, r4
mov r2, r3
bl printk
mov r3, #0
str r3, [sp, #20]
b .L285
.L286:
ldr r3, [sp, #20]
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r1, r3, #160
ldr r3, [sp, #20]
mov r3, r3, asl #2
add lr, r3, #3
ldr r3, [sp, #20]
mov ip, r3, asl #2
movw r3, #:lower16:TXQ_DIS_CFG_VALUE
movt r3, #:upper16:TXQ_DIS_CFG_VALUE
ldr r2, [sp, #20]
ldr r3, [r3, r2, asl #2]
str r3, [sp]
movw r0, #:lower16:.LC104
movt r0, #:upper16:.LC104
mov r2, lr
mov r3, ip
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L285:
ldr r3, [sp, #20]
cmp r3, #7
ble .L286
ldr r3, [sp, #16]
add r4, r3, #4096
add r4, r4, #32
ldr r3, [sp, #16]
add r3, r3, #4096
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC105
movt r0, #:upper16:.LC105
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4096
add r4, r4, #36
ldr r3, [sp, #16]
add r3, r3, #4096
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC106
movt r0, #:upper16:.LC106
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4096
add r4, r4, #12
ldr r3, [sp, #16]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC107
movt r0, #:upper16:.LC107
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4096
add r4, r4, #8
ldr r3, [sp, #16]
add r3, r3, #4096
add r3, r3, #8
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC108
movt r0, #:upper16:.LC108
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4224
add r4, r4, #32
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC109
movt r0, #:upper16:.LC109
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4224
add r4, r4, #36
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC110
movt r0, #:upper16:.LC110
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4224
add r4, r4, #40
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC111
movt r0, #:upper16:.LC111
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4224
add r4, r4, #44
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC112
movt r0, #:upper16:.LC112
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #144
ldr r3, [sp, #16]
add r3, r3, #144
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC113
movt r0, #:upper16:.LC113
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4224
add r4, r4, #48
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC114
movt r0, #:upper16:.LC114
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4224
add r4, r4, #52
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #52
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC115
movt r0, #:upper16:.LC115
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4288
add r4, r4, #20
ldr r3, [sp, #16]
add r3, r3, #4288
add r3, r3, #20
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC116
movt r0, #:upper16:.LC116
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4288
add r4, r4, #24
ldr r3, [sp, #16]
add r3, r3, #4288
add r3, r3, #24
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC117
movt r0, #:upper16:.LC117
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4288
add r4, r4, #28
ldr r3, [sp, #16]
add r3, r3, #4288
add r3, r3, #28
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC118
movt r0, #:upper16:.LC118
mov r1, r4
mov r2, r3
bl printk
ldr r3, [sp, #16]
add r4, r3, #4224
add r4, r4, #60
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC119
movt r0, #:upper16:.LC119
mov r1, r4
mov r2, r3
bl printk
mov r3, #0
str r3, [sp, #20]
b .L287
.L288:
ldr r3, [sp, #20]
add r2, r3, #3
cmp r3, #0
movlt r3, r2
movge r3, r3
mov r3, r3, asr #2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r4, r3, #4480
ldr r3, [sp, #20]
add r2, r3, #3
cmp r3, #0
movlt r3, r2
movge r3, r3
mov r3, r3, asr #2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #4480
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC120
movt r0, #:upper16:.LC120
mov r1, r4
ldr r2, [sp, #20]
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L287:
ldr r3, [sp, #20]
cmp r3, #7
ble .L288
ldr r3, [sp, #16]
add r3, r3, #4288
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC121
movt r0, #:upper16:.LC121
mov r1, r3
bl printk
ldr r3, [sp, #16]
add r3, r3, #4288
add r3, r3, #52
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC122
movt r0, #:upper16:.LC122
mov r1, r3
bl printk
ldr r3, [sp, #16]
add r3, r3, #4288
add r3, r3, #56
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC123
movt r0, #:upper16:.LC123
mov r1, r3
bl printk
ldr r3, [sp, #16]
add r3, r3, #4288
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC124
movt r0, #:upper16:.LC124
mov r1, r3
bl printk
mov r3, #0
str r3, [sp, #20]
b .L289
.L290:
ldr r3, [sp, #20]
mov r3, r3, asl #2
add r6, r3, #64
ldr r3, [sp, #20]
mov r3, r3, asl #3
add r5, r3, #7
ldr r3, [sp, #20]
mov r4, r3, asl #3
ldr r3, [sp, #20]
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #4160
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp]
movw r0, #:lower16:.LC125
movt r0, #:upper16:.LC125
mov r1, r6
mov r2, r5
mov r3, r4
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L289:
ldr r3, [sp, #20]
cmp r3, #3
ble .L290
mov r3, #0
str r3, [sp, #20]
b .L291
.L292:
ldr r3, [sp, #20]
mov r3, r3, asl #2
add r6, r3, #512
ldr r3, [sp, #20]
mov r3, r3, asl #1
add r5, r3, #1
ldr r3, [sp, #20]
mov r4, r3, asl #1
ldr r3, [sp, #20]
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #4608
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp]
movw r0, #:lower16:.LC126
movt r0, #:upper16:.LC126
mov r1, r6
mov r2, r5
mov r3, r4
bl printk
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L291:
ldr r3, [sp, #20]
cmp r3, #15
ble .L292
mov r3, #0
mov r0, r3
add sp, sp, #24
@ sp needed
ldmfd sp!, {r4, r5, r6, pc}
.fnend
.size qdma_dump_register_value, .-qdma_dump_register_value
.section .rodata.str1.4
.align 2
.LC127:
.ascii "%s: %s [%d]: Fault: input tx ringIdx should between"
.ascii " 0 and %d\012\000"
.align 2
.LC128:
.ascii "%s: %s [%d]: Fault: input rx ringIdx should between"
.ascii " 0 and %d\012\000"
.align 2
.LC129:
.ascii "%s: %s [%d]: Fault: input dump mode error\012\000"
.align 2
.LC130:
.ascii "Unused Tx%d DSCP Link List:\012\000"
.align 2
.LC131:
.ascii "%d: DSCP Idx:%d, DSCP Ptr:%.8x, Done Bit:%d\012\000"
.align 2
.LC132:
.ascii "drop_bit:%d, nls:%d, pkt_len:%d, pkt_addr:%.8X, nex"
.ascii "t_idx:%d, msg0:%.8X, msg1:%.8X\012\000"
.align 2
.LC133:
.ascii "\012Using Tx%d DSCP Set:\012\000"
.align 2
.LC134:
.ascii "%d: DSCP Idx:%d, DSCP Ptr:%.8x, Done Bit:%d, PktLen"
.ascii ":%d, PktAddr:%.8x(%.8x), Next Idx:%d\012\000"
.align 2
.LC135:
.ascii "\012Rx%d DSCP Ring: RxStartIdx:%d, RxEndIdx:%d\012\000"
.text
.align 2
.global qdma_dump_descriptor_info
.type qdma_dump_descriptor_info, %function
qdma_dump_descriptor_info:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, lr}
.save {r4, lr}
.pad #56
sub sp, sp, #56
str r0, [sp, #28]
mov r3, #0
str r3, [sp, #52]
mov r3, #0
str r3, [sp, #48]
mov r3, #1
str r3, [sp, #44]
mov r3, #0
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #36]
ldr r3, [sp, #28]
cmp r3, #0
beq .L295
ldr r3, [sp, #28]
ldr r3, [r3, #8]
str r3, [sp, #36]
ldr r3, [sp, #36]
ldr r3, [r3]
cmp r3, #0
bne .L296
ldr r3, [sp, #36]
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #7
bls .L295
mov r3, #7
str r3, [sp]
movw r0, #:lower16:.LC127
movt r0, #:upper16:.LC127
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L317
movw r3, #2009
bl printk
mvn r3, #21
b .L297
.L296:
ldr r3, [sp, #36]
ldr r3, [r3]
cmp r3, #1
bne .L298
ldr r3, [sp, #36]
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #15
bls .L295
mov r3, #15
str r3, [sp]
movw r0, #:lower16:.LC128
movt r0, #:upper16:.LC128
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L317
movw r3, #2014
bl printk
mvn r3, #21
b .L297
.L298:
movw r0, #:lower16:.LC129
movt r0, #:upper16:.LC129
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L317
movw r3, #2018
bl printk
mvn r3, #21
b .L297
.L295:
mov r3, #0
str r3, [sp, #40]
b .L299
.L309:
ldr r3, [sp, #28]
cmp r3, #0
beq .L300
ldr r3, [sp, #36]
ldr r3, [r3]
cmp r3, #0
bne .L301
ldr r3, [sp, #36]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #40]
cmp r2, r3
beq .L300
.L301:
b .L302
.L300:
mov r3, #1
str r3, [sp, #44]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #40]
add r3, r3, #56
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
str r3, [sp, #52]
movw r0, #:lower16:.LC130
movt r0, #:upper16:.LC130
ldr r1, [sp, #40]
bl printk
b .L303
.L304:
ldr r3, [sp, #52]
ldr r2, [r3, #4]
ldr r3, [sp, #52]
ldr r3, [r3]
mov ip, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrb r3, [r3, #7]
ubfx r3, r3, #7, #1
uxtb r3, r3
str r3, [sp]
movw r0, #:lower16:.LC131
movt r0, #:upper16:.LC131
ldr r1, [sp, #44]
mov r3, ip
bl printk
ldr r3, [sp, #52]
ldr r3, [r3]
ldrb r3, [r3, #7]
ubfx r3, r3, #6, #1
uxtb r3, r3
mov r4, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrb r3, [r3, #7]
ubfx r3, r3, #5, #1
uxtb r3, r3
mov lr, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrh r3, [r3, #4]
mov ip, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldr r1, [r3, #8]
ldr r3, [sp, #52]
ldr r3, [r3]
ldrh r3, [r3, #12] @ movhi
ubfx r3, r3, #0, #12
uxth r3, r3
mov r0, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldr r2, [r3, #16]
ldr r3, [sp, #52]
ldr r3, [r3]
ldr r3, [r3, #20]
str r1, [sp]
str r0, [sp, #4]
str r2, [sp, #8]
str r3, [sp, #12]
movw r0, #:lower16:.LC132
movt r0, #:upper16:.LC132
mov r1, r4
mov r2, lr
mov r3, ip
bl printk
ldr r3, [sp, #52]
ldr r3, [r3, #12]
str r3, [sp, #52]
ldr r3, [sp, #44]
add r3, r3, #1
str r3, [sp, #44]
.L303:
ldr r3, [sp, #52]
cmp r3, #0
bne .L304
mov r3, #1
str r3, [sp, #44]
movw r0, #:lower16:.LC133
movt r0, #:upper16:.LC133
ldr r1, [sp, #40]
bl printk
mov r3, #0
str r3, [sp, #48]
b .L305
.L308:
ldr r3, [sp, #48]
mov r2, r3, asl #4
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r1, [sp, #40]
add r1, r1, #28
ldr r3, [r3, r1, asl #2]
add r3, r2, r3
str r3, [sp, #52]
ldr r3, [sp, #52]
ldr r3, [r3, #12]
cmp r3, #0
bne .L306
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #40]
add r3, r3, #64
mov r3, r3, asl #2
add r3, r2, r3
ldr r2, [r3, #4]
ldr r3, [sp, #52]
cmp r2, r3
beq .L306
ldr r3, [sp, #52]
ldr ip, [r3, #4]
ldr r3, [sp, #52]
ldr r3, [r3]
mov r4, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrb r3, [r3, #7]
ubfx r3, r3, #7, #1
uxtb r3, r3
mov lr, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrh r3, [r3, #4]
mov r0, r3
ldr r3, [sp, #52]
ldr r3, [r3, #8]
mov r1, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldr r3, [r3, #8]
ldr r2, [sp, #52]
ldr r2, [r2]
ldrh r2, [r2, #12] @ movhi
ubfx r2, r2, #0, #12
uxth r2, r2
str lr, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r3, [sp, #12]
str r2, [sp, #16]
movw r0, #:lower16:.LC134
movt r0, #:upper16:.LC134
ldr r1, [sp, #44]
mov r2, ip
mov r3, r4
bl printk
ldr r3, [sp, #52]
ldr r3, [r3]
ldrb r3, [r3, #7]
ubfx r3, r3, #6, #1
uxtb r3, r3
mov r4, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrb r3, [r3, #7]
ubfx r3, r3, #5, #1
uxtb r3, r3
mov lr, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrh r3, [r3, #4]
mov ip, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldr r1, [r3, #8]
ldr r3, [sp, #52]
ldr r3, [r3]
ldrh r3, [r3, #12] @ movhi
ubfx r3, r3, #0, #12
uxth r3, r3
mov r0, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldr r2, [r3, #16]
ldr r3, [sp, #52]
ldr r3, [r3]
ldr r3, [r3, #20]
str r1, [sp]
str r0, [sp, #4]
str r2, [sp, #8]
str r3, [sp, #12]
movw r0, #:lower16:.LC132
movt r0, #:upper16:.LC132
mov r1, r4
mov r2, lr
mov r3, ip
bl printk
ldr r3, [sp, #44]
add r3, r3, #1
str r3, [sp, #44]
.L306:
ldr r3, [sp, #48]
uxtb r3, r3
cmp r3, #255
bne .L307
mov r0, #0
bl msleep
.L307:
ldr r3, [sp, #48]
add r3, r3, #1
str r3, [sp, #48]
.L305:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #40]
add r3, r3, #20
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3, #4]
mov r2, r3
ldr r3, [sp, #48]
cmp r2, r3
bgt .L308
.L302:
ldr r3, [sp, #40]
add r3, r3, #1
str r3, [sp, #40]
.L299:
ldr r3, [sp, #40]
cmp r3, #7
ble .L309
mov r3, #0
str r3, [sp, #40]
b .L310
.L316:
ldr r3, [sp, #28]
cmp r3, #0
beq .L311
ldr r3, [sp, #36]
ldr r3, [r3]
cmp r3, #1
bne .L312
ldr r3, [sp, #36]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #40]
cmp r2, r3
beq .L311
.L312:
b .L313
.L311:
mov r3, #1
str r3, [sp, #44]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #40]
add r3, r3, #80
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
str r3, [sp, #52]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #40]
add r3, r3, #80
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr ip, [r3, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #40]
add r3, r3, #96
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r3, [r3, #4]
movw r0, #:lower16:.LC135
movt r0, #:upper16:.LC135
ldr r1, [sp, #40]
mov r2, ip
bl printk
.L315:
ldr r3, [sp, #52]
cmp r3, #0
beq .L314
ldr r3, [sp, #52]
ldr ip, [r3, #4]
ldr r3, [sp, #52]
ldr r3, [r3]
mov r4, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrb r3, [r3, #7]
ubfx r3, r3, #7, #1
uxtb r3, r3
mov lr, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldrh r3, [r3, #4]
mov r0, r3
ldr r3, [sp, #52]
ldr r3, [r3, #8]
mov r1, r3
ldr r3, [sp, #52]
ldr r3, [r3]
ldr r3, [r3, #8]
ldr r2, [sp, #52]
ldr r2, [r2]
ldrh r2, [r2, #12] @ movhi
ubfx r2, r2, #0, #12
uxth r2, r2
str lr, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r3, [sp, #12]
str r2, [sp, #16]
movw r0, #:lower16:.LC134
movt r0, #:upper16:.LC134
ldr r1, [sp, #44]
mov r2, ip
mov r3, r4
bl printk
ldr r3, [sp, #52]
ldr r3, [r3, #12]
str r3, [sp, #52]
ldr r3, [sp, #44]
add r3, r3, #1
str r3, [sp, #44]
.L314:
ldr r3, [sp, #52]
cmp r3, #0
beq .L313
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #40]
add r3, r3, #80
mov r3, r3, asl #2
add r3, r2, r3
ldr r2, [r3, #4]
ldr r3, [sp, #52]
cmp r2, r3
bne .L315
.L313:
ldr r3, [sp, #40]
add r3, r3, #1
str r3, [sp, #40]
.L310:
ldr r3, [sp, #40]
cmp r3, #15
ble .L316
mov r3, #0
.L297:
mov r0, r3
add sp, sp, #56
@ sp needed
ldmfd sp!, {r4, pc}
.L318:
.align 2
.L317:
.word .LC3+60
.fnend
.size qdma_dump_descriptor_info, .-qdma_dump_descriptor_info
.section .rodata.str1.4
.align 2
.LC136:
.ascii "Tx%d Total DSCP Num:%d\011\000"
.align 2
.LC137:
.ascii "Using DSCP Num:%d\011\000"
.align 2
.LC138:
.ascii "Unused DSCP Num:%d\012\000"
.align 2
.LC139:
.ascii "\012\000"
.align 2
.LC140:
.ascii "Rx%d Total DSCP Num:%d\011\000"
.align 2
.LC141:
.ascii "Using DSCP Num:%d\012\000"
.text
.align 2
.global qdma_dump_descriptor_cnt
.type qdma_dump_descriptor_cnt, %function
qdma_dump_descriptor_cnt:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #28]
mov r3, #0
str r3, [sp, #24]
mov r3, #1
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #8]
mov r3, #0
str r3, [sp, #16]
b .L320
.L326:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #16]
add r3, r3, #20
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3, #4]
movw r0, #:lower16:.LC136
movt r0, #:upper16:.LC136
ldr r1, [sp, #16]
mov r2, r3
bl printk
mov r3, #0
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #24]
b .L321
.L323:
ldr r3, [sp, #24]
mov r2, r3, asl #4
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r1, [sp, #16]
add r1, r1, #28
ldr r3, [r3, r1, asl #2]
add r3, r2, r3
str r3, [sp, #28]
ldr r3, [sp, #28]
ldr r3, [r3, #12]
cmp r3, #0
bne .L322
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #16]
add r3, r3, #64
mov r3, r3, asl #2
add r3, r2, r3
ldr r2, [r3, #4]
ldr r3, [sp, #28]
cmp r2, r3
beq .L322
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L322:
ldr r3, [sp, #24]
add r3, r3, #1
str r3, [sp, #24]
.L321:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #16]
add r3, r3, #20
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3, #4]
mov r2, r3
ldr r3, [sp, #24]
cmp r2, r3
bgt .L323
movw r0, #:lower16:.LC137
movt r0, #:upper16:.LC137
ldr r1, [sp, #20]
bl printk
mov r3, #0
str r3, [sp, #20]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #16]
add r3, r3, #56
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
str r3, [sp, #28]
b .L324
.L325:
ldr r3, [sp, #28]
ldr r3, [r3, #12]
str r3, [sp, #28]
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L324:
ldr r3, [sp, #28]
cmp r3, #0
bne .L325
movw r0, #:lower16:.LC138
movt r0, #:upper16:.LC138
ldr r1, [sp, #20]
bl printk
ldr r3, [sp, #16]
add r3, r3, #1
str r3, [sp, #16]
.L320:
ldr r3, [sp, #16]
cmp r3, #7
ble .L326
movw r0, #:lower16:.LC139
movt r0, #:upper16:.LC139
bl printk
mov r3, #0
str r3, [sp, #16]
b .L327
.L330:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #16]
add r3, r3, #28
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3, #4]
movw r0, #:lower16:.LC140
movt r0, #:upper16:.LC140
ldr r1, [sp, #16]
mov r2, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
ldr r2, [sp, #16]
mov r2, r2, asl #5
add r3, r3, r2
add r3, r3, #520
mov r0, r3
bl get_frame_engine_data
mov r3, r0
ubfx r3, r3, #0, #12
str r3, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
ldr r2, [sp, #16]
mov r2, r2, asl #5
add r3, r3, r2
add r3, r3, #524
mov r0, r3
bl get_frame_engine_data
mov r3, r0
ubfx r3, r3, #0, #12
str r3, [sp, #8]
ldr r2, [sp, #8]
ldr r3, [sp, #12]
cmp r2, r3
bls .L328
ldr r2, [sp, #8]
ldr r3, [sp, #12]
rsb r3, r3, r2
movw r0, #:lower16:.LC141
movt r0, #:upper16:.LC141
mov r1, r3
bl printk
b .L329
.L328:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #16]
add r3, r3, #28
mov r3, r3, asl #1
add r3, r2, r3
ldrh r3, [r3, #4]
mov r2, r3
ldr r3, [sp, #8]
add r2, r2, r3
ldr r3, [sp, #12]
rsb r3, r3, r2
movw r0, #:lower16:.LC141
movt r0, #:upper16:.LC141
mov r1, r3
bl printk
.L329:
ldr r3, [sp, #16]
add r3, r3, #1
str r3, [sp, #16]
.L327:
ldr r3, [sp, #16]
cmp r3, #15
ble .L330
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_descriptor_cnt, .-qdma_dump_descriptor_cnt
.section .rodata.str1.4
.align 2
.LC142:
.ascii "IRQ Queue:%.4x, Content:%.8x\012\000"
.text
.align 2
.global qdma_dump_irq_info
.type qdma_dump_irq_info, %function
qdma_dump_irq_info:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #20]
b .L333
.L335:
ldr r3, [sp, #20]
mov r2, r3, asl #2
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #208]
add r3, r2, r3
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r3, [r3]
str r3, [sp, #12]
movw r0, #:lower16:.LC142
movt r0, #:upper16:.LC142
ldr r1, [sp, #20]
ldr r2, [sp, #12]
bl printk
ldr r3, [sp, #20]
uxtb r3, r3
cmp r3, #255
bne .L334
mov r0, #0
bl msleep
.L334:
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L333:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrh r3, [r3, #100]
mov r2, r3
ldr r3, [sp, #20]
cmp r2, r3
bgt .L335
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_irq_info, .-qdma_dump_irq_info
.section .rodata.str1.4
.align 2
.LC143:
.ascii "IRQ2 Queue:%.4x, Content:%.8x\012\000"
.text
.align 2
.global qdma_dump_irq2_info
.type qdma_dump_irq2_info, %function
qdma_dump_irq2_info:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #20]
b .L338
.L340:
ldr r3, [sp, #20]
mov r2, r3, asl #2
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #212]
add r3, r2, r3
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r3, [r3]
str r3, [sp, #12]
movw r0, #:lower16:.LC143
movt r0, #:upper16:.LC143
ldr r1, [sp, #20]
ldr r2, [sp, #12]
bl printk
ldr r3, [sp, #20]
uxtb r3, r3
cmp r3, #255
bne .L339
mov r0, #0
bl msleep
.L339:
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L338:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrh r3, [r3, #102]
mov r2, r3
ldr r3, [sp, #20]
cmp r2, r3
bgt .L340
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_irq2_info, .-qdma_dump_irq2_info
.section .rodata.str1.4
.align 2
.LC144:
.ascii "Hardware Forwarding DSCP Link List:\012\000"
.align 2
.LC145:
.ascii "CPU\000"
.align 2
.LC146:
.ascii "HWFWD\000"
.align 2
.LC147:
.ascii "%d: DSCP:%.8x(%.8x), ctx:%s, ctx_idx:%d, MsgAddr:%."
.ascii "8x, PktLen:%d, PktAddr:%.8x(%.8x)\012\000"
.align 2
.LC148:
.ascii " mul_first_fdscpidx:%d, mul_remain_pktnum:%d\012"
.ascii "\000"
.align 2
.LC149:
.ascii " Msg Content:%.8x, %.8x\012\000"
.text
.align 2
.global qdma_dump_hwfwd_info
.type qdma_dump_hwfwd_info, %function
qdma_dump_hwfwd_info:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, lr}
.save {r4, r5, lr}
.pad #60
sub sp, sp, #60
str r0, [sp, #28]
mov r3, #0
str r3, [sp, #52]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #48]
mov r3, #0
str r3, [sp, #44]
mov r3, #0
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #36]
movw r0, #:lower16:.LC144
movt r0, #:upper16:.LC144
bl printk
mov r3, #0
str r3, [sp, #52]
b .L343
.L347:
ldr r3, [sp, #52]
mov r2, r3, asl #5
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #216]
add r3, r2, r3
str r3, [sp, #44]
ldr r3, [sp, #44]
add r3, r3, #16
str r3, [sp, #40]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #224]
mov r3, r3, lsr #2
ldr r2, [sp, #52]
mul r3, r2, r3
mov r2, r3, asl #2
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #220]
add r3, r2, r3
str r3, [sp, #36]
ldr r4, [sp, #44]
ldr r3, [sp, #48]
add r3, r3, #16
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #52]
mov r3, r3, asl #5
add ip, r2, r3
ldr r3, [sp, #44]
ldrb r3, [r3, #7] @ zero_extendqisi2
bic r3, r3, #127
uxtb r3, r3
cmp r3, #0
beq .L344
movw r3, #:lower16:.LC145
movt r3, #:upper16:.LC145
b .L345
.L344:
movw r3, #:lower16:.LC146
movt r3, #:upper16:.LC146
.L345:
ldr r2, [sp, #44]
ldrh r2, [r2, #6] @ movhi
ubfx r2, r2, #0, #12
uxth r2, r2
mov r5, r2
ldr r0, [sp, #40]
ldr r2, [sp, #44]
ldrh r2, [r2, #4]
mov lr, r2
ldr r1, [sp, #36]
ldr r2, [sp, #44]
ldr r2, [r2]
str r3, [sp]
str r5, [sp, #4]
str r0, [sp, #8]
str lr, [sp, #12]
str r1, [sp, #16]
str r2, [sp, #20]
movw r0, #:lower16:.LC147
movt r0, #:upper16:.LC147
ldr r1, [sp, #52]
mov r2, r4
mov r3, ip
bl printk
ldr r3, [sp, #44]
ldrh r3, [r3, #8]
mov r2, r3
ldr r3, [sp, #44]
ldrb r3, [r3, #12]
ubfx r3, r3, #0, #3
uxtb r3, r3
movw r0, #:lower16:.LC148
movt r0, #:upper16:.LC148
mov r1, r2
mov r2, r3
bl printk
ldr r3, [sp, #40]
ldr r2, [r3]
ldr r3, [sp, #40]
add r3, r3, #4
ldr r3, [r3]
movw r0, #:lower16:.LC149
movt r0, #:upper16:.LC149
mov r1, r2
mov r2, r3
bl printk
ldr r3, [sp, #52]
uxtb r3, r3
cmp r3, #255
bne .L346
mov r0, #0
bl msleep
.L346:
ldr r3, [sp, #52]
add r3, r3, #1
str r3, [sp, #52]
.L343:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [r3, #92]
ldr r3, [sp, #52]
cmp r2, r3
bhi .L347
mov r3, #0
mov r0, r3
add sp, sp, #60
@ sp needed
ldmfd sp!, {r4, r5, pc}
.fnend
.size qdma_dump_hwfwd_info, .-qdma_dump_hwfwd_info
.section .rodata.str1.4
.align 2
.LC150:
.ascii "Debug Level: %d\012\000"
.align 2
.LC151:
.ascii "Debug Level should less than %d\012\000"
.text
.align 2
.global qdma_set_dbg_level
.type qdma_set_dbg_level, %function
qdma_set_dbg_level:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #3
bhi .L350
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #12]
uxtb r2, r2
strb r2, [r3, #541]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #541] @ zero_extendqisi2
movw r0, #:lower16:.LC150
movt r0, #:upper16:.LC150
mov r1, r3
bl printk
mov r3, #0
b .L351
.L350:
movw r0, #:lower16:.LC151
movt r0, #:upper16:.LC151
mov r1, #4
bl printk
mvn r3, #21
.L351:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_dbg_level, .-qdma_set_dbg_level
.section .rodata.str1.4
.align 2
.LC152:
.ascii "dma busy duration force setting to %d seconds.\000"
.text
.align 2
.global qdma_dump_dma_busy
.type qdma_dump_dma_busy, %function
qdma_dump_dma_busy:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #12]
str r3, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #60
bls .L353
movw r0, #:lower16:.LC152
movt r0, #:upper16:.LC152
mov r1, #60
bl printk
mov r3, #60
str r3, [sp, #12]
.L353:
ldr r2, [sp, #12]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
movw r3, #:lower16:dma_busy_round_cnt
movt r3, #:upper16:dma_busy_round_cnt
str r2, [r3]
movw r3, #:lower16:tx_dma_busy_enable_cnt
movt r3, #:upper16:tx_dma_busy_enable_cnt
mov r2, #0
str r2, [r3]
movw r3, #:lower16:rx_dma_busy_enable_cnt
movt r3, #:upper16:rx_dma_busy_enable_cnt
mov r2, #0
str r2, [r3]
movw r0, #:lower16:dma_busy_timer
movt r0, #:upper16:dma_busy_timer
mov r1, #0
mov r2, #0
mov r3, #0
bl init_timer_key
movw r3, #:lower16:dma_busy_expires
movt r3, #:upper16:dma_busy_expires
ldr r3, [r3]
mov r2, r3
movw r3, #:lower16:dma_busy_timer
movt r3, #:upper16:dma_busy_timer
str r2, [r3, #16]
movw r3, #:lower16:dma_busy_timer
movt r3, #:upper16:dma_busy_timer
movw r2, #:lower16:qdma_dma_busy_timer
movt r2, #:upper16:qdma_dma_busy_timer
str r2, [r3, #12]
movw r3, #:lower16:dma_busy_timer
movt r3, #:upper16:dma_busy_timer
ldr r2, [r3, #16]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
movw r3, #19923
movt r3, 4194
umull r2, r3, r2, r3
mov r2, r3, lsr #6
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
add r3, r2, r3
movw r0, #:lower16:dma_busy_timer
movt r0, #:upper16:dma_busy_timer
mov r1, r3
bl mod_timer
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_dma_busy, .-qdma_dump_dma_busy
.align 2
.global qdma_config_trigger_test
.type qdma_config_trigger_test, %function
qdma_config_trigger_test:
.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
str r0, [sp, #4]
movw r0, #:lower16:trigger_timer
movt r0, #:upper16:trigger_timer
mov r1, #0
mov r2, #0
mov r3, #0
bl init_timer_key
movw r3, #:lower16:trigger_expires
movt r3, #:upper16:trigger_expires
ldr r3, [r3]
mov r2, r3
movw r3, #:lower16:trigger_timer
movt r3, #:upper16:trigger_timer
str r2, [r3, #16]
movw r3, #:lower16:trigger_timer
movt r3, #:upper16:trigger_timer
movw r2, #:lower16:qdma_trigger_timer
movt r2, #:upper16:qdma_trigger_timer
str r2, [r3, #12]
movw r3, #:lower16:trigger_timer
movt r3, #:upper16:trigger_timer
ldr r2, [r3, #16]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
movw r3, #19923
movt r3, 4194
umull r2, r3, r2, r3
mov r2, r3, lsr #6
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
add r3, r2, r3
movw r0, #:lower16:trigger_timer
movt r0, #:upper16:trigger_timer
mov r1, r3
bl mod_timer
mov r3, #0
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_config_trigger_test, .-qdma_config_trigger_test
.section .rodata.str1.4
.align 2
.LC153:
.ascii "register offset is %u, which should be an integral "
.ascii "multiple of 4.\000"
.align 2
.LC154:
.ascii "register polling duration force setting to %d secon"
.ascii "ds.\000"
.text
.align 2
.global qdma_dump_reg_polling
.type qdma_dump_reg_polling, %function
qdma_dump_reg_polling:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #16]
str r3, [sp, #8]
ldr r3, [sp, #4]
ldr r3, [r3, #20]
str r3, [sp, #12]
ldr r3, [sp, #8]
and r3, r3, #3
cmp r3, #0
beq .L358
movw r0, #:lower16:.LC153
movt r0, #:upper16:.LC153
ldr r1, [sp, #8]
bl printk
mvn r3, #21
b .L359
.L358:
ldr r3, [sp, #12]
cmp r3, #60
bls .L360
movw r0, #:lower16:.LC154
movt r0, #:upper16:.LC154
mov r1, #60
bl printk
mov r3, #60
str r3, [sp, #12]
.L360:
ldr r2, [sp, #12]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
movw r3, #:lower16:reg_polling_round_cnt
movt r3, #:upper16:reg_polling_round_cnt
str r2, [r3]
ldr r2, [sp, #8]
movw r3, #:lower16:reg_polling_offset
movt r3, #:upper16:reg_polling_offset
str r2, [r3]
movw r0, #:lower16:reg_polling_timer
movt r0, #:upper16:reg_polling_timer
mov r1, #0
mov r2, #0
mov r3, #0
bl init_timer_key
movw r3, #:lower16:reg_polling_expires
movt r3, #:upper16:reg_polling_expires
ldr r3, [r3]
mov r2, r3
movw r3, #:lower16:reg_polling_timer
movt r3, #:upper16:reg_polling_timer
str r2, [r3, #16]
movw r3, #:lower16:reg_polling_timer
movt r3, #:upper16:reg_polling_timer
movw r2, #:lower16:qdma_reg_polling_timer
movt r2, #:upper16:qdma_reg_polling_timer
str r2, [r3, #12]
movw r3, #:lower16:reg_polling_timer
movt r3, #:upper16:reg_polling_timer
ldr r2, [r3, #16]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
movw r3, #19923
movt r3, 4194
umull r2, r3, r2, r3
mov r2, r3, lsr #6
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
add r3, r2, r3
movw r0, #:lower16:reg_polling_timer
movt r0, #:upper16:reg_polling_timer
mov r1, r3
bl mod_timer
mov r3, #0
.L359:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_reg_polling, .-qdma_dump_reg_polling
.section .rodata.str1.4
.align 2
.LC155:
.ascii "isForceRX1: %d\012\000"
.text
.align 2
.global qdma_set_force_receive_rx_ring1
.type qdma_set_force_receive_rx_ring1, %function
qdma_set_force_receive_rx_ring1:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #24]
str r3, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
movne r3, #1
moveq r3, #0
uxtb r3, r3
mov r2, r3
movw r3, #:lower16:isForceRX1
movt r3, #:upper16:isForceRX1
str r2, [r3]
movw r3, #:lower16:isForceRX1
movt r3, #:upper16:isForceRX1
ldr r3, [r3]
movw r0, #:lower16:.LC155
movt r0, #:upper16:.LC155
mov r1, r3
bl printk
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_force_receive_rx_ring1, .-qdma_set_force_receive_rx_ring1
.align 2
.global qdma_set_tx_drop_en
.type qdma_set_tx_drop_en, %function
qdma_set_tx_drop_en:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bne .L364
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #12]
bic r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L365
.L364:
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #8]
orr r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L365:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_tx_drop_en, .-qdma_set_tx_drop_en
.align 2
.global qdma_get_tx_drop_en
.type qdma_get_tx_drop_en, %function
qdma_get_tx_drop_en:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
cmp r3, #0
bge .L368
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
b .L369
.L368:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
.L369:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_drop_en, .-qdma_get_tx_drop_en
.align 2
.global qdma_set_tx_ratemeter
.type qdma_set_tx_ratemeter, %function
qdma_set_tx_ratemeter:
.fnstart
@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #44
sub sp, sp, #44
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #36]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #32]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #-2147483648
cmp r3, #0
ble .L372
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #28]
bic r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #24]
bic r1, r2, #126976
ldr r2, [sp, #32]
ldrh r2, [r2]
mov r2, r2, asl #12
and r2, r2, #126976
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #36]
add r2, r3, #4096
add r2, r2, #12
ldr r3, [sp, #20]
bic r3, r3, #2032
bic r3, r3, #15
ldr r1, [sp, #32]
ldrh r1, [r1, #2]
ubfx r1, r1, #0, #11
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #16]
orr r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L373
.L372:
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #12]
bic r1, r2, #126976
ldr r2, [sp, #32]
ldrh r2, [r2]
mov r2, r2, asl #12
and r2, r2, #126976
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #36]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #36]
add r2, r3, #4096
add r2, r2, #12
ldr r3, [sp, #8]
bic r3, r3, #2032
bic r3, r3, #15
ldr r1, [sp, #32]
ldrh r1, [r1, #2]
ubfx r1, r1, #0, #11
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L373:
mov r3, #0
mov r0, r3
add sp, sp, #44
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_tx_ratemeter, .-qdma_set_tx_ratemeter
.align 2
.global qdma_get_tx_ratemeter
.type qdma_get_tx_ratemeter, %function
qdma_get_tx_ratemeter:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #126976
mov r3, r3, asr #12
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3] @ movhi
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r3, r3
ubfx r3, r3, #0, #11
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #2] @ movhi
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_ratemeter, .-qdma_get_tx_ratemeter
.global __aeabi_uidiv
.align 2
.global qdma_get_tx_channel_datarate
.type qdma_get_tx_channel_datarate, %function
qdma_get_tx_channel_datarate:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
ldr r3, [sp, #12]
mov r3, r3, asr #1
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #4608
mov r0, r3
bl get_frame_engine_data
mov r1, r0
ldr r3, [sp, #12]
and r3, r3, #1
mov r3, r3, asl #4
movw r2, #65535
mov r3, r2, asl r3
and r2, r1, r3
ldr r3, [sp, #12]
and r3, r3, #1
mov r3, r3, asl #4
mov r3, r2, asr r3
str r3, [sp, #20]
ldr r3, [sp, #4]
add r2, sp, #8
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_get_tx_ratemeter
ldrh r3, [sp, #8]
cmp r3, #0
beq .L378
ldrh r3, [sp, #10]
cmp r3, #0
beq .L378
movw r3, #:lower16:qdmaPayloadMode
movt r3, #:upper16:qdmaPayloadMode
ldrb r3, [r3] @ zero_extendqisi2
mov r2, r3
movw r3, #:lower16:CONFIG_PAYLOAD_SIZE
movt r3, #:upper16:CONFIG_PAYLOAD_SIZE
ldr r3, [r3, r2, asl #2]
ldr r2, [sp, #20]
mul r1, r2, r3
mov r2, r1
mov r2, r2, asl #5
rsb r2, r1, r2
mov r3, r2, asl #6
rsb r3, r2, r3
mov r3, r3, asl #3
add r3, r3, r1
mov r3, r3, asl #9
mov r1, r3
ldrh r3, [sp, #8]
ldrh r2, [sp, #10]
mul r3, r2, r3
mov r0, r1
mov r1, r3
bl __aeabi_uidiv
mov r3, r0
str r3, [sp, #20]
b .L379
.L378:
mvn r3, #0
str r3, [sp, #20]
.L379:
ldr r3, [sp, #20]
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_channel_datarate, .-qdma_get_tx_channel_datarate
.align 2
.global qdma_read_vip_info
.type qdma_read_vip_info, %function
qdma_read_vip_info:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
mov r2, #0
strb r2, [r3]
movw r3, #:lower16:qdma_vip_info
movt r3, #:upper16:qdma_vip_info
str r3, [sp, #16]
mov r3, #192
str r3, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
beq .L382
ldr r0, [sp, #16]
ldr r1, [sp, #12]
bl __memzero
.L382:
mov r3, #0
str r3, [sp, #20]
b .L383
.L389:
ldr r3, [sp, #20]
mov r3, r3, asl #3
mov r2, r3
mov r3, #768
movt r3, 49077
add r3, r2, r3
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #8]
and r3, r3, #1
cmp r3, #0
bne .L384
b .L385
.L384:
ldr r3, [sp, #8]
mov r3, r3, lsr #1
and r3, r3, #7
cmp r3, #2
bhi .L386
b .L385
.L386:
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
ldrb r3, [r3] @ zero_extendqisi2
mov r1, r3
ldr r3, [sp, #8]
mov r3, r3, lsr #1
and r3, r3, #7
cmp r3, #3
bne .L387
mov r0, #6
b .L388
.L387:
mov r0, #17
.L388:
movw r2, #:lower16:qdma_vip_info
movt r2, #:upper16:qdma_vip_info
mov r3, r1
mov r3, r3, asl #1
add r3, r3, r1
mov r3, r3, asl #1
add r3, r2, r3
mov r2, r0
strb r2, [r3, #5]
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
ldrb r3, [r3] @ zero_extendqisi2
mov r0, r3
ldr r3, [sp, #8]
mov r3, r3, lsr #5
uxtb r3, r3
and r3, r3, #1
uxtb r1, r3
movw r2, #:lower16:qdma_vip_info
movt r2, #:upper16:qdma_vip_info
mov r3, r0
mov r3, r3, asl #1
add r3, r3, r0
mov r3, r3, asl #1
add r2, r2, r3
ldrb r3, [r2, #4]
bfi r3, r1, #0, #1
strb r3, [r2, #4]
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
ldrb r3, [r3] @ zero_extendqisi2
mov r0, r3
ldr r3, [sp, #8]
mov r3, r3, lsr #4
uxtb r3, r3
and r3, r3, #1
uxtb r1, r3
movw r2, #:lower16:qdma_vip_info
movt r2, #:upper16:qdma_vip_info
mov r3, r0
mov r3, r3, asl #1
add r3, r3, r0
mov r3, r3, asl #1
add r2, r2, r3
ldrb r3, [r2, #4]
bfi r3, r1, #1, #1
strb r3, [r2, #4]
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
ldrb r3, [r3] @ zero_extendqisi2
mov r0, r3
ldr r3, [sp, #8]
mov r3, r3, lsr #6
uxtb r3, r3
and r3, r3, #1
uxtb r1, r3
movw r2, #:lower16:qdma_vip_info
movt r2, #:upper16:qdma_vip_info
mov r3, r0
mov r3, r3, asl #1
add r3, r3, r0
mov r3, r3, asl #1
add r2, r2, r3
ldrb r3, [r2, #4]
bfi r3, r1, #2, #1
strb r3, [r2, #4]
ldr r3, [sp, #20]
mov r3, r3, asl #3
mov r2, r3
mov r3, #772
movt r3, 49077
add r3, r2, r3
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #4]
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
ldrb r3, [r3] @ zero_extendqisi2
mov r0, r3
ldr r3, [sp, #4]
mov r3, r3, lsr #16
uxth r1, r3
movw r2, #:lower16:qdma_vip_info
movt r2, #:upper16:qdma_vip_info
mov r3, r0
mov r3, r3, asl #1
add r3, r3, r0
mov r3, r3, asl #1
add r3, r2, r3
strh r1, [r3] @ movhi
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
ldrb r3, [r3] @ zero_extendqisi2
mov r0, r3
ldr r3, [sp, #4]
uxth r1, r3
movw r2, #:lower16:qdma_vip_info
movt r2, #:upper16:qdma_vip_info
mov r3, r0
mov r3, r3, asl #1
add r3, r3, r0
mov r3, r3, asl #1
add r3, r2, r3
strh r1, [r3, #2] @ movhi
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
ldrb r3, [r3] @ zero_extendqisi2
add r3, r3, #1
uxtb r2, r3
movw r3, #:lower16:qdma_vip_num
movt r3, #:upper16:qdma_vip_num
strb r2, [r3]
.L385:
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L383:
ldr r3, [sp, #20]
cmp r3, #31
ble .L389
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_read_vip_info, .-qdma_read_vip_info
.section .rodata.str1.4
.align 2
.LC156:
.ascii "%s: %s [%d]: Fault:Set general trtcm cfg error.\012"
.ascii "\000"
.text
.align 2
.global qdma_general_set_trtcm_cfg
.type qdma_general_set_trtcm_cfg, %function
qdma_general_set_trtcm_cfg:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldr r3, [r3, #4]
mov r0, r2
mov r1, r3
bl generalSetTrtcmRateEnable
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L392
movw r0, #:lower16:.LC156
movt r0, #:upper16:.LC156
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L397
movw r3, #2569
bl printk
ldr r3, [sp, #12]
b .L393
.L392:
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldr r3, [r3, #8]
mov r0, r2
mov r1, r3
bl generalSetTrtcmMode
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L394
movw r0, #:lower16:.LC156
movt r0, #:upper16:.LC156
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L397
movw r3, #2574
bl printk
ldr r3, [sp, #12]
b .L393
.L394:
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldr r3, [r3, #16]
uxth r3, r3
mov r0, r2
mov r1, r3
bl generalSetTrtcmFastTick
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L395
movw r0, #:lower16:.LC156
movt r0, #:upper16:.LC156
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L397
movw r3, #2579
bl printk
ldr r3, [sp, #12]
b .L393
.L395:
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldr r3, [r3, #12]
uxth r3, r3
mov r0, r2
mov r1, r3
bl generalSetTrtcmSlowTickRatio
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L396
movw r0, #:lower16:.LC156
movt r0, #:upper16:.LC156
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L397
movw r3, #2584
bl printk
ldr r3, [sp, #12]
b .L393
.L396:
mov r3, #0
.L393:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L398:
.align 2
.L397:
.word .LC3+60
.fnend
.size qdma_general_set_trtcm_cfg, .-qdma_general_set_trtcm_cfg
.align 2
.global qdma_general_get_trtcm_cfg
.type qdma_general_get_trtcm_cfg, %function
qdma_general_get_trtcm_cfg:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
ldr r3, [sp, #12]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmRateEnable
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #4]
ldr r3, [sp, #12]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #8]
ldr r3, [sp, #12]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmFastTick
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #16]
ldr r3, [sp, #12]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmSlowTickRatio
mov r3, r0
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #12]
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_general_get_trtcm_cfg, .-qdma_general_get_trtcm_cfg
.section .rodata.str1.4
.align 2
.LC157:
.ascii "%s: %s [%d]: Fault: index should between 0 and %d\012"
.ascii "\000"
.text
.align 2
.global qdma_general_check_index_valid
.type qdma_general_check_index_valid, %function
qdma_general_check_index_valid:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #20]
str r1, [sp, #16]
mov r3, r2
strb r3, [sp, #15]
ldr r3, [sp, #20]
cmp r3, #3
bne .L402
mov r3, #0
b .L403
.L402:
ldr r3, [sp, #20]
cmp r3, #0
bne .L404
ldr r3, [sp, #16]
cmp r3, #0
bne .L404
ldrb r3, [sp, #15] @ zero_extendqisi2
cmp r3, #126
bls .L405
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #541] @ zero_extendqisi2
cmp r3, #1
bls .L406
mov r3, #126
str r3, [sp]
movw r0, #:lower16:.LC157
movt r0, #:upper16:.LC157
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L414
movw r3, #2612
bl printk
.L406:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r1, [r3]
mov r3, r1
add r3, r3, #628
add r3, r3, #2
ldrh r3, [r3]
add r3, r3, #1
uxth r2, r3
mov r3, r1
add r3, r3, #628
add r3, r3, #2
strh r2, [r3] @ movhi
mvn r3, #21
b .L403
.L405:
b .L407
.L404:
ldr r3, [sp, #20]
cmp r3, #0
bne .L408
ldr r3, [sp, #16]
cmp r3, #1
bne .L408
ldrb r3, [sp, #15] @ zero_extendqisi2
cmp r3, #62
bls .L409
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #541] @ zero_extendqisi2
cmp r3, #1
bls .L410
mov r3, #62
str r3, [sp]
movw r0, #:lower16:.LC157
movt r0, #:upper16:.LC157
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L414
movw r3, #2618
bl printk
.L410:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r1, [r3]
mov r3, r1
add r3, r3, #628
add r3, r3, #2
ldrh r3, [r3]
add r3, r3, #1
uxth r2, r3
mov r3, r1
add r3, r3, #628
add r3, r3, #2
strh r2, [r3] @ movhi
mvn r3, #21
b .L403
.L409:
b .L407
.L408:
ldr r3, [sp, #20]
cmp r3, #1
bne .L411
ldrb r3, [sp, #15] @ zero_extendqisi2
cmp r3, #31
bls .L407
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #541] @ zero_extendqisi2
cmp r3, #1
bls .L412
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC157
movt r0, #:upper16:.LC157
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L414
mov r3, #2624
bl printk
.L412:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r1, [r3]
mov r3, r1
add r3, r3, #628
add r3, r3, #2
ldrh r3, [r3]
add r3, r3, #1
uxth r2, r3
mov r3, r1
add r3, r3, #628
add r3, r3, #2
strh r2, [r3] @ movhi
mvn r3, #21
b .L403
.L411:
ldrb r3, [sp, #15] @ zero_extendqisi2
cmp r3, #31
bls .L407
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #541] @ zero_extendqisi2
cmp r3, #1
bls .L413
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC157
movt r0, #:upper16:.LC157
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L414
movw r3, #2630
bl printk
.L413:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r1, [r3]
mov r3, r1
add r3, r3, #628
add r3, r3, #2
ldrh r3, [r3]
add r3, r3, #1
uxth r2, r3
mov r3, r1
add r3, r3, #628
add r3, r3, #2
strh r2, [r3] @ movhi
mvn r3, #21
b .L403
.L407:
mov r3, #0
.L403:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L415:
.align 2
.L414:
.word .LC3+60
.fnend
.size qdma_general_check_index_valid, .-qdma_general_check_index_valid
.section .rodata.str1.4
.align 2
.LC158:
.ascii "%s: %s [%d]: Fault:Set ratelimit mode cfg error.\012"
.ascii "\000"
.text
.align 2
.global qdma_general_set_ratelimit_mode_cfg
.type qdma_general_set_ratelimit_mode_cfg, %function
qdma_general_set_ratelimit_mode_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #16]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
ldr r3, [sp, #12]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #12]
ldr r2, [r3]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
ldr r1, [sp, #8]
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L417
ldr r3, [sp, #16]
b .L418
.L417:
ldr r3, [sp, #8]
cmp r3, #0
bne .L419
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r3, [sp, #12]
ldr r2, [r3, #8]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, r3
bl generalSetRatelimitMeterMode
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L420
movw r0, #:lower16:.LC158
movt r0, #:upper16:.LC158
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L428
movw r3, #2653
bl printk
ldr r3, [sp, #16]
b .L418
.L420:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r3, [sp, #12]
ldr r2, [r3, #12]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, r3
bl generalSetRatelimitPktMode
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L421
movw r0, #:lower16:.LC158
movt r0, #:upper16:.LC158
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L428
movw r3, #2657
bl printk
ldr r3, [sp, #16]
b .L418
.L421:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r3, [sp, #12]
ldr r2, [r3, #16]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, r3
bl generalSetRatelimitTickSel
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L422
movw r0, #:lower16:.LC158
movt r0, #:upper16:.LC158
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L428
movw r3, #2661
bl printk
ldr r3, [sp, #16]
b .L418
.L419:
mov r3, #0
str r3, [sp, #20]
b .L423
.L427:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r3, [sp, #12]
ldr r2, [r3, #8]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
ldr r2, [sp, #20]
bl generalSetTrtcmMeterMode
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L424
movw r0, #:lower16:.LC158
movt r0, #:upper16:.LC158
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L428
movw r3, #2667
bl printk
ldr r3, [sp, #16]
b .L418
.L424:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r3, [sp, #12]
ldr r2, [r3, #12]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
ldr r2, [sp, #20]
bl generalSetTrtcmPktMode
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L425
movw r0, #:lower16:.LC158
movt r0, #:upper16:.LC158
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L428
movw r3, #2671
bl printk
ldr r3, [sp, #16]
b .L418
.L425:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r3, [sp, #12]
ldr r2, [r3, #16]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
ldr r2, [sp, #20]
bl generalSetTrtcmTickSel
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L426
movw r0, #:lower16:.LC158
movt r0, #:upper16:.LC158
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L428
movw r3, #2675
bl printk
ldr r3, [sp, #16]
b .L418
.L426:
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L423:
ldr r3, [sp, #20]
cmp r3, #1
bls .L427
.L422:
mov r3, #0
.L418:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L429:
.align 2
.L428:
.word .LC3+60
.fnend
.size qdma_general_set_ratelimit_mode_cfg, .-qdma_general_set_ratelimit_mode_cfg
.align 2
.global qdma_general_get_ratelimit_mode_cfg
.type qdma_general_get_ratelimit_mode_cfg, %function
qdma_general_get_ratelimit_mode_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
ldr r1, [sp, #12]
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #20]
ldr r3, [sp, #20]
cmp r3, #0
bge .L431
ldr r3, [sp, #20]
b .L432
.L431:
ldr r3, [sp, #12]
cmp r3, #0
bne .L433
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, r3
bl generalGetRatelimitMeterMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #8]
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, r3
bl generalGetRatelimitPktMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #12]
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, r3
bl generalGetRatelimitTickSel
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #16]
b .L434
.L433:
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmMeterMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #8]
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmPktMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #12]
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmTickSel
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #16]
.L434:
mov r3, #0
.L432:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_general_get_ratelimit_mode_cfg, .-qdma_general_get_ratelimit_mode_cfg
.section .rodata.str1.4
.align 2
.LC159:
.ascii "%s: %s [%d]: Fault: set ratelimit mode value error."
.ascii "\012\000"
.text
.align 2
.global qdma_general_set_ratelimit_mode_value
.type qdma_general_set_ratelimit_mode_value, %function
qdma_general_set_ratelimit_mode_value:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #24]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #20]
ldr r3, [sp, #20]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #12]
ldr r3, [sp, #20]
ldr r2, [r3]
ldr r3, [sp, #20]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
ldr r1, [sp, #16]
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #24]
ldr r3, [sp, #24]
cmp r3, #0
bge .L436
ldr r3, [sp, #24]
b .L437
.L436:
ldr r3, [sp, #16]
cmp r3, #0
bne .L438
ldr r3, [sp, #20]
ldr r1, [r3]
ldr r3, [sp, #20]
ldr r2, [r3, #8]
ldr r3, [sp, #20]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, r3
bl generalSetRatelimitTokenRate
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L439
movw r0, #:lower16:.LC159
movt r0, #:upper16:.LC159
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L445
movw r3, #2723
bl printk
ldr r3, [sp, #12]
b .L437
.L439:
ldr r3, [sp, #20]
ldr r1, [r3]
ldr r2, [sp, #12]
ldr r3, [sp, #20]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, r3
bl generalSetRatelimitBucketSize
str r0, [sp, #24]
ldr r3, [sp, #24]
cmp r3, #0
bge .L440
movw r0, #:lower16:.LC159
movt r0, #:upper16:.LC159
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L445
movw r3, #2728
bl printk
ldr r3, [sp, #24]
b .L437
.L438:
mov r3, #0
str r3, [sp, #28]
b .L441
.L444:
ldr r3, [sp, #20]
ldr r1, [r3]
ldr r3, [sp, #20]
ldr r2, [r3, #8]
ldr r3, [sp, #20]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
ldr r2, [sp, #28]
bl generalSetTrtcmTokenRate
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L442
movw r0, #:lower16:.LC159
movt r0, #:upper16:.LC159
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L445
movw r3, #2734
bl printk
ldr r3, [sp, #12]
b .L437
.L442:
ldr r3, [sp, #20]
ldr r1, [r3]
ldr r2, [sp, #12]
ldr r3, [sp, #20]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
ldr r2, [sp, #28]
bl generalSetTrtcmBucketSize
str r0, [sp, #24]
ldr r3, [sp, #24]
cmp r3, #0
bge .L443
movw r0, #:lower16:.LC159
movt r0, #:upper16:.LC159
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L445
movw r3, #2738
bl printk
ldr r3, [sp, #24]
b .L437
.L443:
ldr r3, [sp, #28]
add r3, r3, #1
str r3, [sp, #28]
.L441:
ldr r3, [sp, #28]
cmp r3, #1
bls .L444
.L440:
mov r3, #0
.L437:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L446:
.align 2
.L445:
.word .LC3+60
.fnend
.size qdma_general_set_ratelimit_mode_value, .-qdma_general_set_ratelimit_mode_value
.align 2
.global qdma_general_get_ratelimit_mode_value
.type qdma_general_get_ratelimit_mode_value, %function
qdma_general_get_ratelimit_mode_value:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
ldr r1, [sp, #12]
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #20]
ldr r3, [sp, #20]
cmp r3, #0
bge .L448
ldr r3, [sp, #20]
b .L449
.L448:
ldr r3, [sp, #12]
cmp r3, #0
bne .L450
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, r3
bl generalGetRatelimitTokenRate
mov r2, r0
ldr r3, [sp, #16]
str r2, [r3, #8]
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, r3
bl generalGetRatelimitBucketSize
mov r2, r0
ldr r3, [sp, #16]
str r2, [r3, #12]
b .L451
.L450:
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmTokenRate
mov r2, r0
ldr r3, [sp, #16]
str r2, [r3, #8]
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmBucketSize
mov r2, r0
ldr r3, [sp, #16]
str r2, [r3, #12]
.L451:
mov r3, #0
.L449:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_general_get_ratelimit_mode_value, .-qdma_general_get_ratelimit_mode_value
.align 2
.global qdma_general_set_ratelimit_bucket_size
.type qdma_general_set_ratelimit_bucket_size, %function
qdma_general_set_ratelimit_bucket_size:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #24]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #20]
ldr r3, [sp, #20]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #20]
ldr r3, [r3, #12]
str r3, [sp, #12]
ldr r3, [sp, #20]
ldr r2, [r3]
ldr r3, [sp, #20]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
ldr r1, [sp, #16]
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #24]
ldr r3, [sp, #24]
cmp r3, #0
bge .L453
ldr r3, [sp, #24]
b .L454
.L453:
ldr r3, [sp, #16]
cmp r3, #0
bne .L455
ldr r3, [sp, #20]
ldr r1, [r3]
ldr r2, [sp, #12]
ldr r3, [sp, #20]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, r3
bl generalSetRatelimitBucketSize
str r0, [sp, #24]
ldr r3, [sp, #24]
cmp r3, #0
bge .L456
movw r0, #:lower16:.LC159
movt r0, #:upper16:.LC159
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L460
mov r3, #2784
bl printk
ldr r3, [sp, #24]
b .L454
.L455:
mov r3, #0
str r3, [sp, #28]
b .L457
.L459:
ldr r3, [sp, #20]
ldr r1, [r3]
ldr r2, [sp, #12]
ldr r3, [sp, #20]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
ldr r2, [sp, #28]
bl generalSetTrtcmBucketSize
str r0, [sp, #24]
ldr r3, [sp, #24]
cmp r3, #0
bge .L458
movw r0, #:lower16:.LC159
movt r0, #:upper16:.LC159
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L460
movw r3, #2790
bl printk
ldr r3, [sp, #24]
b .L454
.L458:
ldr r3, [sp, #28]
add r3, r3, #1
str r3, [sp, #28]
.L457:
ldr r3, [sp, #28]
cmp r3, #1
bls .L459
.L456:
mov r3, #0
.L454:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L461:
.align 2
.L460:
.word .LC3+60
.fnend
.size qdma_general_set_ratelimit_bucket_size, .-qdma_general_set_ratelimit_bucket_size
.section .rodata.str1.4
.align 2
.LC160:
.ascii "%s: %s [%d]: Fault: TRTCM mode is not enable.\012\000"
.align 2
.LC161:
.ascii "%s: %s [%d]: Fault:Set trtcm mode cfg error.\012\000"
.text
.align 2
.global qdma_general_set_trtcm_mode_cfg
.type qdma_general_set_trtcm_mode_cfg, %function
qdma_general_set_trtcm_mode_cfg:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #8]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
cmp r3, #0
bne .L463
movw r0, #:lower16:.LC160
movt r0, #:upper16:.LC160
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L472
movw r3, #2808
bl printk
mvn r3, #21
b .L464
.L463:
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L465
ldr r3, [sp, #12]
b .L464
.L465:
ldr r3, [sp, #8]
ldr r1, [r3]
ldr r3, [sp, #8]
ldr r2, [r3, #8]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #0
bl generalSetTrtcmMeterMode
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L466
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L472
movw r3, #2818
bl printk
ldr r3, [sp, #12]
b .L464
.L466:
ldr r3, [sp, #8]
ldr r1, [r3]
ldr r3, [sp, #8]
ldr r2, [r3, #12]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #0
bl generalSetTrtcmPktMode
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L467
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L472
movw r3, #2822
bl printk
ldr r3, [sp, #12]
b .L464
.L467:
ldr r3, [sp, #8]
ldr r1, [r3]
ldr r3, [sp, #8]
ldr r2, [r3, #16]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #0
bl generalSetTrtcmTickSel
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L468
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L472
movw r3, #2826
bl printk
ldr r3, [sp, #12]
b .L464
.L468:
ldr r3, [sp, #8]
ldr r1, [r3]
ldr r3, [sp, #8]
ldr r2, [r3, #20]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #1
bl generalSetTrtcmMeterMode
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L469
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L472
mov r3, #2832
bl printk
ldr r3, [sp, #12]
b .L464
.L469:
ldr r3, [sp, #8]
ldr r1, [r3]
ldr r3, [sp, #8]
ldr r2, [r3, #24]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #1
bl generalSetTrtcmPktMode
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L470
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L472
movw r3, #2836
bl printk
ldr r3, [sp, #12]
b .L464
.L470:
ldr r3, [sp, #8]
ldr r1, [r3]
ldr r3, [sp, #8]
ldr r2, [r3, #28]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #1
bl generalSetTrtcmTickSel
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L471
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L472
movw r3, #2840
bl printk
ldr r3, [sp, #12]
b .L464
.L471:
mov r3, #0
.L464:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L473:
.align 2
.L472:
.word .LC3+60
.fnend
.size qdma_general_set_trtcm_mode_cfg, .-qdma_general_set_trtcm_mode_cfg
.align 2
.global qdma_general_get_trtcm_mode_cfg
.type qdma_general_get_trtcm_mode_cfg, %function
qdma_general_get_trtcm_mode_cfg:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #8]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
cmp r3, #0
bne .L475
movw r0, #:lower16:.LC160
movt r0, #:upper16:.LC160
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L478
movw r3, #2855
bl printk
mvn r3, #21
b .L476
.L475:
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L477
ldr r3, [sp, #12]
b .L476
.L477:
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #0
mov r2, r3
bl generalGetTrtcmMeterMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #8]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #0
mov r2, r3
bl generalGetTrtcmPktMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #12]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #0
mov r2, r3
bl generalGetTrtcmTickSel
mov r3, r0
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #16]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmMeterMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #20]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmPktMode
mov r3, r0
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #24]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmTickSel
mov r3, r0
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #28]
mov r3, #0
.L476:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L479:
.align 2
.L478:
.word .LC3+60
.fnend
.size qdma_general_get_trtcm_mode_cfg, .-qdma_general_get_trtcm_mode_cfg
.section .rodata.str1.4
.align 2
.LC162:
.ascii "%s: %s [%d]: Fault: set trtcm mode value error.\012"
.ascii "\000"
.text
.align 2
.global qdma_general_set_trtcm_mode_value
.type qdma_general_set_trtcm_mode_value, %function
qdma_general_set_trtcm_mode_value:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #16]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
ldr r3, [sp, #12]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
cmp r3, #0
bne .L481
movw r0, #:lower16:.LC160
movt r0, #:upper16:.LC160
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L488
movw r3, #2886
bl printk
mvn r3, #21
b .L482
.L481:
ldr r3, [sp, #12]
ldr r2, [r3]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L483
ldr r3, [sp, #16]
b .L482
.L483:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r3, [sp, #12]
ldr r2, [r3, #8]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #0
bl generalSetTrtcmTokenRate
str r0, [sp, #20]
ldr r3, [sp, #20]
cmp r3, #0
bge .L484
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L488
mov r3, #2896
bl printk
ldr r3, [sp, #20]
b .L482
.L484:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r2, [sp, #20]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #0
bl generalSetTrtcmBucketSize
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L485
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L488
movw r3, #2900
bl printk
ldr r3, [sp, #16]
b .L482
.L485:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r3, [sp, #12]
ldr r2, [r3, #12]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #1
bl generalSetTrtcmTokenRate
str r0, [sp, #20]
ldr r3, [sp, #20]
cmp r3, #0
bge .L486
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L488
movw r3, #2906
bl printk
ldr r3, [sp, #20]
b .L482
.L486:
ldr r3, [sp, #12]
ldr r1, [r3]
ldr r2, [sp, #20]
ldr r3, [sp, #12]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #1
bl generalSetTrtcmBucketSize
str r0, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #0
bge .L487
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L488
movw r3, #2910
bl printk
ldr r3, [sp, #16]
b .L482
.L487:
mov r3, #0
.L482:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L489:
.align 2
.L488:
.word .LC3+60
.fnend
.size qdma_general_set_trtcm_mode_value, .-qdma_general_set_trtcm_mode_value
.align 2
.global qdma_general_get_trtcm_mode_value
.type qdma_general_get_trtcm_mode_value, %function
qdma_general_get_trtcm_mode_value:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #8]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
cmp r3, #0
bne .L491
movw r0, #:lower16:.LC160
movt r0, #:upper16:.LC160
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L494
movw r3, #2926
bl printk
mvn r3, #21
b .L492
.L491:
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L493
ldr r3, [sp, #12]
b .L492
.L493:
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #0
mov r2, r3
bl generalGetTrtcmTokenRate
mov r2, r0
ldr r3, [sp, #8]
str r2, [r3, #8]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #0
mov r2, r3
bl generalGetTrtcmBucketSize
mov r2, r0
ldr r3, [sp, #8]
str r2, [r3, #16]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmTokenRate
mov r2, r0
ldr r3, [sp, #8]
str r2, [r3, #12]
ldr r3, [sp, #8]
ldr r2, [r3]
ldr r3, [sp, #8]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl generalGetTrtcmBucketSize
mov r2, r0
ldr r3, [sp, #8]
str r2, [r3, #20]
mov r3, #0
.L492:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L495:
.align 2
.L494:
.word .LC3+60
.fnend
.size qdma_general_get_trtcm_mode_value, .-qdma_general_get_trtcm_mode_value
.align 2
.global qdma_general_set_trtcm_bucket_size
.type qdma_general_set_trtcm_bucket_size, %function
qdma_general_set_trtcm_bucket_size:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r3, [r3, #16]
str r3, [sp, #12]
ldr r3, [sp, #16]
ldr r3, [r3, #20]
str r3, [sp, #8]
ldr r3, [sp, #16]
ldr r3, [r3]
mov r0, r3
bl generalGetTrtcmMode
mov r3, r0
cmp r3, #0
bne .L497
movw r0, #:lower16:.LC160
movt r0, #:upper16:.LC160
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L502
movw r3, #2956
bl printk
mvn r3, #21
b .L498
.L497:
ldr r3, [sp, #16]
ldr r2, [r3]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r2
mov r1, #1
mov r2, r3
bl qdma_general_check_index_valid
str r0, [sp, #20]
ldr r3, [sp, #20]
cmp r3, #0
bge .L499
ldr r3, [sp, #20]
b .L498
.L499:
ldr r3, [sp, #16]
ldr r1, [r3]
ldr r2, [sp, #12]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #0
bl generalSetTrtcmBucketSize
str r0, [sp, #20]
ldr r3, [sp, #20]
cmp r3, #0
bge .L500
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L502
movw r3, #2966
bl printk
ldr r3, [sp, #20]
b .L498
.L500:
ldr r3, [sp, #16]
ldr r1, [r3]
ldr r2, [sp, #8]
ldr r3, [sp, #16]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r0, r1
mov r1, r2
mov r2, #1
bl generalSetTrtcmBucketSize
str r0, [sp, #20]
ldr r3, [sp, #20]
cmp r3, #0
bge .L501
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L502
movw r3, #2972
bl printk
ldr r3, [sp, #20]
b .L498
.L501:
mov r3, #0
.L498:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L503:
.align 2
.L502:
.word .LC3+60
.fnend
.size qdma_general_set_trtcm_bucket_size, .-qdma_general_set_trtcm_bucket_size
.align 2
.global qdma_set_tx_wred_mode
.type qdma_set_tx_wred_mode, %function
qdma_set_tx_wred_mode:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r3, [r3]
cmp r3, #1
bne .L505
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #12]
orr r2, r2, #268435456
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L506
.L505:
ldr r3, [sp, #16]
ldr r3, [r3]
cmp r3, #0
bne .L506
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #8]
bic r2, r2, #268435456
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L506:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_tx_wred_mode, .-qdma_set_tx_wred_mode
.align 2
.global qdma_get_tx_wred_mode
.type qdma_get_tx_wred_mode, %function
qdma_get_tx_wred_mode:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #268435456
mov r3, r3, asr #28
cmp r3, #0
beq .L509
ldr r3, [sp, #8]
mov r2, #1
str r2, [r3]
b .L510
.L509:
ldr r3, [sp, #8]
mov r2, #0
str r2, [r3]
.L510:
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_wred_mode, .-qdma_get_tx_wred_mode
.section .rodata.str1.4
.align 2
.LC163:
.ascii "%s: %s [%d]: Fault: Tx Wred threshold range: 0 ~ 56"
.ascii " !\012\000"
.text
.align 2
.global qdma_set_tx_wred_threshold
.type qdma_set_tx_wred_threshold, %function
qdma_set_tx_wred_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #16]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #28]
mov r3, #0
str r3, [sp, #24]
mov r3, #0
strb r3, [sp, #23]
mov r3, #0
strb r3, [sp, #22]
mov r3, #0
str r3, [sp, #28]
b .L513
.L521:
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #56
bhi .L514
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #31
bls .L515
mov r3, #3
strb r3, [sp, #23]
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r3, r3, lsr #3
strb r3, [sp, #22]
b .L516
.L515:
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #15
bls .L517
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #31
bhi .L517
mov r3, #2
strb r3, [sp, #23]
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r3, r3, lsr #2
strb r3, [sp, #22]
b .L516
.L517:
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #7
bls .L518
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #15
bhi .L518
mov r3, #1
strb r3, [sp, #23]
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r3, r3, lsr #1
strb r3, [sp, #22]
b .L516
.L518:
mov r3, #0
strb r3, [sp, #23]
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4]
strb r3, [sp, #22]
.L516:
ldrb r1, [sp, #23] @ zero_extendqisi2
ldr r2, [sp, #28]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
add r3, r3, #3
mov r1, r1, asl r3
ldrb r0, [sp, #22] @ zero_extendqisi2
ldr r2, [sp, #28]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r3, r0, asl r3
orr r3, r1, r3
mov r2, r3
ldr r3, [sp, #24]
orr r3, r3, r2
str r3, [sp, #24]
b .L524
.L514:
movw r0, #:lower16:.LC163
movt r0, #:upper16:.LC163
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L525
movw r3, #3032
bl printk
mov r3, #0
b .L520
.L524:
ldr r3, [sp, #28]
add r3, r3, #1
str r3, [sp, #28]
.L513:
ldr r3, [sp, #28]
cmp r3, #4
bls .L521
ldr r3, [sp, #12]
ldr r3, [r3, #4]
cmp r3, #1
bhi .L522
ldr r3, [sp, #12]
ldr r3, [r3, #4]
cmp r3, #0
bne .L523
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #16
mov r0, r3
ldr r1, [sp, #24]
bl set_frame_engine_data
b .L522
.L523:
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #20
mov r0, r3
ldr r1, [sp, #24]
bl set_frame_engine_data
.L522:
mov r3, #0
.L520:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L526:
.align 2
.L525:
.word .LC3+60
.fnend
.size qdma_set_tx_wred_threshold, .-qdma_set_tx_wred_threshold
.align 2
.global qdma_get_tx_wred_threshold
.type qdma_get_tx_wred_threshold, %function
qdma_get_tx_wred_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #28]
mov r3, #0
str r3, [sp, #24]
mov r3, #0
strb r3, [sp, #15]
mov r3, #0
strb r3, [sp, #14]
add r3, sp, #9
mov r2, #0
strb r2, [r3]
add r3, r3, #1
mov r2, #0
strb r2, [r3]
add r3, r3, #1
mov r2, #0
strb r2, [r3]
add r3, r3, #1
mov r2, #0
strb r2, [r3]
add r3, r3, #1
mov r2, #0
strb r2, [r3]
add r3, r3, #1
ldr r3, [sp, #16]
ldr r3, [r3, #4]
cmp r3, #1
bhi .L528
ldr r3, [sp, #16]
ldr r3, [r3, #4]
cmp r3, #0
bne .L529
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #16
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
b .L528
.L529:
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #20
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
.L528:
mov r3, #0
str r3, [sp, #28]
b .L530
.L531:
ldr r2, [sp, #28]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3
mov r3, #7
mov r3, r3, asl r2
mov r2, r3
ldr r3, [sp, #24]
and r1, r2, r3
ldr r2, [sp, #28]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r1, r1, lsr r3
ldr r2, [sp, #28]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
add r3, r3, #3
mov r2, r3
mov r3, #3
mov r3, r3, asl r2
mov r2, r3
ldr r3, [sp, #24]
and r0, r2, r3
ldr r2, [sp, #28]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
add r3, r3, #3
mov r3, r0, lsr r3
mov r3, r1, asl r3
uxtb r1, r3
ldr r2, [sp, #16]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
mov r2, r1
strb r2, [r3, #4]
ldr r3, [sp, #28]
add r3, r3, #1
str r3, [sp, #28]
.L530:
ldr r3, [sp, #28]
cmp r3, #4
bls .L531
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_wred_threshold, .-qdma_get_tx_wred_threshold
.align 2
.global qdma_set_tx_wred_probability
.type qdma_set_tx_wred_probability, %function
qdma_set_tx_wred_probability:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #28]
mov r3, #0
str r3, [sp, #24]
mov r3, #0
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #28]
b .L534
.L536:
ldr r2, [sp, #16]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #100
bhi .L535
ldr r2, [sp, #16]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3] @ zero_extendqisi2
mov r2, r3
mov r3, r2
mov r3, r3, asl #8
rsb r1, r2, r3
movw r3, #34079
movt r3, 20971
smull r2, r3, r1, r3
mov r2, r3, asr #5
mov r3, r1, asr #31
rsb r3, r3, r2
uxtb r1, r3
add r2, sp, #12
ldr r3, [sp, #28]
add r3, r2, r3
mov r2, r1
strb r2, [r3]
.L535:
add r2, sp, #12
ldr r3, [sp, #28]
add r3, r2, r3
ldrb r3, [r3] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #28]
mov r3, r3, asl #3
mov r3, r2, asl r3
mov r2, r3
ldr r3, [sp, #24]
orr r3, r3, r2
str r3, [sp, #24]
ldr r3, [sp, #28]
add r3, r3, #1
str r3, [sp, #28]
.L534:
ldr r3, [sp, #28]
cmp r3, #3
bls .L536
ldr r3, [sp, #16]
ldr r3, [r3, #4]
cmp r3, #1
bhi .L537
ldr r3, [sp, #16]
ldr r3, [r3, #4]
cmp r3, #0
bne .L538
ldr r3, [sp, #20]
add r3, r3, #128
mov r0, r3
ldr r1, [sp, #24]
bl set_frame_engine_data
b .L537
.L538:
ldr r3, [sp, #20]
add r3, r3, #132
mov r0, r3
ldr r1, [sp, #24]
bl set_frame_engine_data
.L537:
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_tx_wred_probability, .-qdma_set_tx_wred_probability
.align 2
.global qdma_get_tx_wred_probability
.type qdma_get_tx_wred_probability, %function
qdma_get_tx_wred_probability:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #28]
mov r3, #0
str r3, [sp, #24]
mov r3, #0
str r3, [sp, #12]
ldr r3, [sp, #16]
ldr r3, [r3, #4]
cmp r3, #1
bhi .L541
ldr r3, [sp, #16]
ldr r3, [r3, #4]
cmp r3, #0
bne .L542
ldr r3, [sp, #20]
add r3, r3, #128
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
b .L541
.L542:
ldr r3, [sp, #20]
add r3, r3, #132
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
.L541:
mov r3, #0
str r3, [sp, #28]
b .L543
.L544:
ldr r3, [sp, #28]
mov r3, r3, asl #3
mov r2, r3
mov r3, #255
mov r3, r3, asl r2
mov r2, r3
ldr r3, [sp, #24]
and r3, r3, r2
ldr r2, [sp, #28]
mov r2, r2, asl #3
mov r3, r3, lsr r2
uxtb r1, r3
add r2, sp, #12
ldr r3, [sp, #28]
add r3, r2, r3
mov r2, r1
strb r2, [r3]
add r2, sp, #12
ldr r3, [sp, #28]
add r3, r2, r3
ldrb r3, [r3] @ zero_extendqisi2
mov r2, r3
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
movw r3, #32897
movt r3, 32896
smull r0, r1, r2, r3
add r3, r2, r1
mov r1, r3, asr #7
mov r3, r2, asr #31
rsb r3, r3, r1
uxtb r1, r3
ldr r2, [sp, #16]
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #8
mov r2, r1
strb r2, [r3]
ldr r3, [sp, #28]
add r3, r3, #1
str r3, [sp, #28]
.L543:
ldr r3, [sp, #28]
cmp r3, #3
bls .L544
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_wred_probability, .-qdma_get_tx_wred_probability
.align 2
.global qdma_get_tx_wred_cfg
.type qdma_get_tx_wred_cfg, %function
qdma_get_tx_wred_cfg:
.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
str r0, [sp, #4]
ldr r0, [sp, #4]
bl qdma_get_tx_wred_probability
ldr r0, [sp, #4]
bl qdma_get_tx_wred_threshold
mov r3, #0
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_wred_cfg, .-qdma_get_tx_wred_cfg
.align 2
.global qdma_set_cpu_rx_red_probability
.type qdma_set_cpu_rx_red_probability, %function
qdma_set_cpu_rx_red_probability:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #24]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #24]
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #100
bhi .L549
ldr r3, [sp, #24]
ldrb r3, [r3, #4] @ zero_extendqisi2
mov r2, r3
mov r3, r2
mov r3, r3, asl #8
rsb r1, r2, r3
movw r3, #34079
movt r3, 20971
smull r2, r3, r1, r3
mov r2, r3, asr #5
mov r3, r1, asr #31
rsb r3, r3, r2
str r3, [sp, #20]
ldr r3, [sp, #24]
ldr r3, [r3]
cmp r3, #1
bhi .L549
ldr r3, [sp, #24]
ldr r3, [r3]
cmp r3, #0
bne .L550
ldr r3, [sp, #28]
add r3, r3, #136
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #28]
add r1, r3, #136
ldr r3, [sp, #16]
bic r2, r3, #255
ldr r3, [sp, #20]
uxtb r3, r3
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
b .L549
.L550:
ldr r3, [sp, #28]
add r3, r3, #136
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #28]
add r1, r3, #136
ldr r3, [sp, #12]
bic r2, r3, #65280
ldr r3, [sp, #20]
mov r3, r3, asl #8
uxth r3, r3
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
.L549:
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_cpu_rx_red_probability, .-qdma_set_cpu_rx_red_probability
.align 2
.global qdma_get_cpu_rx_red_probability
.type qdma_get_cpu_rx_red_probability, %function
qdma_get_cpu_rx_red_probability:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #16]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3]
cmp r3, #1
bhi .L553
ldr r3, [sp, #12]
ldr r3, [r3]
cmp r3, #0
bne .L554
ldr r3, [sp, #16]
add r3, r3, #136
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxtb r3, r3
str r3, [sp, #20]
b .L555
.L554:
ldr r3, [sp, #16]
add r3, r3, #136
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #65280
mov r3, r3, asr #8
str r3, [sp, #20]
.L555:
ldr r2, [sp, #20]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
movw r3, #32897
movt r3, 32896
umull r2, r3, r2, r3
mov r3, r3, lsr #7
uxtb r2, r3
ldr r3, [sp, #12]
strb r2, [r3, #4]
.L553:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_cpu_rx_red_probability, .-qdma_get_cpu_rx_red_probability
.align 2
.global qdma_enable_tx_ratelimit
.type qdma_enable_tx_ratelimit, %function
qdma_enable_tx_ratelimit:
.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 r0, #2
mov r1, #1
bl generalSetTrtcmRateEnable
str r0, [sp, #12]
ldr r3, [sp, #12]
cmp r3, #0
bge .L558
movw r0, #:lower16:.LC156
movt r0, #:upper16:.LC156
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L560
movw r3, #3161
bl printk
ldr r3, [sp, #12]
b .L559
.L558:
mov r3, #0
.L559:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.L561:
.align 2
.L560:
.word .LC3+60
.fnend
.size qdma_enable_tx_ratelimit, .-qdma_enable_tx_ratelimit
.align 2
.global qdma_set_rx_ratelimit_en
.type qdma_set_rx_ratelimit_en, %function
qdma_set_rx_ratelimit_en:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
mov r0, #0
bl generalGetTrtcmMode
mov r3, r0
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #20]
b .L563
.L566:
ldr r3, [sp, #12]
cmp r3, #0
bne .L564
ldr r3, [sp, #20]
uxtb r3, r3
mov r0, #0
ldr r1, [sp, #16]
mov r2, r3
bl generalSetRatelimitMeterMode
b .L565
.L564:
ldr r3, [sp, #20]
uxtb r3, r3
mov r0, #0
ldr r1, [sp, #16]
mov r2, #0
bl generalSetTrtcmMeterMode
ldr r3, [sp, #20]
uxtb r3, r3
mov r0, #0
ldr r1, [sp, #16]
mov r2, #1
bl generalSetTrtcmMeterMode
.L565:
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L563:
ldr r3, [sp, #20]
cmp r3, #15
ble .L566
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_rx_ratelimit_en, .-qdma_set_rx_ratelimit_en
.align 2
.global qdma_set_tx_ratelimit_cfg
.type qdma_set_tx_ratelimit_cfg, %function
qdma_set_tx_ratelimit_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_set_tx_ratelimit_cfg, .-qdma_set_tx_ratelimit_cfg
.align 2
.global qdma_get_tx_ratelimit_cfg
.type qdma_get_tx_ratelimit_cfg, %function
qdma_get_tx_ratelimit_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_get_tx_ratelimit_cfg, .-qdma_get_tx_ratelimit_cfg
.align 2
.global qdma_set_tx_ratelimit
.type qdma_set_tx_ratelimit, %function
qdma_set_tx_ratelimit:
.fnstart
@ args = 0, pretend = 0, frame = 80
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #84
sub sp, sp, #84
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #76]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #72]
add r3, sp, #24
str r3, [sp, #52]
mov r3, #2
str r3, [sp, #24]
ldr r3, [sp, #72]
ldrb r3, [r3] @ zero_extendqisi2
strb r3, [sp, #28]
add r3, sp, #44
mov r0, r3
bl qdma_general_get_ratelimit_mode_cfg
ldr r3, [sp, #72]
ldrb r3, [r3, #1] @ zero_extendqisi2
str r3, [sp, #32]
add r3, sp, #44
mov r0, r3
bl qdma_general_set_ratelimit_mode_cfg
str r0, [sp, #76]
ldr r3, [sp, #76]
cmp r3, #0
bge .L573
ldr r3, [sp, #76]
b .L576
.L573:
add r3, sp, #8
str r3, [sp, #52]
mov r3, #2
str r3, [sp, #8]
ldr r3, [sp, #72]
ldrb r3, [r3] @ zero_extendqisi2
strb r3, [sp, #12]
ldr r3, [sp, #72]
ldr r3, [r3, #4]
str r3, [sp, #16]
add r3, sp, #44
mov r0, r3
bl qdma_general_set_ratelimit_mode_value
str r0, [sp, #76]
ldr r3, [sp, #76]
cmp r3, #0
bge .L575
ldr r3, [sp, #76]
b .L576
.L575:
mov r3, #0
.L576:
mov r0, r3
add sp, sp, #84
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_tx_ratelimit, .-qdma_set_tx_ratelimit
.align 2
.global qdma_get_tx_ratelimit
.type qdma_get_tx_ratelimit, %function
qdma_get_tx_ratelimit:
.fnstart
@ args = 0, pretend = 0, frame = 80
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #84
sub sp, sp, #84
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #76]
add r3, sp, #28
str r3, [sp, #56]
mov r3, #2
str r3, [sp, #28]
ldr r3, [sp, #76]
ldrb r3, [r3] @ zero_extendqisi2
strb r3, [sp, #32]
add r3, sp, #48
mov r0, r3
bl qdma_general_get_ratelimit_mode_cfg
add r3, sp, #12
str r3, [sp, #56]
mov r3, #2
str r3, [sp, #12]
ldr r3, [sp, #76]
ldrb r3, [r3] @ zero_extendqisi2
strb r3, [sp, #16]
add r3, sp, #48
mov r0, r3
bl qdma_general_get_ratelimit_mode_value
ldr r3, [sp, #36]
uxtb r2, r3
ldr r3, [sp, #76]
strb r2, [r3, #1]
ldr r2, [sp, #20]
ldr r3, [sp, #76]
str r2, [r3, #4]
ldr r2, [sp, #24]
ldr r3, [sp, #76]
str r2, [r3, #8]
mov r3, #0
mov r0, r3
add sp, sp, #84
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_ratelimit, .-qdma_get_tx_ratelimit
.align 2
.global qdma_set_rx_ratelimit_pkt_mode
.type qdma_set_rx_ratelimit_pkt_mode, %function
qdma_set_rx_ratelimit_pkt_mode:
.fnstart
@ args = 0, pretend = 0, frame = 72
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #76
sub sp, sp, #76
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #64]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #60]
add r3, sp, #12
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #68]
b .L580
.L585:
mov r3, #0
str r3, [sp, #12]
ldr r3, [sp, #68]
uxtb r3, r3
strb r3, [sp, #16]
add r3, sp, #32
mov r0, r3
bl qdma_general_get_ratelimit_mode_cfg
ldr r3, [sp, #60]
cmp r3, #1
bne .L581
mov r3, #1
str r3, [sp, #24]
b .L582
.L581:
mov r3, #0
str r3, [sp, #24]
.L582:
add r3, sp, #32
mov r0, r3
bl qdma_general_set_ratelimit_mode_cfg
str r0, [sp, #64]
ldr r3, [sp, #64]
cmp r3, #0
bge .L583
ldr r3, [sp, #64]
b .L586
.L583:
ldr r3, [sp, #68]
add r3, r3, #1
str r3, [sp, #68]
.L580:
ldr r3, [sp, #68]
cmp r3, #15
bls .L585
mov r3, #0
.L586:
mov r0, r3
add sp, sp, #76
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_rx_ratelimit_pkt_mode, .-qdma_set_rx_ratelimit_pkt_mode
.global __aeabi_idiv
.align 2
.global qdma_get_rx_ratelimit_cfg
.type qdma_get_rx_ratelimit_cfg, %function
qdma_get_rx_ratelimit_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 88
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #92
sub sp, sp, #92
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #84]
add r3, sp, #12
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #12]
mov r3, #0
strb r3, [sp, #16]
add r3, sp, #32
mov r0, r3
bl qdma_general_get_ratelimit_mode_cfg
ldr r3, [sp, #20]
uxtb r2, r3
ldr r3, [sp, #84]
strb r2, [r3]
ldr r3, [sp, #24]
cmp r3, #1
bne .L588
ldr r3, [sp, #84]
mov r2, #1
str r2, [r3, #4]
b .L589
.L588:
ldr r3, [sp, #84]
mov r2, #0
str r2, [r3, #4]
.L589:
ldr r2, [sp, #24]
ldr r3, [sp, #28]
mov r1, #0
str r1, [sp, #80]
str r2, [sp, #76]
str r3, [sp, #72]
mov r3, #0
str r3, [sp, #68]
mov r3, #0
str r3, [sp, #64]
mov r3, #0
str r3, [sp, #60]
ldr r3, [sp, #76]
cmp r3, #1
bne .L590
movw r3, #16960
movt r3, 15
str r3, [sp, #68]
b .L591
.L590:
mov r3, #8000
str r3, [sp, #68]
.L591:
ldr r3, [sp, #72]
cmp r3, #0
bne .L592
ldr r0, [sp, #80]
bl generalGetTrtcmFastTick
mov r3, r0
b .L593
.L592:
ldr r0, [sp, #80]
bl generalGetTrtcmSlowTick
mov r3, r0
.L593:
str r3, [sp, #64]
ldr r3, [sp, #64]
cmp r3, #0
bne .L594
mov r3, #0
str r3, [sp, #60]
b .L595
.L594:
ldr r0, [sp, #68]
ldr r1, [sp, #64]
bl __aeabi_idiv
mov r3, r0
str r3, [sp, #60]
.L595:
ldr r3, [sp, #60]
uxth r2, r3
ldr r3, [sp, #84]
strh r2, [r3, #8] @ movhi
ldr r3, [sp, #84]
mov r2, #13
str r2, [r3, #12]
mov r3, #0
mov r0, r3
add sp, sp, #92
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_rx_ratelimit_cfg, .-qdma_get_rx_ratelimit_cfg
.align 2
.global qdma_set_rx_ratelimit
.type qdma_set_rx_ratelimit, %function
qdma_set_rx_ratelimit:
.fnstart
@ args = 0, pretend = 0, frame = 80
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #84
sub sp, sp, #84
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #76]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #72]
add r3, sp, #8
str r3, [sp, #52]
mov r3, #0
str r3, [sp, #8]
ldr r3, [sp, #72]
ldrb r3, [r3] @ zero_extendqisi2
strb r3, [sp, #12]
add r3, sp, #44
mov r0, r3
bl qdma_general_get_ratelimit_mode_cfg
ldr r3, [sp, #20]
cmp r3, #0
bne .L599
ldr r3, [sp, #72]
ldr r2, [r3, #4]
movw r3, #34463
movt r3, 1
cmp r2, r3
bhi .L600
mov r3, #1
str r3, [sp, #24]
b .L602
.L600:
mov r3, #0
str r3, [sp, #24]
b .L602
.L599:
ldr r3, [sp, #72]
ldr r2, [r3, #4]
movw r3, #14463
movt r3, 1
cmp r2, r3
bhi .L603
mov r3, #1
str r3, [sp, #24]
b .L602
.L603:
mov r3, #0
str r3, [sp, #24]
.L602:
add r3, sp, #44
mov r0, r3
bl qdma_general_set_ratelimit_mode_cfg
str r0, [sp, #76]
ldr r3, [sp, #76]
cmp r3, #0
bge .L604
ldr r3, [sp, #76]
b .L606
.L604:
add r3, sp, #28
str r3, [sp, #52]
mov r3, #0
str r3, [sp, #28]
ldr r3, [sp, #72]
ldrb r3, [r3] @ zero_extendqisi2
strb r3, [sp, #32]
ldr r3, [sp, #72]
ldr r3, [r3, #4]
str r3, [sp, #36]
add r3, sp, #44
mov r0, r3
bl qdma_general_set_ratelimit_mode_value
mov r3, #0
.L606:
mov r0, r3
add sp, sp, #84
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_rx_ratelimit, .-qdma_set_rx_ratelimit
.align 2
.global qdma_get_rx_ratelimit
.type qdma_get_rx_ratelimit, %function
qdma_get_rx_ratelimit:
.fnstart
@ args = 0, pretend = 0, frame = 56
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #60
sub sp, sp, #60
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #52]
add r3, sp, #8
str r3, [sp, #32]
mov r3, #0
str r3, [sp, #8]
ldr r3, [sp, #52]
ldrb r3, [r3] @ zero_extendqisi2
strb r3, [sp, #12]
add r3, sp, #24
mov r0, r3
bl qdma_general_get_ratelimit_mode_value
ldr r2, [sp, #16]
ldr r3, [sp, #52]
str r2, [r3, #4]
ldr r2, [sp, #20]
ldr r3, [sp, #52]
str r2, [r3, #8]
mov r3, #0
mov r0, r3
add sp, sp, #60
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_rx_ratelimit, .-qdma_get_rx_ratelimit
.section .rodata.str1.4
.align 2
.LC164:
.ascii "%s: %s [%d]: Fault: channel index shoule between 0 "
.ascii "and %d\012\000"
.text
.align 2
.global qdma_set_tx_dba_report
.type qdma_set_tx_dba_report, %function
qdma_set_tx_dba_report:
.fnstart
@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #52
sub sp, sp, #52
str r0, [sp, #12]
mov r3, #0
str r3, [sp, #44]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #36]
mov r3, #0
str r3, [sp, #32]
mov r3, #0
str r3, [sp, #28]
mov r3, #0
str r3, [sp, #24]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L610
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC164
movt r0, #:upper16:.LC164
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3860
bl printk
mvn r3, #21
b .L611
.L610:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #1
mov r2, #0
bl generalSetTrtcmMeterMode
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L612
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3867
bl printk
ldr r3, [sp, #44]
b .L611
.L612:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #0
mov r2, #0
bl generalSetTrtcmPktMode
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L613
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3871
bl printk
ldr r3, [sp, #44]
b .L611
.L613:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #0
mov r2, #0
bl generalSetTrtcmTickSel
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L614
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3875
bl printk
ldr r3, [sp, #44]
b .L611
.L614:
ldr r3, [sp, #16]
ldr r2, [r3, #4]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, r2
mov r2, #0
bl generalSetTrtcmTokenRate
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L615
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3879
bl printk
ldr r3, [sp, #44]
b .L611
.L615:
ldr r3, [sp, #16]
ldr r2, [r3, #8]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, r2
mov r2, #0
bl generalSetTrtcmBucketSize
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L616
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3883
bl printk
ldr r3, [sp, #44]
b .L611
.L616:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #1
mov r2, #1
bl generalSetTrtcmMeterMode
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L617
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3889
bl printk
ldr r3, [sp, #44]
b .L611
.L617:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #0
mov r2, #1
bl generalSetTrtcmPktMode
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L618
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3893
bl printk
ldr r3, [sp, #44]
b .L611
.L618:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #0
mov r2, #1
bl generalSetTrtcmTickSel
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L619
movw r0, #:lower16:.LC161
movt r0, #:upper16:.LC161
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3897
bl printk
ldr r3, [sp, #44]
b .L611
.L619:
ldr r3, [sp, #16]
ldr r2, [r3, #12]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, r2
mov r2, #1
bl generalSetTrtcmTokenRate
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L620
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3901
bl printk
ldr r3, [sp, #44]
b .L611
.L620:
ldr r3, [sp, #16]
ldr r2, [r3, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, r2
mov r2, #1
bl generalSetTrtcmBucketSize
str r0, [sp, #44]
ldr r3, [sp, #44]
cmp r3, #0
bge .L621
movw r0, #:lower16:.LC162
movt r0, #:upper16:.LC162
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L622
movw r3, #3905
bl printk
ldr r3, [sp, #44]
b .L611
.L621:
mov r3, #0
.L611:
mov r0, r3
add sp, sp, #52
@ sp needed
ldr pc, [sp], #4
.L623:
.align 2
.L622:
.word .LC3+60
.fnend
.size qdma_set_tx_dba_report, .-qdma_set_tx_dba_report
.align 2
.global qdma_get_tx_dba_report
.type qdma_get_tx_dba_report, %function
qdma_get_tx_dba_report:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #44
sub sp, sp, #44
str r0, [sp, #12]
mov r3, #0
str r3, [sp, #36]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #32]
mov r3, #0
str r3, [sp, #28]
mov r3, #0
str r3, [sp, #24]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L625
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC164
movt r0, #:upper16:.LC164
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L627
movw r3, #3973
bl printk
mvn r3, #21
b .L626
.L625:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #0
mov r2, r3
bl generalGetTrtcmTokenRate
mov r2, r0
ldr r3, [sp, #16]
str r2, [r3, #4]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #0
mov r2, r3
bl generalGetTrtcmBucketSize
mov r2, r0
ldr r3, [sp, #16]
str r2, [r3, #8]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #1
mov r2, r3
bl generalGetTrtcmTokenRate
mov r2, r0
ldr r3, [sp, #16]
str r2, [r3, #12]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r0, #2
mov r1, #1
mov r2, r3
bl generalGetTrtcmBucketSize
mov r2, r0
ldr r3, [sp, #16]
str r2, [r3, #16]
mov r3, #0
.L626:
mov r0, r3
add sp, sp, #44
@ sp needed
ldr pc, [sp], #4
.L628:
.align 2
.L627:
.word .LC3+60
.fnend
.size qdma_get_tx_dba_report, .-qdma_get_tx_dba_report
.align 2
.global qdma_set_rx_protect_en
.type qdma_set_rx_protect_en, %function
qdma_set_rx_protect_en:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_set_rx_protect_en, .-qdma_set_rx_protect_en
.align 2
.global qdma_get_rx_protect_en
.type qdma_get_rx_protect_en, %function
qdma_get_rx_protect_en:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_get_rx_protect_en, .-qdma_get_rx_protect_en
.section .rodata.str1.4
.align 2
.LC165:
.ascii "%s: %s [%d]: Fault: rxRingLowThrh_%d is %d, should "
.ascii "less than %d\012\000"
.text
.align 2
.global qdma_set_rx_low_threshold
.type qdma_set_rx_low_threshold, %function
qdma_set_rx_low_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, lr}
.save {r4, lr}
.pad #40
sub sp, sp, #40
str r0, [sp, #20]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #32]
mov r3, #0
str r3, [sp, #36]
ldr r3, [sp, #20]
ldr r3, [r3, #8]
str r3, [sp, #28]
mov r3, #0
str r3, [sp, #36]
b .L634
.L637:
ldr r3, [sp, #28]
ldr r2, [sp, #36]
ldr r4, [r3, r2, asl #2]
ldr r3, [sp, #36]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #32]
add r3, r2, r3
add r3, r3, #516
mov r0, r3
bl get_frame_engine_data
mov r3, r0
ubfx r3, r3, #0, #13
cmp r4, r3
bls .L635
ldr r3, [sp, #28]
ldr r2, [sp, #36]
ldr r4, [r3, r2, asl #2]
ldr r3, [sp, #36]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #32]
add r3, r2, r3
add r3, r3, #516
mov r0, r3
bl get_frame_engine_data
mov r3, r0
ubfx r3, r3, #0, #13
ldr r2, [sp, #36]
str r2, [sp]
str r4, [sp, #4]
str r3, [sp, #8]
movw r0, #:lower16:.LC165
movt r0, #:upper16:.LC165
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L638
movw r3, #4074
bl printk
mvn r3, #21
b .L636
.L635:
ldr r3, [sp, #36]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #32]
add r3, r2, r3
add r3, r3, #516
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
ldr r3, [sp, #36]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #32]
add r3, r2, r3
add r0, r3, #516
ldr r3, [sp, #24]
bic r2, r3, #532676608
bic r2, r2, #4128768
ldr r3, [sp, #28]
ldr r1, [sp, #36]
ldr r3, [r3, r1, asl #2]
mov r1, r3, asl #16
mov r3, #0
movt r3, 8191
and r3, r3, r1
orr r3, r2, r3
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #36]
add r3, r3, #1
str r3, [sp, #36]
.L634:
ldr r3, [sp, #36]
cmp r3, #15
ble .L637
mov r3, #0
.L636:
mov r0, r3
add sp, sp, #40
@ sp needed
ldmfd sp!, {r4, pc}
.L639:
.align 2
.L638:
.word .LC3+60
.fnend
.size qdma_set_rx_low_threshold, .-qdma_set_rx_low_threshold
.align 2
.global qdma_get_rx_low_threshold
.type qdma_get_rx_low_threshold, %function
qdma_get_rx_low_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #16]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #20]
b .L641
.L642:
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #516
mov r0, r3
bl get_frame_engine_data
mov r2, r0
mov r3, #0
movt r3, 8191
and r3, r3, r2
mov r3, r3, asr #16
mov r1, r3
ldr r3, [sp, #12]
ldr r2, [sp, #20]
str r1, [r3, r2, asl #2]
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L641:
ldr r3, [sp, #20]
cmp r3, #15
ble .L642
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_rx_low_threshold, .-qdma_get_rx_low_threshold
.align 2
.global qdma_set_txq_dei_drop_mode
.type qdma_set_txq_dei_drop_mode, %function
qdma_set_txq_dei_drop_mode:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #1
bne .L645
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #12]
orr r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L646
.L645:
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #8]
bic r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L646:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_txq_dei_drop_mode, .-qdma_set_txq_dei_drop_mode
.align 2
.global qdma_get_txq_dei_drop_mode
.type qdma_get_txq_dei_drop_mode, %function
qdma_get_txq_dei_drop_mode:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1073741824
cmp r3, #0
beq .L649
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
b .L650
.L649:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
.L650:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_dei_drop_mode, .-qdma_get_txq_dei_drop_mode
.align 2
.global qdma_set_txq_cngst_mode
.type qdma_set_txq_cngst_mode, %function
qdma_set_txq_cngst_mode:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, lr}
.save {r4, r5, lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
cmp r3, #1
bne .L653
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #20]
orr r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #8
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #28]
add r5, r3, #4096
add r5, r5, #8
ldr r3, [sp, #16]
mov r4, r3, lsr #16
mov r4, r4, asl #16
ldr r3, [sp, #28]
add r3, r3, #24
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #805306368
mov r3, r3, asr #28
add r3, r3, #1
mov r3, r3, asl #2
uxth r3, r3
orr r3, r4, r3
mov r0, r5
mov r1, r3
bl set_frame_engine_data
b .L654
.L653:
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #12]
bic r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #8
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #28]
add r2, r3, #4096
add r2, r2, #8
ldr r3, [sp, #8]
mov r3, r3, lsr #16
mov r3, r3, asl #16
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L654:
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldmfd sp!, {r4, r5, pc}
.fnend
.size qdma_set_txq_cngst_mode, .-qdma_set_txq_cngst_mode
.align 2
.global qdma_get_txq_cngst_mode
.type qdma_get_txq_cngst_mode, %function
qdma_get_txq_cngst_mode:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #536870912
cmp r3, #0
beq .L657
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
b .L658
.L657:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
.L658:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_mode, .-qdma_get_txq_cngst_mode
.align 2
.global qdma_set_txq_dei_threshold_scale
.type qdma_set_txq_dei_threshold_scale, %function
qdma_set_txq_dei_threshold_scale:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r0, [sp, #12]
ldr r1, [sp, #8]
bl qdmaSetDynCngstDeiThrhScale
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_txq_dei_threshold_scale, .-qdma_set_txq_dei_threshold_scale
.align 2
.global qdma_get_txq_dei_threshold_scale
.type qdma_get_txq_dei_threshold_scale, %function
qdma_get_txq_dei_threshold_scale:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r0, [sp, #12]
bl qdmaGetDynCngstDeiThrhScale
mov r2, r0
ldr r3, [sp, #4]
str r2, [r3, #8]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_dei_threshold_scale, .-qdma_get_txq_dei_threshold_scale
.section .rodata.str1.4
.align 2
.LC166:
.ascii "Error: CONFIG_HWFWD_DSCP_NUM should less than %d\012"
.ascii "\000"
.text
.align 2
.global qdma_set_txq_cngst_auto_config
.type qdma_set_txq_cngst_auto_config, %function
qdma_set_txq_cngst_auto_config:
.fnstart
@ args = 0, pretend = 0, frame = 120
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #124
sub sp, sp, #124
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #116]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #112]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #108]
mov r3, #0
str r3, [sp, #116]
b .L665
.L666:
ldr r3, [sp, #116]
mov r2, r3, asl #5
ldr r3, [sp, #112]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #104]
ldr r3, [sp, #116]
mov r2, r3, asl #5
ldr r3, [sp, #112]
add r3, r2, r3
add r2, r3, #260
ldr r3, [sp, #104]
bic r3, r3, #2
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #116]
mov r2, r3, asl #5
ldr r3, [sp, #112]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #100]
ldr r3, [sp, #116]
mov r2, r3, asl #5
ldr r3, [sp, #112]
add r3, r2, r3
add r2, r3, #260
ldr r3, [sp, #100]
bic r3, r3, #1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #116]
add r3, r3, #1
str r3, [sp, #116]
.L665:
ldr r3, [sp, #116]
cmp r3, #7
bls .L666
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #96]
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #96]
orr r2, r2, #262144
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #92]
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #92]
orr r2, r2, #131072
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #88]
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #88]
orr r2, r2, #65536
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #84]
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #84]
orr r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #92]
cmp r3, #256
bhi .L667
mov r3, #48
strh r3, [sp, #16] @ movhi
mov r3, #2
strh r3, [sp, #20] @ movhi
mov r3, #2
strh r3, [sp, #24] @ movhi
b .L668
.L667:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [r3, #92]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #96]
cmp r2, r3
bhi .L669
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #92]
mov r3, r3, lsr #1
uxth r3, r3
strh r3, [sp, #16] @ movhi
mov r3, #256
strh r3, [sp, #20] @ movhi
mov r3, #32
strh r3, [sp, #24] @ movhi
b .L668
.L669:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #96]
movw r0, #:lower16:.LC166
movt r0, #:upper16:.LC166
mov r1, r3
bl printk
mvn r3, #0
b .L674
.L668:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [r3, #92]
mov r3, r2
mov r3, r3, asl #3
add r2, r3, r2
movw r3, #52429
movt r3, 52428
umull r2, r3, r2, r3
mov r3, r3, lsr #3
uxth r3, r3
strh r3, [sp, #14] @ movhi
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #92]
mov r3, r3, lsr #1
uxth r3, r3
strh r3, [sp, #18] @ movhi
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #92]
mov r3, r3, lsr #1
uxth r3, r3
strh r3, [sp, #22] @ movhi
mov r3, #0
strh r3, [sp, #26] @ movhi
ldr r3, [sp, #108]
ldr r3, [r3]
cmp r3, #2
bne .L671
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #80]
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #80]
bic r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #76]
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #76]
bic r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L672
.L671:
ldr r3, [sp, #108]
ldr r3, [r3]
cmp r3, #0
bne .L673
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #72]
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #72]
orr r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #68]
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #68]
orr r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #64]
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #64]
bic r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #4]
add r2, sp, #14
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_set_txq_cngst_dynamic_threshold
b .L672
.L673:
ldr r3, [sp, #108]
ldr r3, [r3]
cmp r3, #1
bne .L672
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #60]
ldr r3, [sp, #112]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #60]
orr r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #56]
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #56]
orr r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #108]
ldr r3, [r3, #4]
ldr r0, [sp, #112]
mov r1, r3
bl qdmaSetTxPeekRateMargin
ldr r3, [sp, #112]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #52]
ldr r3, [sp, #112]
add r1, r3, #4096
add r1, r1, #12
ldr r3, [sp, #52]
bic r2, r3, #1069547520
bic r2, r2, #3932160
ldr r3, [sp, #108]
ldr r3, [r3, #8]
mov r3, r3, lsr #4
mov r0, r3, asl #18
mov r3, #0
movt r3, 16380
and r3, r3, r0
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #4]
add r2, sp, #14
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_set_txq_cngst_dynamic_threshold
.L672:
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #20
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #48]
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #20
ldr r2, [sp, #48]
uxth r2, r2
ldrh r1, [sp, #14]
mov r1, r1, lsr #1
uxth r1, r1
mov r1, r1, asl #16
orr r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #20
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #44]
ldr r3, [sp, #112]
add r2, r3, #4288
add r2, r2, #20
ldr r3, [sp, #44]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldrh r1, [sp, #16]
mov r1, r1, lsr #1
uxth r1, r1
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #24
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #40]
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #24
ldr r2, [sp, #40]
uxth r2, r2
ldrh r1, [sp, #18]
mov r1, r1, lsr #1
uxth r1, r1
mov r1, r1, asl #16
orr r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #24
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #36]
ldr r3, [sp, #112]
add r2, r3, #4288
add r2, r2, #24
ldr r3, [sp, #36]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldrh r1, [sp, #20]
mov r1, r1, lsr #1
uxth r1, r1
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #28
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #32]
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #28
ldr r2, [sp, #32]
uxth r2, r2
ldrh r1, [sp, #22]
mov r1, r1, lsr #1
uxth r1, r1
mov r1, r1, asl #16
orr r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #112]
add r3, r3, #4288
add r3, r3, #28
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #112]
add r2, r3, #4288
add r2, r2, #28
ldr r3, [sp, #28]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldrh r1, [sp, #24]
mov r1, r1, lsr #1
uxth r1, r1
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #0
.L674:
mov r0, r3
add sp, sp, #124
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_txq_cngst_auto_config, .-qdma_set_txq_cngst_auto_config
.align 2
.global qdma_get_txq_cngst_auto_config
.type qdma_get_txq_cngst_auto_config, %function
qdma_get_txq_cngst_auto_config:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #536870912
cmp r3, #0
beq .L676
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1073741824
cmp r3, #0
beq .L677
ldr r3, [sp, #8]
mov r2, #1
str r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r2, r0
mov r3, #0
movt r3, 16380
and r3, r3, r2
mov r3, r3, asr #18
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #8]
ldr r0, [sp, #12]
bl qdmaGetTxPeekRateMargin
mov r2, r0
ldr r3, [sp, #8]
str r2, [r3, #4]
b .L679
.L677:
ldr r3, [sp, #8]
mov r2, #0
str r2, [r3]
b .L679
.L676:
ldr r3, [sp, #8]
mov r2, #2
str r2, [r3]
.L679:
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_auto_config, .-qdma_get_txq_cngst_auto_config
.section .rodata.str1.4
.align 2
.LC167:
.ascii "%s: %s [%d]: Fault: Dynamic Total Min Threshold sho"
.ascii "uld less than Dynamic Total Max Threshold.\012\000"
.align 2
.LC168:
.ascii "%s: %s [%d]: Fault: Dynamic Channel Min Threshold s"
.ascii "hould less than Dynamic Channel Max Threshold.\012\000"
.align 2
.LC169:
.ascii "%s: %s [%d]: Fault: Dynamic Queue Min Threshold sho"
.ascii "uld less than Dynamic Queue Max Threshold.\012\000"
.text
.align 2
.global qdma_set_txq_cngst_dynamic_threshold
.type qdma_set_txq_cngst_dynamic_threshold, %function
qdma_set_txq_cngst_dynamic_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #52
sub sp, sp, #52
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #44]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #40]
ldr r3, [sp, #40]
ldrh r2, [r3, #2]
ldr r3, [sp, #40]
ldrh r3, [r3]
cmp r2, r3
bls .L682
movw r0, #:lower16:.LC167
movt r0, #:upper16:.LC167
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L686
movw r3, #4365
bl printk
mvn r3, #21
b .L683
.L682:
ldr r3, [sp, #40]
ldrh r2, [r3, #6]
ldr r3, [sp, #40]
ldrh r3, [r3, #4]
cmp r2, r3
bls .L684
movw r0, #:lower16:.LC168
movt r0, #:upper16:.LC168
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L686
movw r3, #4370
bl printk
mvn r3, #21
b .L683
.L684:
ldr r3, [sp, #40]
ldrh r2, [r3, #10]
ldr r3, [sp, #40]
ldrh r3, [r3, #8]
cmp r2, r3
bls .L685
movw r0, #:lower16:.LC169
movt r0, #:upper16:.LC169
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L686
movw r3, #4375
bl printk
mvn r3, #21
b .L683
.L685:
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #36]
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #36
ldr r2, [sp, #36]
uxth r2, r2
ldr r1, [sp, #40]
ldrh r1, [r1]
mov r1, r1, asl #16
orr r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #32]
ldr r3, [sp, #44]
add r2, r3, #4224
add r2, r2, #36
ldr r3, [sp, #32]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r1, [sp, #40]
ldrh r1, [r1, #2]
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #40
ldr r2, [sp, #28]
uxth r2, r2
ldr r1, [sp, #40]
ldrh r1, [r1, #4]
mov r1, r1, asl #16
orr r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
ldr r3, [sp, #44]
add r2, r3, #4224
add r2, r2, #40
ldr r3, [sp, #24]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r1, [sp, #40]
ldrh r1, [r1, #6]
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #44
ldr r2, [sp, #20]
uxth r2, r2
ldr r1, [sp, #40]
ldrh r1, [r1, #8]
mov r1, r1, asl #16
orr r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #44]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #44]
add r2, r3, #4224
add r2, r2, #44
ldr r3, [sp, #16]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r1, [sp, #40]
ldrh r1, [r1, #10]
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #44]
add r3, r3, #4096
add r3, r3, #8
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #44]
add r2, r3, #4096
add r2, r2, #8
ldr r3, [sp, #12]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r1, [sp, #40]
ldrh r1, [r1, #12]
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #0
.L683:
mov r0, r3
add sp, sp, #52
@ sp needed
ldr pc, [sp], #4
.L687:
.align 2
.L686:
.word .LC3+60
.fnend
.size qdma_set_txq_cngst_dynamic_threshold, .-qdma_set_txq_cngst_dynamic_threshold
.align 2
.global qdma_get_txq_cngst_dynamic_threshold
.type qdma_get_txq_cngst_dynamic_threshold, %function
qdma_get_txq_cngst_dynamic_threshold:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #16
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3] @ movhi
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #2] @ movhi
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #16
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #4] @ movhi
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #6] @ movhi
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #16
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #8] @ movhi
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #10] @ movhi
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #8
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r2, r3
ldr r3, [sp, #8]
strh r2, [r3, #12] @ movhi
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_dynamic_threshold, .-qdma_get_txq_cngst_dynamic_threshold
.align 2
.global qdma_set_txq_cngst_total_threshold
.type qdma_set_txq_cngst_total_threshold, %function
qdma_set_txq_cngst_total_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r2, [r3, #4]
ldr r3, [sp, #16]
ldr r3, [r3]
cmp r2, r3
bls .L691
movw r0, #:lower16:.LC167
movt r0, #:upper16:.LC167
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L693
movw r3, #4434
bl printk
mvn r3, #21
b .L692
.L691:
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #36
ldr r2, [sp, #12]
uxth r1, r2
ldr r2, [sp, #16]
ldr r2, [r2]
mov r2, r2, asl #18
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r2, r3, #4224
add r2, r2, #36
ldr r3, [sp, #8]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r1, [sp, #16]
ldr r1, [r1, #4]
mov r1, r1, asl #2
uxth r1, r1
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #0
.L692:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L694:
.align 2
.L693:
.word .LC3+60
.fnend
.size qdma_set_txq_cngst_total_threshold, .-qdma_set_txq_cngst_total_threshold
.align 2
.global qdma_get_txq_cngst_total_threshold
.type qdma_get_txq_cngst_total_threshold, %function
qdma_get_txq_cngst_total_threshold:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #18
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r3, r3
mov r3, r3, asr #2
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #4]
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_total_threshold, .-qdma_get_txq_cngst_total_threshold
.align 2
.global qdma_set_txq_cngst_channel_threshold
.type qdma_set_txq_cngst_channel_threshold, %function
qdma_set_txq_cngst_channel_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r2, [r3, #4]
ldr r3, [sp, #16]
ldr r3, [r3]
cmp r2, r3
bls .L698
movw r0, #:lower16:.LC168
movt r0, #:upper16:.LC168
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L700
movw r3, #4470
bl printk
mvn r3, #21
b .L699
.L698:
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #40
ldr r2, [sp, #12]
uxth r1, r2
ldr r2, [sp, #16]
ldr r2, [r2]
mov r2, r2, asl #18
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r2, r3, #4224
add r2, r2, #40
ldr r3, [sp, #8]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r1, [sp, #16]
ldr r1, [r1, #4]
mov r1, r1, asl #2
uxth r1, r1
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #0
.L699:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L701:
.align 2
.L700:
.word .LC3+60
.fnend
.size qdma_set_txq_cngst_channel_threshold, .-qdma_set_txq_cngst_channel_threshold
.align 2
.global qdma_get_txq_cngst_channel_threshold
.type qdma_get_txq_cngst_channel_threshold, %function
qdma_get_txq_cngst_channel_threshold:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #18
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r3, r3
mov r3, r3, asr #2
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #4]
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_channel_threshold, .-qdma_get_txq_cngst_channel_threshold
.align 2
.global qdma_set_txq_cngst_queue_threshold
.type qdma_set_txq_cngst_queue_threshold, %function
qdma_set_txq_cngst_queue_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r2, [r3, #4]
ldr r3, [sp, #16]
ldr r3, [r3]
cmp r2, r3
bls .L705
movw r0, #:lower16:.LC169
movt r0, #:upper16:.LC169
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L707
movw r3, #4506
bl printk
mvn r3, #21
b .L706
.L705:
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #44
ldr r2, [sp, #12]
uxth r1, r2
ldr r2, [sp, #16]
ldr r2, [r2]
mov r2, r2, asl #18
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #20]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r2, r3, #4224
add r2, r2, #44
ldr r3, [sp, #8]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r1, [sp, #16]
ldr r1, [r1, #4]
mov r1, r1, asl #2
uxth r1, r1
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #0
.L706:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L708:
.align 2
.L707:
.word .LC3+60
.fnend
.size qdma_set_txq_cngst_queue_threshold, .-qdma_set_txq_cngst_queue_threshold
.align 2
.global qdma_get_txq_cngst_queue_threshold
.type qdma_get_txq_cngst_queue_threshold, %function
qdma_get_txq_cngst_queue_threshold:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #18
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r3, r3
mov r3, r3, asr #2
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #4]
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_queue_threshold, .-qdma_get_txq_cngst_queue_threshold
.align 2
.global qdma_set_txq_cngst_queue_nonblocking
.type qdma_set_txq_cngst_queue_nonblocking, %function
qdma_set_txq_cngst_queue_nonblocking:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r3, [r3]
cmp r3, #0
bne .L712
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #44
ldr r2, [sp, #16]
ldr r2, [r2, #4]
mov r1, r2
mov r2, #1
mov r2, r2, asl r1
mvn r2, r2
mov r1, r2
ldr r2, [sp, #12]
and r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L713
.L712:
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #44
ldr r2, [sp, #16]
ldr r2, [r2, #4]
mov r1, r2
mov r2, #1
mov r2, r2, asl r1
mov r1, r2
ldr r2, [sp, #8]
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L713:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_txq_cngst_queue_nonblocking, .-qdma_set_txq_cngst_queue_nonblocking
.align 2
.global qdma_get_txq_cngst_queue_nonblocking
.type qdma_get_txq_cngst_queue_nonblocking, %function
qdma_get_txq_cngst_queue_nonblocking:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r2, r0
ldr r3, [sp, #8]
ldr r3, [r3, #4]
mov r3, r2, asr r3
and r3, r3, #1
cmp r3, #0
beq .L716
ldr r3, [sp, #8]
mov r2, #1
str r2, [r3]
b .L717
.L716:
ldr r3, [sp, #8]
mov r2, #0
str r2, [r3]
.L717:
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_queue_nonblocking, .-qdma_get_txq_cngst_queue_nonblocking
.align 2
.global qdma_set_txq_cngst_channel_nonblocking
.type qdma_set_txq_cngst_channel_nonblocking, %function
qdma_set_txq_cngst_channel_nonblocking:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldr r3, [r3]
cmp r3, #0
bne .L720
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #48
ldr r2, [sp, #16]
ldr r2, [r2, #4]
mov r1, r2
mov r2, #1
mov r2, r2, asl r1
mvn r2, r2
mov r1, r2
ldr r2, [sp, #12]
and r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L721
.L720:
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r3, r3, #4096
add r3, r3, #48
ldr r2, [sp, #16]
ldr r2, [r2, #4]
mov r1, r2
mov r2, #1
mov r2, r2, asl r1
mov r1, r2
ldr r2, [sp, #8]
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L721:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_txq_cngst_channel_nonblocking, .-qdma_set_txq_cngst_channel_nonblocking
.align 2
.global qdma_get_txq_cngst_channel_nonblocking
.type qdma_get_txq_cngst_channel_nonblocking, %function
qdma_get_txq_cngst_channel_nonblocking:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r2, r0
ldr r3, [sp, #8]
ldr r3, [r3, #4]
mov r3, r2, asr r3
and r3, r3, #1
cmp r3, #0
beq .L724
ldr r3, [sp, #8]
mov r2, #1
str r2, [r3]
b .L725
.L724:
ldr r3, [sp, #8]
mov r2, #0
str r2, [r3]
.L725:
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_channel_nonblocking, .-qdma_get_txq_cngst_channel_nonblocking
.align 2
.global qdma_set_txq_peekrate_params
.type qdma_set_txq_peekrate_params, %function
qdma_set_txq_peekrate_params:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
ldr r3, [r3]
cmp r3, #1
bne .L728
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #20]
orr r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L729
.L728:
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #16]
bic r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L729:
ldr r3, [sp, #24]
ldr r3, [r3, #4]
ldr r0, [sp, #28]
mov r1, r3
bl qdmaSetTxPeekRateMargin
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #28]
add r1, r3, #4096
add r1, r1, #12
ldr r3, [sp, #12]
bic r2, r3, #1069547520
bic r2, r2, #3932160
ldr r3, [sp, #24]
ldr r3, [r3, #8]
mov r3, r3, lsr #4
mov r0, r3, asl #18
mov r3, #0
movt r3, 16380
and r3, r3, r0
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_txq_peekrate_params, .-qdma_set_txq_peekrate_params
.align 2
.global qdma_get_txq_peekrate_params
.type qdma_get_txq_peekrate_params, %function
qdma_get_txq_peekrate_params:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1073741824
cmp r3, #0
beq .L732
ldr r3, [sp, #8]
mov r2, #1
str r2, [r3]
b .L733
.L732:
ldr r3, [sp, #8]
mov r2, #0
str r2, [r3]
.L733:
ldr r0, [sp, #12]
bl qdmaGetTxPeekRateMargin
mov r2, r0
ldr r3, [sp, #8]
str r2, [r3, #4]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r2, r0
mov r3, #0
movt r3, 16380
and r3, r3, r2
mov r3, r3, asr #18
mov r3, r3, asl #4
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #8]
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_peekrate_params, .-qdma_get_txq_peekrate_params
.align 2
.global qdma_set_txq_cngst_static_queue_normal_threshold
.type qdma_set_txq_cngst_static_queue_normal_threshold, %function
qdma_set_txq_cngst_static_queue_normal_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_set_txq_cngst_static_queue_normal_threshold, .-qdma_set_txq_cngst_static_queue_normal_threshold
.align 2
.global qdma_set_txq_cngst_static_queue_dei_threshold
.type qdma_set_txq_cngst_static_queue_dei_threshold, %function
qdma_set_txq_cngst_static_queue_dei_threshold:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_set_txq_cngst_static_queue_dei_threshold, .-qdma_set_txq_cngst_static_queue_dei_threshold
.align 2
.global qdma_get_txq_cngst_static_info
.type qdma_get_txq_cngst_static_info, %function
qdma_get_txq_cngst_static_info:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #24]
mov r3, #0
str r3, [sp, #28]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r3, [r3, #4]
str r3, [sp, #16]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r3, [r3, #8]
str r3, [sp, #12]
ldr r3, [sp, #24]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #16
mov r2, r3
ldr r3, [sp, #20]
str r2, [r3]
ldr r3, [sp, #24]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r2, r3
ldr r3, [sp, #20]
str r2, [r3, #4]
ldr r3, [sp, #24]
add r3, r3, #4224
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r2, r0
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r1, r3
mov r3, #1
mov r3, r3, asl r1
and r3, r3, r2
ldr r2, [sp, #16]
ldrb r2, [r2] @ zero_extendqisi2
mov r3, r3, asr r2
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #4]
mov r3, #0
str r3, [sp, #28]
b .L740
.L741:
ldr r3, [sp, #24]
add r3, r3, #4224
add r3, r3, #52
mov r0, r3
bl get_frame_engine_data
mov r1, r0
ldr r3, [sp, #28]
mov r3, r3, asl #2
mov r2, #15
mov r3, r2, asl r3
and r2, r1, r3
ldr r3, [sp, #28]
mov r3, r3, asl #2
mov r3, r2, asr r3
uxtb r1, r3
ldr r2, [sp, #12]
ldr r3, [sp, #28]
add r3, r2, r3
mov r2, r1
strb r2, [r3]
ldr r3, [sp, #28]
add r3, r3, #1
str r3, [sp, #28]
.L740:
ldr r3, [sp, #28]
cmp r3, #7
ble .L741
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_static_info, .-qdma_get_txq_cngst_static_info
.align 2
.global qdma_set_txq_cngst_static_channel_en
.type qdma_set_txq_cngst_static_channel_en, %function
qdma_set_txq_cngst_static_channel_en:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L744
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC164
movt r0, #:upper16:.LC164
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L748
movw r3, #4714
bl printk
mvn r3, #21
b .L745
.L744:
ldr r3, [sp, #24]
ldr r3, [r3, #4]
cmp r3, #1
bne .L746
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #48
ldr r2, [sp, #24]
ldrb r2, [r2] @ zero_extendqisi2
mov r1, r2
mov r2, #1
mov r2, r2, asl r1
mov r1, r2
ldr r2, [sp, #20]
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L747
.L746:
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #48
ldr r2, [sp, #24]
ldrb r2, [r2] @ zero_extendqisi2
mov r1, r2
mov r2, #1
mov r2, r2, asl r1
mvn r2, r2
mov r1, r2
ldr r2, [sp, #16]
and r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L747:
mov r3, #0
.L745:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L749:
.align 2
.L748:
.word .LC3+60
.fnend
.size qdma_set_txq_cngst_static_channel_en, .-qdma_set_txq_cngst_static_channel_en
.align 2
.global qdma_set_txq_cngst_static_queue_ratio
.type qdma_set_txq_cngst_static_queue_ratio, %function
qdma_set_txq_cngst_static_queue_ratio:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #20]
b .L751
.L752:
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #52
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #16]
add r3, r3, #4224
add r3, r3, #52
ldr r2, [sp, #20]
mov r2, r2, asl #2
mov r1, #15
mov r2, r1, asl r2
mvn r2, r2
mov r1, r2
ldr r2, [sp, #8]
and r2, r2, r1
ldr r0, [sp, #12]
ldr r1, [sp, #20]
add r1, r0, r1
ldrb r1, [r1] @ zero_extendqisi2
mov r0, r1
ldr r1, [sp, #20]
mov r1, r1, asl #2
mov r0, r0, asl r1
ldr r1, [sp, #20]
mov r1, r1, asl #2
mov ip, #15
mov r1, ip, asl r1
and r1, r1, r0
orr r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L751:
ldr r3, [sp, #20]
cmp r3, #7
ble .L752
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_txq_cngst_static_queue_ratio, .-qdma_set_txq_cngst_static_queue_ratio
.align 2
.global qdma_get_txq_cngst_dynamic_info
.type qdma_get_txq_cngst_dynamic_info, %function
qdma_get_txq_cngst_dynamic_info:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r3, [r3]
str r3, [sp, #24]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r3, [r3, #4]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
ldr r3, [r3, #12]
str r3, [sp, #12]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #18
mov r2, r3
ldr r3, [sp, #24]
str r2, [r3]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #36
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r3, r3
mov r3, r3, asr #2
mov r2, r3
ldr r3, [sp, #24]
str r2, [r3, #4]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #18
mov r2, r3
ldr r3, [sp, #20]
str r2, [r3]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #40
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r3, r3
mov r3, r3, asr #2
mov r2, r3
ldr r3, [sp, #20]
str r2, [r3, #4]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #18
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3]
ldr r3, [sp, #28]
add r3, r3, #4224
add r3, r3, #44
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r3, r3
mov r3, r3, asr #2
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #4]
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1073741824
cmp r3, #0
beq .L755
ldr r3, [sp, #12]
mov r2, #1
str r2, [r3]
b .L756
.L755:
ldr r3, [sp, #12]
mov r2, #0
str r2, [r3]
.L756:
ldr r0, [sp, #28]
bl qdmaGetTxPeekRateMargin
mov r2, r0
ldr r3, [sp, #12]
str r2, [r3, #4]
ldr r3, [sp, #28]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r2, r0
mov r3, #0
movt r3, 16380
and r3, r3, r2
mov r3, r3, asr #18
mov r3, r3, asl #4
mov r2, r3
ldr r3, [sp, #12]
str r2, [r3, #8]
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_dynamic_info, .-qdma_get_txq_cngst_dynamic_info
.section .rodata.str1.4
.align 2
.LC170:
.ascii "%s: %s [%d]: Fault: Tx Dynamic Congestion DEI Thres"
.ascii "hold Scale shoule between 0 and %d\012\000"
.text
.align 2
.global qdma_set_txq_cngst_cfg
.type qdma_set_txq_cngst_cfg, %function
qdma_set_txq_cngst_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 96
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #108
sub sp, sp, #108
str r0, [sp, #12]
mov r3, #0
str r3, [sp, #100]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #96]
ldr r3, [sp, #12]
ldr r3, [r3, #28]
cmp r3, #3
bls .L759
mov r3, #3
str r3, [sp]
movw r0, #:lower16:.LC170
movt r0, #:upper16:.LC170
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L781
movw r3, #4858
bl printk
mvn r3, #21
b .L760
.L759:
ldr r3, [sp, #12]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #0
bne .L761
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #92]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #92]
bic r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L762
.L761:
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #88]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #88]
orr r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L762:
ldr r3, [sp, #12]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #0
bne .L763
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #84]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #84]
bic r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L764
.L763:
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #80]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #80]
orr r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L764:
ldr r3, [sp, #12]
ldrb r3, [r3, #2] @ zero_extendqisi2
cmp r3, #0
bne .L765
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #76]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #76]
bic r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L766
.L765:
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #72]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #72]
orr r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L766:
ldr r3, [sp, #12]
ldrb r3, [r3, #3] @ zero_extendqisi2
cmp r3, #0
bne .L767
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #68]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #68]
bic r2, r2, #268435456
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L768
.L767:
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #64]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #64]
orr r2, r2, #268435456
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L768:
mov r3, #0
str r3, [sp, #100]
b .L769
.L774:
ldr r2, [sp, #12]
ldr r3, [sp, #100]
add r3, r2, r3
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #0
bne .L770
ldr r3, [sp, #100]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #96]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #60]
ldr r3, [sp, #100]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #96]
add r3, r2, r3
add r2, r3, #260
ldr r3, [sp, #60]
bic r3, r3, #2
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L771
.L770:
ldr r3, [sp, #100]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #96]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #56]
ldr r3, [sp, #100]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #96]
add r3, r2, r3
add r2, r3, #260
ldr r3, [sp, #56]
orr r3, r3, #2
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L771:
ldr r2, [sp, #12]
ldr r3, [sp, #100]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #0
bne .L772
ldr r3, [sp, #100]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #96]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #52]
ldr r3, [sp, #100]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #96]
add r3, r2, r3
add r2, r3, #260
ldr r3, [sp, #52]
bic r3, r3, #1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L773
.L772:
ldr r3, [sp, #100]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #96]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #48]
ldr r3, [sp, #100]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #96]
add r3, r2, r3
add r2, r3, #260
ldr r3, [sp, #48]
orr r3, r3, #1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L773:
ldr r3, [sp, #100]
add r3, r3, #1
str r3, [sp, #100]
.L769:
ldr r3, [sp, #100]
cmp r3, #7
ble .L774
ldr r3, [sp, #12]
ldrb r3, [r3, #20] @ zero_extendqisi2
cmp r3, #0
bne .L775
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #44]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #44]
bic r2, r2, #262144
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L776
.L775:
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #40]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #40]
orr r2, r2, #262144
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L776:
ldr r3, [sp, #12]
ldrb r3, [r3, #21] @ zero_extendqisi2
cmp r3, #0
bne .L777
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #36]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #36]
bic r2, r2, #131072
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L778
.L777:
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #32]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #32]
orr r2, r2, #131072
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L778:
ldr r3, [sp, #12]
ldrb r3, [r3, #22] @ zero_extendqisi2
cmp r3, #0
bne .L779
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #28]
bic r2, r2, #65536
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L780
.L779:
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #24]
orr r2, r2, #65536
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L780:
ldr r3, [sp, #12]
ldr r3, [r3, #28]
ldr r0, [sp, #96]
mov r1, r3
bl qdmaSetDynCngstDeiThrhScale
ldr r3, [sp, #96]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #96]
add r2, r3, #4224
add r2, r2, #32
ldr r3, [sp, #20]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r1, [sp, #12]
ldrh r1, [r1, #24]
orr r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #0
.L760:
mov r0, r3
add sp, sp, #108
@ sp needed
ldr pc, [sp], #4
.L782:
.align 2
.L781:
.word .LC3+60
.fnend
.size qdma_set_txq_cngst_cfg, .-qdma_set_txq_cngst_cfg
.align 2
.global qdma_get_txq_cngst_cfg
.type qdma_get_txq_cngst_cfg, %function
qdma_get_txq_cngst_cfg:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #8]
ldr r3, [sp, #8]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
cmp r3, #0
bge .L784
ldr r3, [sp, #4]
mov r2, #1
strb r2, [r3]
b .L785
.L784:
ldr r3, [sp, #4]
mov r2, #0
strb r2, [r3]
.L785:
ldr r3, [sp, #8]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1073741824
cmp r3, #0
beq .L786
ldr r3, [sp, #4]
mov r2, #1
strb r2, [r3, #1]
b .L787
.L786:
ldr r3, [sp, #4]
mov r2, #0
strb r2, [r3, #1]
.L787:
ldr r3, [sp, #8]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #536870912
cmp r3, #0
beq .L788
ldr r3, [sp, #4]
mov r2, #1
strb r2, [r3, #2]
b .L789
.L788:
ldr r3, [sp, #4]
mov r2, #0
strb r2, [r3, #2]
.L789:
ldr r3, [sp, #8]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #268435456
cmp r3, #0
beq .L790
ldr r3, [sp, #4]
mov r2, #1
strb r2, [r3, #3]
b .L791
.L790:
ldr r3, [sp, #4]
mov r2, #0
strb r2, [r3, #3]
.L791:
mov r3, #0
str r3, [sp, #12]
b .L792
.L797:
ldr r3, [sp, #12]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #8]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #2
cmp r3, #0
beq .L793
ldr r2, [sp, #4]
ldr r3, [sp, #12]
add r3, r2, r3
mov r2, #1
strb r2, [r3, #4]
b .L794
.L793:
ldr r2, [sp, #4]
ldr r3, [sp, #12]
add r3, r2, r3
mov r2, #0
strb r2, [r3, #4]
.L794:
ldr r3, [sp, #12]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #8]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1
cmp r3, #0
beq .L795
ldr r2, [sp, #4]
ldr r3, [sp, #12]
add r3, r2, r3
add r3, r3, #8
mov r2, #1
strb r2, [r3, #4]
b .L796
.L795:
ldr r2, [sp, #4]
ldr r3, [sp, #12]
add r3, r2, r3
add r3, r3, #8
mov r2, #0
strb r2, [r3, #4]
.L796:
ldr r3, [sp, #12]
add r3, r3, #1
str r3, [sp, #12]
.L792:
ldr r3, [sp, #12]
cmp r3, #7
ble .L797
ldr r3, [sp, #8]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #262144
cmp r3, #0
beq .L798
ldr r3, [sp, #4]
mov r2, #1
strb r2, [r3, #20]
b .L799
.L798:
ldr r3, [sp, #4]
mov r2, #0
strb r2, [r3, #20]
.L799:
ldr r3, [sp, #8]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #131072
cmp r3, #0
beq .L800
ldr r3, [sp, #4]
mov r2, #1
strb r2, [r3, #21]
b .L801
.L800:
ldr r3, [sp, #4]
mov r2, #0
strb r2, [r3, #21]
.L801:
ldr r3, [sp, #8]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #65536
cmp r3, #0
beq .L802
ldr r3, [sp, #4]
mov r2, #1
strb r2, [r3, #22]
b .L803
.L802:
ldr r3, [sp, #4]
mov r2, #0
strb r2, [r3, #22]
.L803:
ldr r0, [sp, #8]
bl qdmaGetDynCngstDeiThrhScale
mov r2, r0
ldr r3, [sp, #4]
str r2, [r3, #28]
ldr r3, [sp, #8]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r2, r3
ldr r3, [sp, #4]
strh r2, [r3, #24] @ movhi
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_txq_cngst_cfg, .-qdma_get_txq_cngst_cfg
.align 2
.global qdma_set_tx_cngst_mode
.type qdma_set_tx_cngst_mode, %function
qdma_set_tx_cngst_mode:
.fnstart
@ args = 0, pretend = 0, frame = 96
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #100
sub sp, sp, #100
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #92]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #88]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #84]
mov r3, #0
str r3, [sp, #92]
b .L806
.L807:
ldr r3, [sp, #92]
mov r2, r3, asl #5
ldr r3, [sp, #88]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #80]
ldr r3, [sp, #92]
mov r2, r3, asl #5
ldr r3, [sp, #88]
add r3, r2, r3
add r2, r3, #260
ldr r3, [sp, #80]
bic r3, r3, #2
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #92]
mov r2, r3, asl #5
ldr r3, [sp, #88]
add r3, r2, r3
add r3, r3, #260
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #76]
ldr r3, [sp, #92]
mov r2, r3, asl #5
ldr r3, [sp, #88]
add r3, r2, r3
add r2, r3, #260
ldr r3, [sp, #76]
bic r3, r3, #1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #92]
add r3, r3, #1
str r3, [sp, #92]
.L806:
ldr r3, [sp, #92]
cmp r3, #7
bls .L807
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #72]
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #72]
orr r2, r2, #262144
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #68]
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #68]
orr r2, r2, #131072
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #64]
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #64]
orr r2, r2, #65536
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #60]
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #60]
orr r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #92]
cmp r3, #256
bhi .L808
mov r3, #48
strh r3, [sp, #16] @ movhi
mov r3, #2
strh r3, [sp, #20] @ movhi
mov r3, #2
strh r3, [sp, #24] @ movhi
b .L809
.L808:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [r3, #92]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #96]
cmp r2, r3
bhi .L810
mov r3, #256
strh r3, [sp, #16] @ movhi
mov r3, #512
strh r3, [sp, #20] @ movhi
mov r3, #24
strh r3, [sp, #24] @ movhi
b .L809
.L810:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #96]
movw r0, #:lower16:.LC166
movt r0, #:upper16:.LC166
mov r1, r3
bl printk
mvn r3, #0
b .L815
.L809:
mov r3, #15360
strh r3, [sp, #14] @ movhi
mov r3, #15360
strh r3, [sp, #18] @ movhi
movw r3, #819
strh r3, [sp, #22] @ movhi
ldr r3, [sp, #88]
add r3, r3, #24
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #805306368
mov r3, r3, asr #28
add r3, r3, #1
uxth r3, r3
mov r3, r3, asl #2
uxth r3, r3
strh r3, [sp, #26] @ movhi
ldr r3, [sp, #84]
ldr r3, [r3]
cmp r3, #2
bne .L812
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #56]
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #56]
bic r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #52]
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #52]
bic r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #48]
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #48]
bic r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L813
.L812:
ldr r3, [sp, #84]
ldr r3, [r3]
cmp r3, #0
bne .L814
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #44]
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #44]
orr r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #40]
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #40]
bic r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #4]
add r2, sp, #14
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_set_txq_cngst_dynamic_threshold
b .L813
.L814:
ldr r3, [sp, #84]
ldr r3, [r3]
cmp r3, #1
bne .L813
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #36]
ldr r3, [sp, #88]
add r3, r3, #4224
add r3, r3, #32
ldr r2, [sp, #36]
orr r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #32]
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
ldr r2, [sp, #32]
orr r2, r2, #1073741824
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #88]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #88]
add r1, r3, #4096
add r1, r1, #12
ldr r3, [sp, #28]
bic r2, r3, #1069547520
bic r2, r2, #3932160
ldr r3, [sp, #84]
ldr r3, [r3, #8]
mov r3, r3, lsr #4
mov r0, r3, asl #18
mov r3, #0
movt r3, 16380
and r3, r3, r0
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #84]
ldr r3, [r3, #4]
ldr r0, [sp, #88]
mov r1, r3
bl qdmaSetTxPeekRateMargin
ldr r3, [sp, #4]
add r2, sp, #14
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_set_txq_cngst_dynamic_threshold
.L813:
mov r3, #0
.L815:
mov r0, r3
add sp, sp, #100
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_tx_cngst_mode, .-qdma_set_tx_cngst_mode
.align 2
.global qdma_get_tx_cngst_mode
.type qdma_get_tx_cngst_mode, %function
qdma_get_tx_cngst_mode:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #536870912
cmp r3, #0
beq .L817
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1073741824
cmp r3, #0
beq .L818
ldr r3, [sp, #8]
mov r2, #1
str r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #4096
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r2, r0
mov r3, #0
movt r3, 16380
and r3, r3, r2
mov r3, r3, asr #18
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #8]
ldr r0, [sp, #12]
bl qdmaGetTxPeekRateMargin
mov r2, r0
ldr r3, [sp, #8]
str r2, [r3, #4]
b .L820
.L818:
ldr r3, [sp, #8]
mov r2, #0
str r2, [r3]
b .L820
.L817:
ldr r3, [sp, #8]
mov r2, #2
str r2, [r3]
.L820:
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_tx_cngst_mode, .-qdma_get_tx_cngst_mode
.align 2
.global qdma_set_virtual_channel_mode
.type qdma_set_virtual_channel_mode, %function
qdma_set_virtual_channel_mode:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
ldr r3, [r3]
cmp r3, #1
bne .L823
ldr r3, [sp, #28]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #28]
add r3, r3, #4352
add r3, r3, #48
ldr r2, [sp, #20]
orr r2, r2, #2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L824
.L823:
ldr r3, [sp, #28]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #28]
add r3, r3, #4352
add r3, r3, #48
ldr r2, [sp, #16]
bic r2, r2, #2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L824:
ldr r3, [sp, #24]
ldr r3, [r3, #4]
cmp r3, #1
bne .L825
ldr r3, [sp, #28]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #28]
add r3, r3, #4352
add r3, r3, #48
ldr r2, [sp, #12]
orr r2, r2, #1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L826
.L825:
ldr r3, [sp, #28]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #28]
add r3, r3, #4352
add r3, r3, #48
ldr r2, [sp, #8]
bic r2, r2, #1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L826:
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_virtual_channel_mode, .-qdma_set_virtual_channel_mode
.align 2
.global qdma_get_virtual_channel_mode
.type qdma_get_virtual_channel_mode, %function
qdma_get_virtual_channel_mode:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #2
cmp r3, #0
beq .L829
ldr r3, [sp, #8]
mov r2, #1
str r2, [r3]
b .L830
.L829:
ldr r3, [sp, #8]
mov r2, #0
str r2, [r3]
.L830:
ldr r3, [sp, #12]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1
cmp r3, #0
beq .L831
ldr r3, [sp, #8]
mov r2, #1
str r2, [r3, #4]
b .L832
.L831:
ldr r3, [sp, #8]
mov r2, #0
str r2, [r3, #4]
.L832:
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_virtual_channel_mode, .-qdma_get_virtual_channel_mode
.section .rodata.str1.4
.align 2
.LC171:
.ascii "%s: %s [%d]: virtual channel mapping mode is disabl"
.ascii "e now.\012\000"
.align 2
.LC172:
.ascii "%s: %s [%d]: physical channel:%d, should less than "
.ascii "%d; mode:%d, should less than %d.\012\000"
.text
.align 2
.global qdma_set_virtual_channel_qos
.type qdma_set_virtual_channel_qos, %function
qdma_set_virtual_channel_qos:
.fnstart
@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #60
sub sp, sp, #60
str r0, [sp, #20]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #44]
mov r3, #0
str r3, [sp, #52]
mov r3, #0
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #48]
ldr r3, [sp, #20]
ldr r3, [r3, #8]
str r3, [sp, #36]
ldr r3, [sp, #44]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #2
cmp r3, #0
bne .L835
movw r0, #:lower16:.LC171
movt r0, #:upper16:.LC171
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L845
movw r3, #5213
bl printk
mvn r3, #21
b .L844
.L835:
ldr r3, [sp, #44]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1
cmp r3, #0
beq .L837
mov r3, #4
str r3, [sp, #48]
b .L838
.L837:
mov r3, #2
str r3, [sp, #48]
.L838:
mov r0, #32
ldr r1, [sp, #48]
bl __aeabi_idiv
mov r3, r0
str r3, [sp, #40]
ldr r3, [sp, #36]
ldrb r3, [r3] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #40]
cmp r2, r3
bge .L839
ldr r3, [sp, #36]
ldr r2, [r3, #4]
ldr r3, [sp, #48]
cmp r2, r3
bcc .L840
.L839:
ldr r3, [sp, #36]
ldrb r3, [r3] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #36]
ldr r3, [r3, #4]
str r2, [sp]
ldr r2, [sp, #40]
str r2, [sp, #4]
str r3, [sp, #8]
ldr r3, [sp, #48]
str r3, [sp, #12]
movw r0, #:lower16:.LC172
movt r0, #:upper16:.LC172
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L845
movw r3, #5225
bl printk
mvn r3, #21
b .L844
.L840:
mov r3, #0
str r3, [sp, #52]
b .L841
.L843:
ldr r2, [sp, #36]
ldr r3, [sp, #52]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #100
bls .L842
ldr r2, [sp, #36]
ldr r3, [sp, #52]
add r3, r2, r3
add r3, r3, #8
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #255
beq .L842
mvn r3, #21
b .L844
.L842:
ldr r2, [sp, #36]
ldr r3, [sp, #52]
add r3, r2, r3
add r3, r3, #8
ldrb r1, [r3] @ zero_extendqisi2
add r2, sp, #28
ldr r3, [sp, #52]
add r3, r2, r3
mov r2, r1
strb r2, [r3]
ldr r3, [sp, #52]
add r3, r3, #1
str r3, [sp, #52]
.L841:
ldr r2, [sp, #52]
ldr r3, [sp, #48]
cmp r2, r3
blt .L843
ldr r3, [sp, #36]
ldrb r0, [r3] @ zero_extendqisi2
ldr r3, [sp, #48]
uxtb r1, r3
ldr r3, [sp, #36]
ldr r3, [r3, #4]
uxtb r2, r3
add r3, sp, #28
bl qdmaSetVirtualChannelQos
mov r3, r0
.L844:
mov r0, r3
add sp, sp, #60
@ sp needed
ldr pc, [sp], #4
.L846:
.align 2
.L845:
.word .LC3+60
.fnend
.size qdma_set_virtual_channel_qos, .-qdma_set_virtual_channel_qos
.section .rodata.str1.4
.align 2
.LC173:
.ascii "%s: %s [%d]: physical channel:%d, should less than "
.ascii "%d.\012\000"
.text
.align 2
.global qdma_get_virtual_channel_qos
.type qdma_get_virtual_channel_qos, %function
qdma_get_virtual_channel_qos:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #60
sub sp, sp, #60
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #44]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #36]
mov r3, #0
str r3, [sp, #52]
mov r3, #0
str r3, [sp, #32]
mov r3, #0
str r3, [sp, #48]
mov r3, #0
strb r3, [sp, #31]
ldr r3, [sp, #44]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #2
cmp r3, #0
bne .L848
movw r0, #:lower16:.LC171
movt r0, #:upper16:.LC171
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L857
movw r3, #5252
bl printk
mvn r3, #21
b .L856
.L848:
ldr r3, [sp, #44]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1
cmp r3, #0
beq .L850
mov r3, #4
str r3, [sp, #48]
b .L851
.L850:
mov r3, #2
str r3, [sp, #48]
.L851:
mov r0, #32
ldr r1, [sp, #48]
bl __aeabi_idiv
mov r3, r0
str r3, [sp, #32]
ldr r3, [sp, #40]
ldrb r3, [r3] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #32]
cmp r2, r3
blt .L852
ldr r3, [sp, #40]
ldrb r3, [r3] @ zero_extendqisi2
str r3, [sp]
ldr r3, [sp, #32]
str r3, [sp, #4]
movw r0, #:lower16:.LC173
movt r0, #:upper16:.LC173
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L857
movw r3, #5264
bl printk
mvn r3, #21
b .L856
.L852:
ldr r3, [sp, #40]
ldrb r0, [r3] @ zero_extendqisi2
ldr r3, [sp, #48]
uxtb r1, r3
add r2, sp, #31
add r3, sp, #23
bl qdmaGetVirtualChannelQos
str r0, [sp, #36]
ldr r3, [sp, #36]
cmp r3, #0
bge .L853
mvn r3, #13
b .L856
.L853:
ldrb r3, [sp, #31] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #40]
str r2, [r3, #4]
mov r3, #0
str r3, [sp, #52]
b .L854
.L855:
add r2, sp, #23
ldr r3, [sp, #52]
add r3, r2, r3
ldrb r1, [r3] @ zero_extendqisi2
ldr r2, [sp, #40]
ldr r3, [sp, #52]
add r3, r2, r3
add r3, r3, #8
mov r2, r1
strb r2, [r3]
ldr r3, [sp, #52]
add r3, r3, #1
str r3, [sp, #52]
.L854:
ldr r2, [sp, #52]
ldr r3, [sp, #48]
cmp r2, r3
blt .L855
mov r3, #0
.L856:
mov r0, r3
add sp, sp, #60
@ sp needed
ldr pc, [sp], #4
.L858:
.align 2
.L857:
.word .LC3+60
.fnend
.size qdma_get_virtual_channel_qos, .-qdma_get_virtual_channel_qos
.section .rodata.str1.4
.align 2
.LC174:
.ascii "%s: %s [%d]: Fault: group index should between 0 an"
.ascii "d %d\012\000"
.text
.align 2
.global qdma_set_flow_cntr_cfg
.type qdma_set_flow_cntr_cfg, %function
qdma_set_flow_cntr_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #2
bls .L860
mov r3, #2
str r3, [sp]
movw r0, #:lower16:.LC174
movt r0, #:upper16:.LC174
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L864
movw r3, #5290
bl printk
mvn r3, #21
b .L861
.L860:
ldr r3, [sp, #24]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #0
beq .L862
ldr r3, [sp, #28]
add r3, r3, #2048
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #28]
add r2, r3, #2048
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
mov r1, r3
mov r3, #1
mov r3, r3, asl r1
mov r1, r3
ldr r3, [sp, #20]
orr r3, r1, r3
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L863
.L862:
ldr r3, [sp, #28]
add r3, r3, #2048
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #28]
add r2, r3, #2048
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
mov r1, r3
mov r3, #1
mov r3, r3, asl r1
mvn r3, r3
mov r1, r3
ldr r3, [sp, #16]
and r3, r3, r1
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L863:
mov r3, #0
.L861:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L865:
.align 2
.L864:
.word .LC3+60
.fnend
.size qdma_set_flow_cntr_cfg, .-qdma_set_flow_cntr_cfg
.align 2
.global qdma_get_flow_cntr_cfg
.type qdma_get_flow_cntr_cfg, %function
qdma_get_flow_cntr_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #2
bls .L867
mov r3, #2
str r3, [sp]
movw r0, #:lower16:.LC174
movt r0, #:upper16:.LC174
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L871
movw r3, #5313
bl printk
mvn r3, #21
b .L868
.L867:
ldr r3, [sp, #20]
add r3, r3, #2048
mov r0, r3
bl get_frame_engine_data
mov r2, r0
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r1, r3
mov r3, #1
mov r3, r3, asl r1
and r3, r3, r2
ldr r2, [sp, #16]
ldrb r2, [r2] @ zero_extendqisi2
mov r3, r3, asr r2
cmp r3, #0
ble .L869
ldr r3, [sp, #16]
mov r2, #1
strb r2, [r3, #1]
b .L870
.L869:
ldr r3, [sp, #16]
mov r2, #0
strb r2, [r3, #1]
.L870:
mov r3, #0
.L868:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L872:
.align 2
.L871:
.word .LC3+60
.fnend
.size qdma_get_flow_cntr_cfg, .-qdma_get_flow_cntr_cfg
.section .rodata.str1.4
.align 2
.LC175:
.ascii "%s: %s [%d]: Fault: group_0 cnt_index should betwee"
.ascii "n 0 and %d\012\000"
.align 2
.LC176:
.ascii "%s: %s [%d]: Fault: group_1 cnt_index should betwee"
.ascii "n 0 and %d\012\000"
.align 2
.LC177:
.ascii "%s: %s [%d]: Fault: group_2 cnt_index should betwee"
.ascii "n 0 and %d\012\000"
.text
.align 2
.global qdma_get_flow_cntr_value
.type qdma_get_flow_cntr_value, %function
qdma_get_flow_cntr_value:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #0
bne .L874
ldr r3, [sp, #16]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #62
bls .L875
mov r3, #62
str r3, [sp]
movw r0, #:lower16:.LC175
movt r0, #:upper16:.LC175
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L879
movw r3, #5332
bl printk
mvn r3, #21
b .L876
.L874:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #1
bne .L877
ldr r3, [sp, #16]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #30
bls .L875
mov r3, #30
str r3, [sp]
movw r0, #:lower16:.LC176
movt r0, #:upper16:.LC176
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L879
movw r3, #5337
bl printk
mvn r3, #21
b .L876
.L877:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #2
bne .L878
ldr r3, [sp, #16]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #126
bls .L875
mov r3, #126
str r3, [sp]
movw r0, #:lower16:.LC177
movt r0, #:upper16:.LC177
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L879
movw r3, #5344
bl printk
mvn r3, #21
b .L876
.L878:
mov r3, #2
str r3, [sp]
movw r0, #:lower16:.LC174
movt r0, #:upper16:.LC174
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L879
movw r3, #5350
bl printk
mvn r3, #21
b .L876
.L875:
ldr r3, [sp, #16]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #16]
ldrb r3, [r3, #1] @ zero_extendqisi2
ldr r0, [sp, #20]
mov r1, r2
mov r2, r3
bl qdmaGetFlowCntByteLow
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #4]
ldr r3, [sp, #16]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #16]
ldrb r3, [r3, #1] @ zero_extendqisi2
ldr r0, [sp, #20]
mov r1, r2
mov r2, r3
bl qdmaGetFlowCntByteHigh
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #8]
ldr r3, [sp, #16]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #16]
ldrb r3, [r3, #1] @ zero_extendqisi2
ldr r0, [sp, #20]
mov r1, r2
mov r2, r3
bl qdmaGetFlowCntPkt
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #12]
ldr r3, [sp, #16]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #16]
ldrb r3, [r3, #1] @ zero_extendqisi2
ldr r0, [sp, #20]
mov r1, r2
mov r2, r3
bl qdmaGetFlowCntPktHigh
mov r3, r0
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #16]
mov r3, #0
.L876:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L880:
.align 2
.L879:
.word .LC3+60
.fnend
.size qdma_get_flow_cntr_value, .-qdma_get_flow_cntr_value
.section .rodata.str1.4
.align 2
.LC178:
.ascii "%s: %s [%d]: Fault: clear mode invalid\012\000"
.text
.align 2
.global qdma_clear_flow_cntr_value
.type qdma_clear_flow_cntr_value, %function
qdma_clear_flow_cntr_value:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #24]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #20]
mov r3, #0
strb r3, [sp, #31]
mov r3, #0
strb r3, [sp, #30]
ldr r3, [sp, #20]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #0
bne .L882
ldr r3, [sp, #20]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #63
bls .L883
mov r3, #63
str r3, [sp]
movw r0, #:lower16:.LC175
movt r0, #:upper16:.LC175
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L899
movw r3, #5373
bl printk
mvn r3, #21
b .L884
.L883:
mov r3, #63
strb r3, [sp, #30]
b .L885
.L882:
ldr r3, [sp, #20]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #1
bne .L886
ldr r3, [sp, #20]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #31
bls .L887
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC176
movt r0, #:upper16:.LC176
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L899
movw r3, #5379
bl printk
mvn r3, #21
b .L884
.L887:
mov r3, #31
strb r3, [sp, #30]
b .L885
.L886:
ldr r3, [sp, #20]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #2
bne .L888
ldr r3, [sp, #20]
ldrb r3, [r3, #1] @ zero_extendqisi2
uxtb r3, r3
sxtb r3, r3
cmp r3, #0
bge .L889
mov r3, #127
str r3, [sp]
movw r0, #:lower16:.LC177
movt r0, #:upper16:.LC177
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L899
movw r3, #5387
bl printk
mvn r3, #21
b .L884
.L889:
mov r3, #127
strb r3, [sp, #30]
b .L885
.L888:
mov r3, #2
str r3, [sp]
movw r0, #:lower16:.LC174
movt r0, #:upper16:.LC174
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L899
movw r3, #5394
bl printk
mvn r3, #21
b .L884
.L885:
mov r3, #0
strb r3, [sp, #31]
b .L890
.L897:
ldr r3, [sp, #20]
ldrb r3, [r3, #1] @ zero_extendqisi2
ldrb r2, [sp, #31] @ zero_extendqisi2
cmp r2, r3
beq .L891
ldr r3, [sp, #20]
ldrb r3, [r3, #1] @ zero_extendqisi2
ldrb r2, [sp, #30] @ zero_extendqisi2
cmp r2, r3
beq .L891
b .L892
.L891:
ldr r3, [sp, #20]
ldr r3, [r3, #4]
cmp r3, #1
beq .L894
cmp r3, #1
bcc .L895
cmp r3, #2
beq .L896
b .L898
.L895:
ldr r3, [sp, #20]
ldrb r2, [r3] @ zero_extendqisi2
ldrb r3, [sp, #31] @ zero_extendqisi2
ldr r0, [sp, #24]
mov r1, r2
mov r2, r3
bl qdmaClearFlowCntByte
b .L892
.L894:
ldr r3, [sp, #20]
ldrb r2, [r3] @ zero_extendqisi2
ldrb r3, [sp, #31] @ zero_extendqisi2
ldr r0, [sp, #24]
mov r1, r2
mov r2, r3
bl qdmaClearFlowCntPkt
b .L892
.L896:
ldr r3, [sp, #20]
ldrb r2, [r3] @ zero_extendqisi2
ldrb r3, [sp, #31] @ zero_extendqisi2
ldr r0, [sp, #24]
mov r1, r2
mov r2, r3
bl qdmaClearFlowCntByte
ldr r3, [sp, #20]
ldrb r2, [r3] @ zero_extendqisi2
ldrb r3, [sp, #31] @ zero_extendqisi2
ldr r0, [sp, #24]
mov r1, r2
mov r2, r3
bl qdmaClearFlowCntPkt
b .L892
.L898:
movw r0, #:lower16:.LC178
movt r0, #:upper16:.LC178
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L899
movw r3, #5415
bl printk
mvn r3, #21
b .L884
.L892:
ldrb r3, [sp, #31] @ zero_extendqisi2
add r3, r3, #1
strb r3, [sp, #31]
.L890:
ldrb r2, [sp, #31] @ zero_extendqisi2
ldrb r3, [sp, #30] @ zero_extendqisi2
cmp r2, r3
bcc .L897
mov r3, #0
.L884:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L900:
.align 2
.L899:
.word .LC3+60
.fnend
.size qdma_clear_flow_cntr_value, .-qdma_clear_flow_cntr_value
.section .rodata.str1.4
.align 2
.LC179:
.ascii "%s: %s [%d]: Fault: input channel index should betw"
.ascii "een 0 and %d\012\000"
.text
.align 2
.global qdma_set_channel_close_status
.type qdma_set_channel_close_status, %function
qdma_set_channel_close_status:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #12]
mov r3, #0
str r3, [sp, #28]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #24]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #20]
ldr r3, [sp, #20]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bhi .L902
ldr r3, [sp, #20]
ldrb r2, [r3] @ zero_extendqisi2
ldr r3, [sp, #20]
ldrb r3, [r3, #1] @ zero_extendqisi2
ldr r0, [sp, #24]
mov r1, r2
mov r2, r3
bl qdmaSetChannelCfg_sw
b .L903
.L902:
ldr r3, [sp, #20]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #32
bne .L904
mov r3, #0
str r3, [sp, #28]
b .L905
.L906:
ldr r3, [sp, #28]
uxtb r2, r3
ldr r3, [sp, #20]
ldrb r3, [r3, #1] @ zero_extendqisi2
ldr r0, [sp, #24]
mov r1, r2
mov r2, r3
bl qdmaSetChannelCfg_sw
ldr r3, [sp, #28]
add r3, r3, #1
str r3, [sp, #28]
.L905:
ldr r3, [sp, #28]
cmp r3, #31
bls .L906
b .L903
.L904:
mov r3, #32
str r3, [sp]
movw r0, #:lower16:.LC179
movt r0, #:upper16:.LC179
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L908
movw r3, #5436
bl printk
mvn r3, #21
b .L907
.L903:
mov r3, #0
.L907:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L909:
.align 2
.L908:
.word .LC3+60
.fnend
.size qdma_set_channel_close_status, .-qdma_set_channel_close_status
.align 2
.global qdma_get_channel_close_status
.type qdma_get_channel_close_status, %function
qdma_get_channel_close_status:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L911
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC179
movt r0, #:upper16:.LC179
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L913
movw r3, #5449
bl printk
mvn r3, #21
b .L912
.L911:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
ldr r0, [sp, #20]
mov r1, r3
bl qdmaIsChannelClosed_sw
mov r3, r0
uxtb r2, r3
ldr r3, [sp, #16]
strb r2, [r3, #1]
mov r3, #0
.L912:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L914:
.align 2
.L913:
.word .LC3+60
.fnend
.size qdma_get_channel_close_status, .-qdma_get_channel_close_status
.align 2
.global qdma_get_channel_empty_status
.type qdma_get_channel_empty_status, %function
qdma_get_channel_empty_status:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L916
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC179
movt r0, #:upper16:.LC179
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L918
movw r3, #5464
bl printk
mvn r3, #21
b .L917
.L916:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
and r2, r3, #252
ldr r3, [sp, #20]
add r3, r2, r3
add r3, r3, #4736
mov r0, r3
bl get_frame_engine_data
mov r1, r0
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
and r3, r3, #3
mov r3, r3, asl #3
mov r2, #255
mov r3, r2, asl r3
and r2, r1, r3
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
and r3, r3, #3
mov r3, r3, asl #3
mov r3, r2, asr r3
uxtb r2, r3
ldr r3, [sp, #16]
strb r2, [r3, #1]
mov r3, #0
.L917:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L919:
.align 2
.L918:
.word .LC3+60
.fnend
.size qdma_get_channel_empty_status, .-qdma_get_channel_empty_status
.align 2
.global qdma_set_oam_modify_fp_en
.type qdma_set_oam_modify_fp_en, %function
qdma_set_oam_modify_fp_en:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
cmp r3, #1
bne .L921
movw r3, #:lower16:qdmaLanHqosMode
movt r3, #:upper16:qdmaLanHqosMode
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #0
bne .L923
ldr r3, [sp, #20]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
add r2, r3, #4
ldr r3, [sp, #12]
orr r3, r3, #16777216
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L923
.L921:
ldr r3, [sp, #20]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #20]
add r2, r3, #4
ldr r3, [sp, #8]
bic r3, r3, #16777216
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L923:
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_oam_modify_fp_en, .-qdma_set_oam_modify_fp_en
.align 2
.global qdma_get_oam_modify_fp_en
.type qdma_get_oam_modify_fp_en, %function
qdma_get_oam_modify_fp_en:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #16777216
mov r3, r3, asr #24
cmp r3, #0
beq .L926
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
b .L927
.L926:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
.L927:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_oam_modify_fp_en, .-qdma_get_oam_modify_fp_en
.align 2
.global qdma_set_multicast_en
.type qdma_set_multicast_en, %function
qdma_set_multicast_en:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
cmp r3, #1
bne .L930
ldr r3, [sp, #28]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #28]
add r2, r3, #4
ldr r3, [sp, #20]
orr r3, r3, #33554432
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #28]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #28]
add r2, r3, #4
ldr r3, [sp, #16]
orr r3, r3, #2097152
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L931
.L930:
ldr r3, [sp, #28]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #28]
add r2, r3, #4
ldr r3, [sp, #12]
bic r3, r3, #33554432
mov r0, r2
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #28]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #28]
add r2, r3, #4
ldr r3, [sp, #8]
bic r3, r3, #2097152
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L931:
mov r3, #0
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_set_multicast_en, .-qdma_set_multicast_en
.align 2
.global qdma_get_multicast_en
.type qdma_get_multicast_en, %function
qdma_get_multicast_en:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #12]
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #2097152
mov r3, r3, asr #21
cmp r3, #0
beq .L934
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
b .L935
.L934:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
.L935:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_multicast_en, .-qdma_get_multicast_en
.section .rodata.str1.4
.align 2
.LC180:
.ascii "%s: %s [%d]: Fault: SLA index should between 0 and "
.ascii "%d\012\000"
.align 2
.LC181:
.ascii "%s: %s [%d]: Fault: channel index should between 0 "
.ascii "and %d\012\000"
.text
.align 2
.global qdma_set_sla_chnl_cfg
.type qdma_set_sla_chnl_cfg, %function
qdma_set_sla_chnl_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #44
sub sp, sp, #44
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #36]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #32]
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #3
bls .L938
mov r3, #3
str r3, [sp]
movw r0, #:lower16:.LC180
movt r0, #:upper16:.LC180
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L943
movw r3, #5571
bl printk
mvn r3, #21
b .L939
.L938:
ldr r3, [sp, #32]
ldrb r3, [r3, #8] @ zero_extendqisi2
cmp r3, #31
bls .L940
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC181
movt r0, #:upper16:.LC181
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L943
movw r3, #5576
bl printk
mvn r3, #21
b .L939
.L940:
ldr r3, [sp, #32]
ldr r3, [r3, #4]
cmp r3, #1
bne .L941
ldr r3, [sp, #36]
add r3, r3, #4416
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #36]
add r3, r3, #4416
add r3, r3, #12
ldr r2, [sp, #32]
ldrb r2, [r2] @ zero_extendqisi2
mov r2, r2, asl #3
add r2, r2, #7
mov r1, #1
mov r2, r1, asl r2
mov r1, r2
ldr r2, [sp, #28]
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L942
.L941:
ldr r3, [sp, #36]
add r3, r3, #4416
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
ldr r3, [sp, #36]
add r3, r3, #4416
add r3, r3, #12
ldr r2, [sp, #32]
ldrb r2, [r2] @ zero_extendqisi2
mov r2, r2, asl #3
add r2, r2, #7
mov r1, #1
mov r2, r1, asl r2
mvn r2, r2
mov r1, r2
ldr r2, [sp, #24]
and r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L942:
ldr r3, [sp, #36]
add r3, r3, #4416
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #36]
add r3, r3, #4416
add r3, r3, #12
ldr r2, [sp, #32]
ldrb r2, [r2] @ zero_extendqisi2
mov r2, r2, asl #3
mov r1, #31
mov r2, r1, asl r2
mvn r2, r2
mov r1, r2
ldr r2, [sp, #20]
and r2, r2, r1
ldr r1, [sp, #32]
ldrb r1, [r1, #8] @ zero_extendqisi2
mov r0, r1
ldr r1, [sp, #32]
ldrb r1, [r1] @ zero_extendqisi2
mov r1, r1, asl #3
mov r0, r0, asl r1
ldr r1, [sp, #32]
ldrb r1, [r1] @ zero_extendqisi2
mov r1, r1, asl #3
mov ip, #31
mov r1, ip, asl r1
and r1, r1, r0
orr r2, r2, r1
mov r0, r3
mov r1, r2
bl set_frame_engine_data
mov r3, #0
.L939:
mov r0, r3
add sp, sp, #44
@ sp needed
ldr pc, [sp], #4
.L944:
.align 2
.L943:
.word .LC3+60
.fnend
.size qdma_set_sla_chnl_cfg, .-qdma_set_sla_chnl_cfg
.align 2
.global qdma_get_sla_chnl_cfg
.type qdma_get_sla_chnl_cfg, %function
qdma_get_sla_chnl_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #3
bls .L946
mov r3, #3
str r3, [sp]
movw r0, #:lower16:.LC180
movt r0, #:upper16:.LC180
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L950
movw r3, #5602
bl printk
mvn r3, #21
b .L947
.L946:
ldr r3, [sp, #20]
add r3, r3, #4416
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r1, r0
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #3
add r3, r3, #7
mov r2, #1
mov r3, r2, asl r3
and r2, r1, r3
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #3
add r3, r3, #7
mov r3, r2, asr r3
cmp r3, #0
beq .L948
ldr r3, [sp, #16]
mov r2, #1
str r2, [r3, #4]
b .L949
.L948:
ldr r3, [sp, #16]
mov r2, #0
str r2, [r3, #4]
.L949:
ldr r3, [sp, #20]
add r3, r3, #4416
add r3, r3, #12
mov r0, r3
bl get_frame_engine_data
mov r1, r0
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #3
mov r2, #31
mov r3, r2, asl r3
and r2, r1, r3
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #3
mov r3, r2, asr r3
uxtb r2, r3
ldr r3, [sp, #16]
strb r2, [r3, #8]
mov r3, #0
.L947:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L951:
.align 2
.L950:
.word .LC3+60
.fnend
.size qdma_get_sla_chnl_cfg, .-qdma_get_sla_chnl_cfg
.align 2
.global qdma_set_qos_aging_cfg
.type qdma_set_qos_aging_cfg, %function
qdma_set_qos_aging_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, lr}
.save {r4, r5, lr}
.pad #44
sub sp, sp, #44
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #36]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #32]
ldr r3, [sp, #32]
ldr r3, [r3]
cmp r3, #1
bne .L953
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
ldr r2, [sp, #28]
orr r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L954
.L953:
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
ldr r2, [sp, #24]
bic r2, r2, #-2147483648
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L954:
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
ldr r2, [sp, #20]
bic r1, r2, #1073741824
ldr r2, [sp, #32]
ldr r2, [r2, #4]
mov r2, r2, asl #30
and r2, r2, #1073741824
orr r2, r1, r2
mov r0, r3
mov r1, r2
bl set_frame_engine_data
ldr r3, [sp, #32]
ldr r3, [r3, #8]
cmp r3, #1
bne .L955
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
ldr r2, [sp, #16]
orr r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
b .L956
.L955:
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
ldr r2, [sp, #12]
bic r2, r2, #536870912
mov r0, r3
mov r1, r2
bl set_frame_engine_data
.L956:
ldr r3, [sp, #36]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #8]
ldr r3, [sp, #36]
add r1, r3, #4224
add r1, r1, #60
ldr r3, [sp, #8]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r2, [sp, #32]
ldr r0, [r2, #12]
movw r2, #52429
movt r2, 52428
umull r4, r5, r0, r2
mov r2, r5, lsr #4
uxth r2, r2
orr r3, r3, r2
mov r0, r1
mov r1, r3
bl set_frame_engine_data
mov r3, #0
mov r0, r3
add sp, sp, #44
@ sp needed
ldmfd sp!, {r4, r5, pc}
.fnend
.size qdma_set_qos_aging_cfg, .-qdma_set_qos_aging_cfg
.align 2
.global qdma_get_qos_aging_cfg
.type qdma_get_qos_aging_cfg, %function
qdma_get_qos_aging_cfg:
.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]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, asr #31
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1073741824
mov r3, r3, asr #30
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #4]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #536870912
mov r3, r3, asr #29
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #8]
ldr r3, [sp, #12]
add r3, r3, #4224
add r3, r3, #60
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r2, r3
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #8]
str r2, [r3, #12]
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_qos_aging_cfg, .-qdma_get_qos_aging_cfg
.section .rodata.str1.4
.align 2
.LC182:
.ascii "%s: %s [%d]: Fault: queue index should between 0 an"
.ascii "d %d\012\000"
.text
.align 2
.global qdma_set_per_queue_aging_cfg
.type qdma_set_per_queue_aging_cfg, %function
qdma_set_per_queue_aging_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L961
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC181
movt r0, #:upper16:.LC181
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L966
movw r3, #5675
bl printk
mvn r3, #21
b .L962
.L961:
ldr r3, [sp, #24]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #7
bls .L963
mov r3, #7
str r3, [sp]
movw r0, #:lower16:.LC182
movt r0, #:upper16:.LC182
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L966
movw r3, #5680
bl printk
mvn r3, #21
b .L962
.L963:
ldr r3, [sp, #24]
ldr r3, [r3, #4]
cmp r3, #1
bne .L964
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, lsr #2
uxtb r3, r3
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #4480
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, lsr #2
uxtb r3, r3
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #28]
add r3, r2, r3
add r1, r3, #4480
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
and r3, r3, #3
mov r3, r3, asl #3
ldr r2, [sp, #24]
ldrb r2, [r2, #1] @ zero_extendqisi2
add r3, r3, r2
mov r2, #1
mov r3, r2, asl r3
mov r2, r3
ldr r3, [sp, #20]
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
b .L965
.L964:
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, lsr #2
uxtb r3, r3
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #4480
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #16]
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, lsr #2
uxtb r3, r3
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #28]
add r3, r2, r3
add r1, r3, #4480
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
and r3, r3, #3
mov r3, r3, asl #3
ldr r2, [sp, #24]
ldrb r2, [r2, #1] @ zero_extendqisi2
add r3, r3, r2
mov r2, #1
mov r3, r2, asl r3
mvn r3, r3
mov r2, r3
ldr r3, [sp, #16]
and r3, r3, r2
mov r0, r1
mov r1, r3
bl set_frame_engine_data
.L965:
mov r3, #0
.L962:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L967:
.align 2
.L966:
.word .LC3+60
.fnend
.size qdma_set_per_queue_aging_cfg, .-qdma_set_per_queue_aging_cfg
.align 2
.global qdma_get_per_queue_aging_cfg
.type qdma_get_per_queue_aging_cfg, %function
qdma_get_per_queue_aging_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L969
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC181
movt r0, #:upper16:.LC181
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L972
movw r3, #5704
bl printk
mvn r3, #21
b .L970
.L969:
ldr r3, [sp, #16]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #7
bls .L971
mov r3, #7
str r3, [sp]
movw r0, #:lower16:.LC182
movt r0, #:upper16:.LC182
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L972
movw r3, #5709
bl printk
mvn r3, #21
b .L970
.L971:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, lsr #2
uxtb r3, r3
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #20]
add r3, r2, r3
add r3, r3, #4480
mov r0, r3
bl get_frame_engine_data
mov r1, r0
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
and r3, r3, #3
mov r3, r3, asl #3
ldr r2, [sp, #16]
ldrb r2, [r2, #1] @ zero_extendqisi2
add r3, r3, r2
mov r2, #1
mov r3, r2, asl r3
and r2, r1, r3
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
and r3, r3, #3
mov r3, r3, asl #3
ldr r1, [sp, #16]
ldrb r1, [r1, #1] @ zero_extendqisi2
add r3, r3, r1
mov r3, r2, asr r3
mov r2, r3
ldr r3, [sp, #16]
str r2, [r3, #4]
mov r3, #0
.L970:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L973:
.align 2
.L972:
.word .LC3+60
.fnend
.size qdma_get_per_queue_aging_cfg, .-qdma_get_per_queue_aging_cfg
.align 2
.global qdma_set_multicast_sptag_cfg
.type qdma_set_multicast_sptag_cfg, %function
qdma_set_multicast_sptag_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 32
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #44
sub sp, sp, #44
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #36]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #32]
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L975
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC157
movt r0, #:upper16:.LC157
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L979
movw r3, #5730
bl printk
mvn r3, #21
b .L976
.L975:
ldr r3, [sp, #32]
ldrb r3, [r3, #1] @ zero_extendqisi2
cmp r3, #0
beq .L977
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #36]
add r3, r2, r3
add r3, r3, #2176
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #36]
add r3, r2, r3
add r2, r3, #2176
ldr r3, [sp, #28]
orr r3, r3, #-2147483648
mov r0, r2
mov r1, r3
bl set_frame_engine_data
b .L978
.L977:
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #36]
add r3, r2, r3
add r3, r3, #2176
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #24]
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #36]
add r3, r2, r3
add r2, r3, #2176
ldr r3, [sp, #24]
bic r3, r3, #-2147483648
mov r0, r2
mov r1, r3
bl set_frame_engine_data
.L978:
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #36]
add r3, r2, r3
add r3, r3, #2176
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #32]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #36]
add r3, r2, r3
add r1, r3, #2176
ldr r3, [sp, #20]
mov r3, r3, lsr #16
mov r3, r3, asl #16
ldr r2, [sp, #32]
ldrh r2, [r2, #2]
orr r3, r3, r2
mov r0, r1
mov r1, r3
bl set_frame_engine_data
mov r3, #0
.L976:
mov r0, r3
add sp, sp, #44
@ sp needed
ldr pc, [sp], #4
.L980:
.align 2
.L979:
.word .LC3+60
.fnend
.size qdma_set_multicast_sptag_cfg, .-qdma_set_multicast_sptag_cfg
.align 2
.global qdma_get_multicast_sptag_cfg
.type qdma_get_multicast_sptag_cfg, %function
qdma_get_multicast_sptag_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #31
bls .L982
mov r3, #31
str r3, [sp]
movw r0, #:lower16:.LC157
movt r0, #:upper16:.LC157
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L984
movw r3, #5758
bl printk
mvn r3, #21
b .L983
.L982:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #20]
add r3, r2, r3
add r3, r3, #2176
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r3, r3, lsr #31
uxtb r2, r3
ldr r3, [sp, #16]
strb r2, [r3, #1]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #20]
add r3, r2, r3
add r3, r3, #2176
mov r0, r3
bl get_frame_engine_data
mov r3, r0
uxth r2, r3
ldr r3, [sp, #16]
strh r2, [r3, #2] @ movhi
mov r3, #0
.L983:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L985:
.align 2
.L984:
.word .LC3+60
.fnend
.size qdma_get_multicast_sptag_cfg, .-qdma_get_multicast_sptag_cfg
.align 2
.global qdma_set_multicast_fport_cfg
.type qdma_set_multicast_fport_cfg, %function
qdma_set_multicast_fport_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #36
sub sp, sp, #36
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #28]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #24]
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #15
bls .L987
mov r3, #15
str r3, [sp]
movw r0, #:lower16:.LC157
movt r0, #:upper16:.LC157
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L989
movw r3, #5780
bl printk
mvn r3, #21
b .L988
.L987:
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #28]
add r3, r2, r3
add r3, r3, #2176
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #20]
ldr r3, [sp, #24]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #28]
add r3, r2, r3
add r1, r3, #2176
ldr r3, [sp, #20]
bic r2, r3, #33292288
bic r2, r2, #196608
ldr r3, [sp, #24]
ldrh r3, [r3, #2]
mov r3, r3, asl #16
mov r0, r3
mov r3, #0
movt r3, 511
and r3, r3, r0
orr r3, r2, r3
mov r0, r1
mov r1, r3
bl set_frame_engine_data
mov r3, #0
.L988:
mov r0, r3
add sp, sp, #36
@ sp needed
ldr pc, [sp], #4
.L990:
.align 2
.L989:
.word .LC3+60
.fnend
.size qdma_set_multicast_fport_cfg, .-qdma_set_multicast_fport_cfg
.align 2
.global qdma_get_multicast_fport_cfg
.type qdma_get_multicast_fport_cfg, %function
qdma_get_multicast_fport_cfg:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #20]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #16]
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #15
bls .L992
mov r3, #15
str r3, [sp]
movw r0, #:lower16:.LC157
movt r0, #:upper16:.LC157
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L994
movw r3, #5799
bl printk
mvn r3, #21
b .L993
.L992:
ldr r3, [sp, #16]
ldrb r3, [r3] @ zero_extendqisi2
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #20]
add r3, r2, r3
add r3, r3, #2176
mov r0, r3
bl get_frame_engine_data
mov r2, r0
mov r3, #0
movt r3, 511
and r3, r3, r2
mov r3, r3, asr #16
uxth r2, r3
ldr r3, [sp, #16]
strh r2, [r3, #2] @ movhi
mov r3, #0
.L993:
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.L995:
.align 2
.L994:
.word .LC3+60
.fnend
.size qdma_get_multicast_fport_cfg, .-qdma_get_multicast_fport_cfg
.align 2
.global qdma_get_hqos_en
.type qdma_get_hqos_en, %function
qdma_get_hqos_en:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
movw r3, #:lower16:qdmaLanHqosMode
movt r3, #:upper16:qdmaLanHqosMode
ldrb r3, [r3] @ zero_extendqisi2
cmp r3, #1
bne .L997
ldr r3, [sp, #4]
mov r2, #1
str r2, [r3, #8]
b .L998
.L997:
ldr r3, [sp, #4]
mov r2, #0
str r2, [r3, #8]
.L998:
ldr r3, [sp, #4]
ldr r3, [r3, #8]
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_get_hqos_en, .-qdma_get_hqos_en
.align 2
.global qdma_clear_dbg_cntr_value_all
.type qdma_clear_dbg_cntr_value_all, %function
qdma_clear_dbg_cntr_value_all:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #20]
b .L1001
.L1002:
ldr r3, [sp, #20]
mov r3, r3, asl #3
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #1024
add r3, r3, #4
mov r0, r3
mov r1, #0
bl set_frame_engine_data
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L1001:
ldr r3, [sp, #20]
cmp r3, #31
ble .L1002
mov r3, #0
str r3, [sp, #20]
b .L1003
.L1004:
ldr r3, [sp, #20]
uxtb r3, r3
mov r0, r3
mov r1, #0
bl qdma_set_dbg_cntmem_clear
ldr r3, [sp, #20]
uxtb r3, r3
mov r0, r3
mov r1, #1
bl qdma_set_dbg_cntmem_clear
ldr r3, [sp, #20]
uxtb r3, r3
mov r0, r3
mov r1, #2
bl qdma_set_dbg_cntmem_clear
ldr r3, [sp, #20]
uxtb r3, r3
mov r0, r3
mov r1, #3
bl qdma_set_dbg_cntmem_clear
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L1003:
ldr r3, [sp, #20]
cmp r3, #31
ble .L1004
mov r3, #0
str r3, [sp, #20]
b .L1005
.L1006:
ldr r3, [sp, #20]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #284
mov r0, r3
mov r1, #0
bl set_frame_engine_data
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L1005:
ldr r3, [sp, #20]
cmp r3, #7
ble .L1006
mov r3, #0
str r3, [sp, #20]
b .L1007
.L1008:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #20]
add r2, r2, #174
mov r1, #0
str r1, [r3, r2, asl #2]
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L1007:
ldr r3, [sp, #20]
cmp r3, #15
ble .L1008
ldr r3, [sp, #16]
add r3, r3, #1552
mov r0, r3
mov r1, #0
bl set_frame_engine_data
ldr r3, [sp, #16]
add r3, r3, #1552
add r3, r3, #4
mov r0, r3
mov r1, #0
bl set_frame_engine_data
ldr r3, [sp, #16]
add r3, r3, #1552
add r3, r3, #8
mov r0, r3
mov r1, #0
bl set_frame_engine_data
ldr r3, [sp, #16]
add r3, r3, #1568
mov r0, r3
mov r1, #0
bl set_frame_engine_data
ldr r3, [sp, #16]
add r3, r3, #1568
add r3, r3, #4
mov r0, r3
mov r1, #0
bl set_frame_engine_data
mov r3, #0
str r3, [sp, #20]
b .L1009
.L1010:
ldr r3, [sp, #20]
mov r3, r3, asr #1
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r3, r3, #1664
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #12]
ldr r3, [sp, #20]
mov r3, r3, asr #1
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #16]
add r3, r2, r3
add r1, r3, #1664
ldr r2, [sp, #20]
mov r3, r2, asr #31
mov r3, r3, lsr #31
add r2, r2, r3
and r2, r2, #1
rsb r3, r3, r2
mov r3, r3, asl #4
movw r2, #65535
mov r3, r2, asl r3
mvn r3, r3
mov r2, r3
ldr r3, [sp, #12]
and r3, r3, r2
mov r0, r1
mov r1, r3
bl set_frame_engine_data
ldr r3, [sp, #20]
add r3, r3, #1
str r3, [sp, #20]
.L1009:
ldr r3, [sp, #20]
cmp r3, #31
ble .L1010
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_clear_dbg_cntr_value_all, .-qdma_clear_dbg_cntr_value_all
.section .rodata.str1.4
.align 2
.LC183:
.ascii " index:%d , counter:%d\000"
.text
.align 2
.global qdma_debug_counter_dump
.type qdma_debug_counter_dump, %function
qdma_debug_counter_dump:
.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
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp]
mov r3, #0
str r3, [sp, #4]
mov r3, #0
str r3, [sp, #4]
b .L1013
.L1015:
ldr r3, [sp, #4]
and r3, r3, #7
cmp r3, #0
bne .L1014
movw r0, #:lower16:.LC139
movt r0, #:upper16:.LC139
bl printk
.L1014:
ldr r3, [sp, #4]
mov r3, r3, asl #3
mov r2, r3
ldr r3, [sp]
add r3, r2, r3
add r3, r3, #1024
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC183
movt r0, #:upper16:.LC183
ldr r1, [sp, #4]
mov r2, r3
bl printk
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
.L1013:
ldr r3, [sp, #4]
cmp r3, #63
ble .L1015
movw r0, #:lower16:.LC139
movt r0, #:upper16:.LC139
bl printk
mov r3, #0
str r3, [sp, #4]
b .L1016
.L1017:
ldr r3, [sp, #4]
mov r3, r3, asl #3
mov r2, r3
ldr r3, [sp]
add r3, r2, r3
add r3, r3, #1024
add r3, r3, #4
mov r0, r3
mov r1, #0
bl set_frame_engine_data
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
.L1016:
ldr r3, [sp, #4]
cmp r3, #63
ble .L1017
mov r3, #0
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_debug_counter_dump, .-qdma_debug_counter_dump
.align 2
.global qdma_set_cntr_channel
.type qdma_set_cntr_channel, %function
qdma_set_cntr_channel:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_set_cntr_channel, .-qdma_set_cntr_channel
.align 2
.global qdma_dump_cntr_channel
.type qdma_dump_cntr_channel, %function
qdma_dump_cntr_channel:
.fnstart
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #8
sub sp, sp, #8
str r0, [sp, #4]
mov r3, #0
mov r0, r3
add sp, sp, #8
@ sp needed
bx lr
.fnend
.size qdma_dump_cntr_channel, .-qdma_dump_cntr_channel
.section .rodata.str1.4
.align 2
.LC184:
.ascii "%s: %s [%d]: channel config type is error, should b"
.ascii "etween 0 and 2\012\000"
.text
.align 2
.global qdma_clear_and_set_dbg_cntr_channel_group
.type qdma_clear_and_set_dbg_cntr_channel_group, %function
qdma_clear_and_set_dbg_cntr_channel_group:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #52
sub sp, sp, #52
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #44]
mov r3, #0
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #36]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #32]
mov r3, #1
strb r3, [sp, #9]
mov r3, #0
strb r3, [sp, #16]
mov r3, #1
strb r3, [sp, #18]
mov r3, #1
strb r3, [sp, #17]
mov r3, #0
strb r3, [sp, #20]
mov r3, #0
strb r3, [sp, #21]
ldr r3, [sp, #32]
cmp r3, #2
bls .L1024
movw r0, #:lower16:.LC184
movt r0, #:upper16:.LC184
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1027
mov r3, #5952
bl printk
mvn r3, #21
b .L1026
.L1024:
ldr r3, [sp, #44]
add r3, r3, #1536
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #44]
add r2, r3, #1536
ldr r3, [sp, #28]
orr r3, r3, #-2147483648
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #1
strb r3, [sp, #16]
mov r3, #0
strb r3, [sp, #19]
mov r3, #0
strb r3, [sp, #8]
mov r3, #8
str r3, [sp, #12]
add r3, sp, #8
mov r0, r3
bl qdma_clear_and_set_dbg_cntr_info
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #32]
str r2, [r3, #1480]
mov r3, #0
.L1026:
mov r0, r3
add sp, sp, #52
@ sp needed
ldr pc, [sp], #4
.L1028:
.align 2
.L1027:
.word .LC3+60
.fnend
.size qdma_clear_and_set_dbg_cntr_channel_group, .-qdma_clear_and_set_dbg_cntr_channel_group
.align 2
.global qdma_clear_and_set_dbg_cntr_queue_group
.type qdma_clear_and_set_dbg_cntr_queue_group, %function
qdma_clear_and_set_dbg_cntr_queue_group:
.fnstart
@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #44
sub sp, sp, #44
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #32]
mov r3, #0
str r3, [sp, #36]
mov r3, #1
strb r3, [sp, #9]
mov r3, #1
strb r3, [sp, #16]
mov r3, #1
strb r3, [sp, #18]
mov r3, #0
strb r3, [sp, #17]
mov r3, #0
strb r3, [sp, #19]
mov r3, #0
strb r3, [sp, #21]
ldr r3, [sp, #32]
add r3, r3, #1536
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #28]
ldr r3, [sp, #32]
add r2, r3, #1536
ldr r3, [sp, #28]
orr r3, r3, #-2147483648
mov r0, r2
mov r1, r3
bl set_frame_engine_data
mov r3, #0
str r3, [sp, #36]
b .L1030
.L1031:
ldr r3, [sp, #36]
uxtb r3, r3
strb r3, [sp, #20]
ldr r3, [sp, #36]
uxtb r3, r3
strb r3, [sp, #8]
mov r3, #0
str r3, [sp, #12]
add r3, sp, #8
mov r0, r3
bl qdma_clear_and_set_dbg_cntr_info
ldr r3, [sp, #36]
uxtb r3, r3
add r3, r3, #8
uxtb r3, r3
strb r3, [sp, #8]
mov r3, #1
str r3, [sp, #12]
add r3, sp, #8
mov r0, r3
bl qdma_clear_and_set_dbg_cntr_info
ldr r3, [sp, #36]
uxtb r3, r3
add r3, r3, #16
uxtb r3, r3
strb r3, [sp, #8]
mov r3, #9
str r3, [sp, #12]
add r3, sp, #8
mov r0, r3
bl qdma_clear_and_set_dbg_cntr_info
ldr r3, [sp, #36]
uxtb r3, r3
add r3, r3, #24
uxtb r3, r3
strb r3, [sp, #8]
mov r3, #8
str r3, [sp, #12]
add r3, sp, #8
mov r0, r3
bl qdma_clear_and_set_dbg_cntr_info
ldr r3, [sp, #36]
add r3, r3, #1
str r3, [sp, #36]
.L1030:
ldr r3, [sp, #36]
cmp r3, #7
ble .L1031
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
mov r2, #3
str r2, [r3, #1480]
mov r3, #0
mov r0, r3
add sp, sp, #44
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_clear_and_set_dbg_cntr_queue_group, .-qdma_clear_and_set_dbg_cntr_queue_group
.section .rodata.str1.4
.align 2
.LC185:
.ascii "%s: %s [%d]: gpQdmaPriv->dbgCntrType is %d, should "
.ascii "between 0 and 3\012\000"
.align 2
.LC186:
.ascii "Dump Queue %d~%d TX CPU & FWD Counter:\012\000"
.align 2
.LC187:
.ascii "%s: %s [%d]: cntrIdx_%d: cntrSrc is %d, isQueueAll "
.ascii "is %d\012\000"
.align 2
.LC188:
.ascii "queue_%d: tx cpu cnt:%u, tx fwd cnt:%u, ageout drop"
.ascii " cnt:%u, multicast drop cnt:%u\012\000"
.align 2
.LC189:
.ascii "Dump Channel %d~%d TX CPU & FWD Counter:\012\000"
.align 2
.LC190:
.ascii "channel_%d: tx cpu cnt:%u, tx fwd cnt:%u, rx fwd cn"
.ascii "t:%u, ageout drop cnt:%u, multicast drop cnt:%u\012"
.ascii "\000"
.align 2
.LC191:
.ascii "channel_%d: tx cpu cnt:%u, tx fwd cnt:%u, rx fwd cn"
.ascii "t:%u, ageout drop cnt:%u\012\000"
.align 2
.LC192:
.ascii "All channel ageout drop accumulate counter:%u\012\000"
.align 2
.LC193:
.ascii "All channel multicast drop accumulate counter:%u\012"
.ascii "\000"
.align 2
.LC194:
.ascii "%s: %s [%d]: cntrIdx_%d: cntrSrc is %d, isChnlAll i"
.ascii "s %d\012\000"
.align 2
.LC195:
.ascii "All channel multicast drop counter:%u\012\000"
.align 2
.LC196:
.ascii "\012TX count: cpu-path:%u, fwd-path:%u, total:%u\012"
.ascii "\000"
.align 2
.LC197:
.ascii "TX cpu-path count: TxRing0:%u, TxRing1:%u, TxRing2:"
.ascii "%u, TxRing3:%u, TxRing4:%u, TxRing5:%u, TxRing6:%u,"
.ascii " TxRing7:%u\012\000"
.align 2
.LC198:
.ascii "RX count: cpu-path:%u, fwd-path:%u, total:%u\012\000"
.align 2
.LC199:
.ascii "RX cpu-path count: RxRing0:%u, RxRing1:%u, RxRing2:"
.ascii "%u, RxRing3:%u, RxRing4:%u, RxRing5:%u, RxRing6:%u,"
.ascii " RxRing7:%u\012\000"
.align 2
.LC200:
.ascii " RxRing8:%u, RxRing9:%u, RxRing10"
.ascii ":%u, RxRing11:%u, RxRing12:%u, RxRing13:%u, RxRing1"
.ascii "4:%u, RxRing15:%u\012\000"
.text
.align 2
.global qdma_dump_dbg_cntr_value_timer
.type qdma_dump_dbg_cntr_value_timer, %function
qdma_dump_dbg_cntr_value_timer:
.fnstart
@ args = 0, pretend = 0, frame = 192
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, lr}
.save {r4, r5, lr}
.pad #220
sub sp, sp, #220
str r0, [sp, #28]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #204]
mov r3, #0
str r3, [sp, #212]
mov r3, #0
str r3, [sp, #200]
mov r3, #0
str r3, [sp, #196]
mov r3, #0
str r3, [sp, #192]
mov r3, #0
str r3, [sp, #188]
mov r3, #0
str r3, [sp, #184]
mov r3, #0
str r3, [sp, #180]
mov r3, #0
str r3, [sp, #176]
mov r3, #0
str r3, [sp, #172]
mov r3, #0
str r3, [sp, #168]
mov r3, #0
str r3, [sp, #164]
add r3, sp, #100
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
mov r2, #0
str r2, [r3]
add r3, r3, #4
add r3, sp, #36
mov r2, #64
mov r0, r3
mov r1, #0
bl memset
mov r3, #0
str r3, [sp, #160]
mov r3, #0
str r3, [sp, #208]
mov r3, #0
str r3, [sp, #156]
mov r3, #0
str r3, [sp, #152]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
cmp r3, #3
bls .L1034
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
str r3, [sp]
movw r0, #:lower16:.LC185
movt r0, #:upper16:.LC185
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1072
movw r3, #6114
bl printk
b .L1033
.L1034:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
cmp r3, #3
bne .L1036
movw r0, #:lower16:.LC186
movt r0, #:upper16:.LC186
mov r1, #0
mov r2, #7
bl printk
mov r3, #0
str r3, [sp, #212]
b .L1037
.L1048:
ldr r3, [sp, #212]
uxtb r3, r3
strb r3, [sp, #132]
add r3, sp, #132
mov r0, r3
bl qdma_get_dbg_cntr_info
ldr r3, [sp, #136]
cmp r3, #0
bne .L1038
ldrb r3, [sp, #141] @ zero_extendqisi2
cmp r3, #1
beq .L1038
ldrb r3, [sp, #144] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #212]
cmp r2, r3
beq .L1039
.L1038:
ldrb r3, [sp, #132] @ zero_extendqisi2
mov r1, r3
ldr r3, [sp, #136]
ldrb r2, [sp, #141] @ zero_extendqisi2
str r1, [sp]
str r3, [sp, #4]
str r2, [sp, #8]
movw r0, #:lower16:.LC187
movt r0, #:upper16:.LC187
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1072
movw r3, #6124
bl printk
b .L1033
.L1039:
ldr r3, [sp, #148]
str r3, [sp, #196]
ldr r3, [sp, #212]
uxtb r3, r3
add r3, r3, #8
uxtb r3, r3
strb r3, [sp, #132]
add r3, sp, #132
mov r0, r3
bl qdma_get_dbg_cntr_info
ldr r3, [sp, #136]
cmp r3, #1
bne .L1040
ldrb r3, [sp, #141] @ zero_extendqisi2
cmp r3, #1
beq .L1040
ldrb r3, [sp, #144] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #212]
cmp r2, r3
beq .L1041
.L1040:
ldrb r3, [sp, #132] @ zero_extendqisi2
mov r1, r3
ldr r3, [sp, #136]
ldrb r2, [sp, #141] @ zero_extendqisi2
str r1, [sp]
str r3, [sp, #4]
str r2, [sp, #8]
movw r0, #:lower16:.LC187
movt r0, #:upper16:.LC187
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1072
movw r3, #6132
bl printk
b .L1033
.L1041:
ldr r3, [sp, #148]
str r3, [sp, #192]
ldr r3, [sp, #212]
uxtb r3, r3
add r3, r3, #16
uxtb r3, r3
strb r3, [sp, #132]
add r3, sp, #132
mov r0, r3
bl qdma_get_dbg_cntr_info
ldr r3, [sp, #136]
cmp r3, #9
bne .L1042
ldrb r3, [sp, #141] @ zero_extendqisi2
cmp r3, #1
beq .L1042
ldrb r3, [sp, #144] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #212]
cmp r2, r3
beq .L1043
.L1042:
ldrb r3, [sp, #132] @ zero_extendqisi2
mov r1, r3
ldr r3, [sp, #136]
ldrb r2, [sp, #141] @ zero_extendqisi2
str r1, [sp]
str r3, [sp, #4]
str r2, [sp, #8]
movw r0, #:lower16:.LC187
movt r0, #:upper16:.LC187
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1072
movw r3, #6140
bl printk
b .L1033
.L1043:
ldr r3, [sp, #148]
str r3, [sp, #188]
ldr r3, [sp, #212]
uxtb r3, r3
add r3, r3, #24
uxtb r3, r3
strb r3, [sp, #132]
add r3, sp, #132
mov r0, r3
bl qdma_get_dbg_cntr_info
ldr r3, [sp, #136]
cmp r3, #8
bne .L1044
ldrb r3, [sp, #141] @ zero_extendqisi2
cmp r3, #1
beq .L1044
ldrb r3, [sp, #144] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #212]
cmp r2, r3
beq .L1045
.L1044:
ldrb r3, [sp, #132] @ zero_extendqisi2
mov r1, r3
ldr r3, [sp, #136]
ldrb r2, [sp, #141] @ zero_extendqisi2
str r1, [sp]
str r3, [sp, #4]
str r2, [sp, #8]
movw r0, #:lower16:.LC187
movt r0, #:upper16:.LC187
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1072
movw r3, #6149
bl printk
b .L1033
.L1045:
ldr r3, [sp, #148]
str r3, [sp, #184]
ldr r2, [sp, #192]
ldr r3, [sp, #196]
cmp r2, r3
bls .L1046
ldr r2, [sp, #192]
ldr r3, [sp, #196]
rsb ip, r3, r2
b .L1047
.L1046:
mov ip, #0
.L1047:
ldr r3, [sp, #188]
str r3, [sp]
ldr r3, [sp, #184]
str r3, [sp, #4]
movw r0, #:lower16:.LC188
movt r0, #:upper16:.LC188
ldr r1, [sp, #212]
ldr r2, [sp, #196]
mov r3, ip
bl printk
ldr r3, [sp, #212]
add r3, r3, #1
str r3, [sp, #212]
.L1037:
ldr r3, [sp, #212]
cmp r3, #7
ble .L1048
b .L1049
.L1036:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
cmp r3, #0
beq .L1050
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
cmp r3, #1
beq .L1050
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
cmp r3, #2
bne .L1049
.L1050:
movw r0, #:lower16:.LC189
movt r0, #:upper16:.LC189
mov r1, #0
mov r2, #31
bl printk
mov r3, #0
str r3, [sp, #212]
b .L1051
.L1062:
ldr r3, [sp, #212]
uxtb r3, r3
mov r0, r3
mov r1, #0
bl qdma_get_dbg_cntmem_cntr
mov r3, r0
str r3, [sp, #180]
ldr r3, [sp, #212]
uxtb r3, r3
mov r0, r3
mov r1, #1
bl qdma_get_dbg_cntmem_cntr
mov r3, r0
str r3, [sp, #176]
ldr r3, [sp, #212]
uxtb r3, r3
mov r0, r3
mov r1, #2
bl qdma_get_dbg_cntmem_cntr
mov r3, r0
str r3, [sp, #172]
ldr r3, [sp, #212]
uxtb r3, r3
mov r0, r3
mov r1, #3
bl qdma_get_dbg_cntmem_cntr
mov r3, r0
str r3, [sp, #168]
ldr r3, [sp, #212]
cmp r3, #15
bgt .L1052
ldr r3, [sp, #212]
mov r3, r3, asr #1
mov r3, r3, asl #2
mov r2, r3
ldr r3, [sp, #204]
add r3, r2, r3
add r3, r3, #1664
mov r0, r3
bl get_frame_engine_data
mov r1, r0
ldr r2, [sp, #212]
mov r3, r2, asr #31
mov r3, r3, lsr #31
add r2, r2, r3
and r2, r2, #1
rsb r3, r3, r2
mov r3, r3, asl #4
movw r2, #65535
mov r3, r2, asl r3
and r1, r1, r3
ldr r2, [sp, #212]
mov r3, r2, asr #31
mov r3, r3, lsr #31
add r2, r2, r3
and r2, r2, #1
rsb r3, r3, r2
mov r3, r3, asl #4
mov r3, r1, asr r3
str r3, [sp, #164]
ldr r2, [sp, #176]
ldr r3, [sp, #180]
cmp r2, r3
bls .L1053
ldr r2, [sp, #176]
ldr r3, [sp, #180]
rsb ip, r3, r2
b .L1054
.L1053:
mov ip, #0
.L1054:
ldr r2, [sp, #172]
ldr r3, [sp, #180]
cmp r2, r3
bls .L1055
ldr r2, [sp, #172]
ldr r3, [sp, #180]
rsb r3, r3, r2
b .L1056
.L1055:
mov r3, #0
.L1056:
str r3, [sp]
ldr r3, [sp, #168]
str r3, [sp, #4]
ldr r3, [sp, #164]
str r3, [sp, #8]
movw r0, #:lower16:.LC190
movt r0, #:upper16:.LC190
ldr r1, [sp, #212]
ldr r2, [sp, #180]
mov r3, ip
bl printk
b .L1057
.L1052:
ldr r2, [sp, #176]
ldr r3, [sp, #180]
cmp r2, r3
bls .L1058
ldr r2, [sp, #176]
ldr r3, [sp, #180]
rsb ip, r3, r2
b .L1059
.L1058:
mov ip, #0
.L1059:
ldr r2, [sp, #172]
ldr r3, [sp, #180]
cmp r2, r3
bls .L1060
ldr r2, [sp, #172]
ldr r3, [sp, #180]
rsb r3, r3, r2
b .L1061
.L1060:
mov r3, #0
.L1061:
str r3, [sp]
ldr r3, [sp, #168]
str r3, [sp, #4]
movw r0, #:lower16:.LC191
movt r0, #:upper16:.LC191
ldr r1, [sp, #212]
ldr r2, [sp, #180]
mov r3, ip
bl printk
.L1057:
ldr r3, [sp, #212]
add r3, r3, #1
str r3, [sp, #212]
.L1051:
ldr r3, [sp, #212]
cmp r3, #31
ble .L1062
.L1049:
ldr r3, [sp, #204]
add r3, r3, #1568
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC192
movt r0, #:upper16:.LC192
mov r1, r3
bl printk
ldr r3, [sp, #204]
add r3, r3, #1568
mov r0, r3
bl get_frame_engine_data
mov r3, r0
movw r0, #:lower16:.LC193
movt r0, #:upper16:.LC193
mov r1, r3
bl printk
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
cmp r3, #0
beq .L1063
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
cmp r3, #1
beq .L1063
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #1480]
cmp r3, #2
bne .L1064
.L1063:
mov r3, #0
strb r3, [sp, #132]
add r3, sp, #132
mov r0, r3
bl qdma_get_dbg_cntr_info
ldr r3, [sp, #136]
cmp r3, #8
bne .L1065
ldrb r3, [sp, #140] @ zero_extendqisi2
cmp r3, #0
bne .L1066
.L1065:
ldr r3, [sp, #136]
ldrb r2, [sp, #140] @ zero_extendqisi2
mov r1, r2
mov r2, #0
str r2, [sp]
str r3, [sp, #4]
str r1, [sp, #8]
movw r0, #:lower16:.LC194
movt r0, #:upper16:.LC194
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1072
movw r3, #6201
bl printk
b .L1033
.L1066:
ldr r3, [sp, #148]
movw r0, #:lower16:.LC195
movt r0, #:upper16:.LC195
mov r1, r3
bl printk
.L1064:
mov r3, #0
str r3, [sp, #212]
b .L1067
.L1068:
ldr r3, [sp, #212]
mov r3, r3, asl #5
mov r2, r3
ldr r3, [sp, #204]
add r3, r2, r3
add r3, r3, #284
mov r0, r3
bl get_frame_engine_data
mov r3, r0
mov r2, r3
ldr r3, [sp, #212]
mov r3, r3, asl #2
add r1, sp, #216
add r3, r1, r3
str r2, [r3, #-116]
ldr r3, [sp, #212]
add r3, r3, #1
str r3, [sp, #212]
.L1067:
ldr r3, [sp, #212]
cmp r3, #7
ble .L1068
mov r3, #0
str r3, [sp, #212]
b .L1069
.L1070:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [sp, #212]
add r2, r2, #174
ldr r2, [r3, r2, asl #2]
ldr r3, [sp, #212]
mov r3, r3, asl #2
add r1, sp, #216
add r3, r1, r3
str r2, [r3, #-180]
ldr r3, [sp, #212]
mov r3, r3, asl #2
add r2, sp, #216
add r3, r2, r3
ldr r3, [r3, #-180]
ldr r2, [sp, #208]
add r3, r2, r3
str r3, [sp, #208]
ldr r3, [sp, #212]
add r3, r3, #1
str r3, [sp, #212]
.L1069:
ldr r3, [sp, #212]
cmp r3, #15
ble .L1070
ldr r3, [sp, #204]
add r3, r3, #1552
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #160]
ldr r3, [sp, #204]
add r3, r3, #1552
add r3, r3, #4
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #156]
ldr r3, [sp, #204]
add r3, r3, #1552
add r3, r3, #8
mov r0, r3
bl get_frame_engine_data
mov r3, r0
str r3, [sp, #152]
ldr r2, [sp, #156]
ldr r3, [sp, #160]
rsb r3, r3, r2
movw r0, #:lower16:.LC196
movt r0, #:upper16:.LC196
ldr r1, [sp, #160]
mov r2, r3
ldr r3, [sp, #156]
bl printk
ldr r5, [sp, #100]
ldr r4, [sp, #104]
ldr lr, [sp, #108]
ldr ip, [sp, #112]
ldr r0, [sp, #116]
ldr r1, [sp, #120]
ldr r2, [sp, #124]
ldr r3, [sp, #128]
str ip, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r2, [sp, #12]
str r3, [sp, #16]
movw r0, #:lower16:.LC197
movt r0, #:upper16:.LC197
mov r1, r5
mov r2, r4
mov r3, lr
bl printk
ldr r2, [sp, #152]
ldr r3, [sp, #160]
rsb ip, r3, r2
ldr r2, [sp, #208]
ldr r3, [sp, #152]
add r2, r2, r3
ldr r3, [sp, #160]
rsb r3, r3, r2
movw r0, #:lower16:.LC198
movt r0, #:upper16:.LC198
ldr r1, [sp, #208]
mov r2, ip
bl printk
ldr r5, [sp, #36]
ldr r4, [sp, #40]
ldr lr, [sp, #44]
ldr ip, [sp, #48]
ldr r0, [sp, #52]
ldr r1, [sp, #56]
ldr r2, [sp, #60]
ldr r3, [sp, #64]
str ip, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r2, [sp, #12]
str r3, [sp, #16]
movw r0, #:lower16:.LC199
movt r0, #:upper16:.LC199
mov r1, r5
mov r2, r4
mov r3, lr
bl printk
ldr r5, [sp, #68]
ldr r4, [sp, #72]
ldr lr, [sp, #76]
ldr ip, [sp, #80]
ldr r0, [sp, #84]
ldr r1, [sp, #88]
ldr r2, [sp, #92]
ldr r3, [sp, #96]
str ip, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r2, [sp, #12]
str r3, [sp, #16]
movw r0, #:lower16:.LC200
movt r0, #:upper16:.LC200
mov r1, r5
mov r2, r4
mov r3, lr
bl printk
mov r0, r0 @ nop
.L1033:
add sp, sp, #220
@ sp needed
ldmfd sp!, {r4, r5, pc}
.L1073:
.align 2
.L1072:
.word .LC3+60
.fnend
.size qdma_dump_dbg_cntr_value_timer, .-qdma_dump_dbg_cntr_value_timer
.align 2
.global qdma_dump_dbg_cntr_value
.type qdma_dump_dbg_cntr_value, %function
qdma_dump_dbg_cntr_value:
.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
str r0, [sp, #4]
movw r0, #:lower16:dbgcntr_dump_timer
movt r0, #:upper16:dbgcntr_dump_timer
mov r1, #0
mov r2, #0
mov r3, #0
bl init_timer_key
movw r3, #:lower16:dbgcntr_dump_timer
movt r3, #:upper16:dbgcntr_dump_timer
mov r2, #1
str r2, [r3, #16]
movw r3, #:lower16:dbgcntr_dump_timer
movt r3, #:upper16:dbgcntr_dump_timer
movw r2, #:lower16:qdma_dump_dbg_cntr_value_timer
movt r2, #:upper16:qdma_dump_dbg_cntr_value_timer
str r2, [r3, #12]
movw r3, #:lower16:dbgcntr_dump_timer
movt r3, #:upper16:dbgcntr_dump_timer
ldr r2, [r3, #16]
mov r3, r2
mov r3, r3, asl #2
add r3, r3, r2
mov r2, r3, asl #2
add r3, r3, r2
mov r3, r3, asl #2
mov r2, r3
movw r3, #19923
movt r3, 4194
umull r2, r3, r2, r3
mov r2, r3, lsr #6
movw r3, #:lower16:jiffies
movt r3, #:upper16:jiffies
ldr r3, [r3]
add r3, r2, r3
movw r0, #:lower16:dbgcntr_dump_timer
movt r0, #:upper16:dbgcntr_dump_timer
mov r1, r3
bl mod_timer
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_dbg_cntr_value, .-qdma_dump_dbg_cntr_value
.align 2
.global qdma_get_dbg_cntr_all_queue_value
.type qdma_get_dbg_cntr_all_queue_value, %function
qdma_get_dbg_cntr_all_queue_value:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #52
sub sp, sp, #52
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #44]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #40]
add r3, sp, #12
str r3, [sp, #36]
mov r3, #20
str r3, [sp, #32]
ldr r3, [sp, #32]
cmp r3, #0
beq .L1076
ldr r0, [sp, #36]
ldr r1, [sp, #32]
bl __memzero
.L1076:
mov r3, #0
str r3, [sp, #44]
b .L1077
.L1078:
ldr r3, [sp, #44]
uxtb r3, r3
add r3, r3, #8
uxtb r3, r3
strb r3, [sp, #12]
add r3, sp, #12
mov r0, r3
bl qdma_get_dbg_cntr_info
ldr r1, [sp, #28]
ldr r3, [sp, #40]
ldr r2, [sp, #44]
str r1, [r3, r2, asl #2]
ldr r3, [sp, #44]
add r3, r3, #1
str r3, [sp, #44]
.L1077:
ldr r3, [sp, #44]
cmp r3, #7
ble .L1078
mov r3, #0
mov r0, r3
add sp, sp, #52
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_get_dbg_cntr_all_queue_value, .-qdma_get_dbg_cntr_all_queue_value
.section .rodata.str1.4
.align 2
.LC201:
.ascii "packet mode\000"
.align 2
.LC202:
.ascii "byte mode\000"
.align 2
.LC203:
.ascii "1Byte\000"
.align 2
.LC204:
.ascii "16Byte\000"
.align 2
.LC205:
.ascii "weightBase is %s, weightScale is %s\012\000"
.align 2
.LC206:
.ascii "%s: %s [%d]: qdma_dump_tx_qos Fail at channel-%d: q"
.ascii "osType is %d\015\012\000"
.align 2
.LC207:
.ascii "channel-%d: qosType is %s\000"
.align 2
.LC208:
.ascii ", q7:q6:q5:q4:q3:q2:q1:q0=%d:%d:%d:%d:%d:%d:%d:%d\015"
.ascii "\012\000"
.align 2
.LC209:
.ascii "\015\012\000"
.align 2
.LC210:
.ascii ", q6:q5:q4:q3:q2:q1:q0=%d:%d:%d:%d:%d:%d:%d\015\012"
.ascii "\000"
.align 2
.LC211:
.ascii ", q5:q4:q3:q2:q1:q0=%d:%d:%d:%d:%d:%d\015\012\000"
.align 2
.LC212:
.ascii ", q4:q3:q2:q1:q0=%d:%d:%d:%d:%d\015\012\000"
.align 2
.LC213:
.ascii ", q3:q2:q1:q0=%d:%d:%d:%d\015\012\000"
.align 2
.LC214:
.ascii ", q2:q1:q0=%d:%d:%d\015\012\000"
.align 2
.LC215:
.ascii ", q1:q0=%d:%d\015\012\000"
.align 2
.LC216:
.ascii "%s: %s [%d]: \015\012qosType is not correct at chan"
.ascii "nel-%d\015\012\000"
.text
.align 2
.global qdma_dump_tx_qos
.type qdma_dump_tx_qos, %function
qdma_dump_tx_qos:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, lr}
.save {r4, r5, lr}
.pad #76
sub sp, sp, #76
str r0, [sp, #28]
mov r3, #0
str r3, [sp, #64]
mov r3, #0
strb r3, [sp, #71]
mov r3, #0
strb r3, [sp, #51]
mov r3, #0
str r3, [sp, #60]
mov r3, #0
str r3, [sp, #56]
ldr r3, [sp, #28]
ldr r3, [r3, #8]
str r3, [sp, #52]
ldr r0, [sp, #28]
bl qdma_get_tx_qos_weight
str r0, [sp, #64]
ldr r3, [sp, #28]
ldr r3, [r3, #8]
str r3, [sp, #60]
ldr r3, [sp, #28]
ldr r3, [r3, #12]
str r3, [sp, #56]
ldr r3, [sp, #60]
cmp r3, #0
bne .L1081
movw r2, #:lower16:.LC201
movt r2, #:upper16:.LC201
b .L1082
.L1081:
movw r2, #:lower16:.LC202
movt r2, #:upper16:.LC202
.L1082:
ldr r3, [sp, #56]
cmp r3, #0
bne .L1083
movw r3, #:lower16:.LC203
movt r3, #:upper16:.LC203
b .L1084
.L1083:
movw r3, #:lower16:.LC204
movt r3, #:upper16:.LC204
.L1084:
movw r0, #:lower16:.LC205
movt r0, #:upper16:.LC205
mov r1, r2
mov r2, r3
bl printk
mov r3, #0
strb r3, [sp, #71]
b .L1085
.L1101:
ldr r3, [sp, #52]
cmp r3, #32
beq .L1086
ldrb r2, [sp, #71] @ zero_extendqisi2
ldr r3, [sp, #52]
cmp r2, r3
beq .L1086
b .L1087
.L1086:
ldrb r1, [sp, #71] @ zero_extendqisi2
add r2, sp, #51
add r3, sp, #34
mov r0, r1
mov r1, r2
mov r2, r3
bl qdmaGetTxQosScheduler
str r0, [sp, #64]
ldr r3, [sp, #64]
cmp r3, #0
blt .L1088
ldrb r3, [sp, #51] @ zero_extendqisi2
cmp r3, #8
bls .L1089
.L1088:
ldrb r3, [sp, #71] @ zero_extendqisi2
ldrb r2, [sp, #51] @ zero_extendqisi2
str r3, [sp]
str r2, [sp, #4]
movw r0, #:lower16:.LC206
movt r0, #:upper16:.LC206
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1103
movw r3, #6452
bl printk
mvn r3, #13
b .L1102
.L1089:
ldrb r1, [sp, #71] @ zero_extendqisi2
ldrb r3, [sp, #51] @ zero_extendqisi2
mov r2, r3, asl #4
movw r3, #:lower16:qosTypeStr
movt r3, #:upper16:qosTypeStr
add r3, r2, r3
movw r0, #:lower16:.LC207
movt r0, #:upper16:.LC207
mov r2, r3
bl printk
ldrb r3, [sp, #51] @ zero_extendqisi2
cmp r3, #7
ldrls pc, [pc, r3, asl #2]
b .L1091
.L1093:
.word .L1092
.word .L1094
.word .L1095
.word .L1096
.word .L1097
.word .L1098
.word .L1099
.word .L1100
.L1092:
ldrh r3, [sp, #48]
mov r5, r3
ldrh r3, [sp, #46]
mov r4, r3
ldrh r3, [sp, #44]
mov lr, r3
ldrh r3, [sp, #42]
mov ip, r3
ldrh r3, [sp, #40]
mov r0, r3
ldrh r3, [sp, #38]
mov r1, r3
ldrh r3, [sp, #36]
mov r2, r3
ldrh r3, [sp, #34]
str ip, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r2, [sp, #12]
str r3, [sp, #16]
movw r0, #:lower16:.LC208
movt r0, #:upper16:.LC208
mov r1, r5
mov r2, r4
mov r3, lr
bl printk
b .L1087
.L1094:
movw r0, #:lower16:.LC209
movt r0, #:upper16:.LC209
bl printk
b .L1087
.L1095:
ldrh r3, [sp, #46]
mov r4, r3
ldrh r3, [sp, #44]
mov lr, r3
ldrh r3, [sp, #42]
mov ip, r3
ldrh r3, [sp, #40]
mov r0, r3
ldrh r3, [sp, #38]
mov r1, r3
ldrh r3, [sp, #36]
mov r2, r3
ldrh r3, [sp, #34]
str r0, [sp]
str r1, [sp, #4]
str r2, [sp, #8]
str r3, [sp, #12]
movw r0, #:lower16:.LC210
movt r0, #:upper16:.LC210
mov r1, r4
mov r2, lr
mov r3, ip
bl printk
b .L1087
.L1096:
ldrh r3, [sp, #44]
mov r4, r3
ldrh r3, [sp, #42]
mov lr, r3
ldrh r3, [sp, #40]
mov ip, r3
ldrh r3, [sp, #38]
mov r1, r3
ldrh r3, [sp, #36]
mov r2, r3
ldrh r3, [sp, #34]
str r1, [sp]
str r2, [sp, #4]
str r3, [sp, #8]
movw r0, #:lower16:.LC211
movt r0, #:upper16:.LC211
mov r1, r4
mov r2, lr
mov r3, ip
bl printk
b .L1087
.L1097:
ldrh r3, [sp, #42]
mov r1, r3
ldrh r3, [sp, #40]
mov lr, r3
ldrh r3, [sp, #38]
mov ip, r3
ldrh r3, [sp, #36]
mov r2, r3
ldrh r3, [sp, #34]
str r2, [sp]
str r3, [sp, #4]
movw r0, #:lower16:.LC212
movt r0, #:upper16:.LC212
mov r2, lr
mov r3, ip
bl printk
b .L1087
.L1098:
ldrh r3, [sp, #40]
mov r1, r3
ldrh r3, [sp, #38]
mov r2, r3
ldrh r3, [sp, #36]
mov ip, r3
ldrh r3, [sp, #34]
str r3, [sp]
movw r0, #:lower16:.LC213
movt r0, #:upper16:.LC213
mov r3, ip
bl printk
b .L1087
.L1099:
ldrh r3, [sp, #38]
mov r1, r3
ldrh r3, [sp, #36]
mov r2, r3
ldrh r3, [sp, #34]
movw r0, #:lower16:.LC214
movt r0, #:upper16:.LC214
bl printk
b .L1087
.L1100:
ldrh r3, [sp, #36]
mov r2, r3
ldrh r3, [sp, #34]
movw r0, #:lower16:.LC215
movt r0, #:upper16:.LC215
mov r1, r2
mov r2, r3
bl printk
b .L1087
.L1091:
ldrb r3, [sp, #71] @ zero_extendqisi2
str r3, [sp]
movw r0, #:lower16:.LC216
movt r0, #:upper16:.LC216
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1103
movw r3, #6482
bl printk
mvn r3, #13
b .L1102
.L1087:
ldrb r3, [sp, #71] @ zero_extendqisi2
add r3, r3, #1
strb r3, [sp, #71]
.L1085:
ldrb r3, [sp, #71] @ zero_extendqisi2
cmp r3, #31
bls .L1101
mov r3, #0
.L1102:
mov r0, r3
add sp, sp, #76
@ sp needed
ldmfd sp!, {r4, r5, pc}
.L1104:
.align 2
.L1103:
.word .LC3+60
.fnend
.size qdma_dump_tx_qos, .-qdma_dump_tx_qos
.section .rodata.str1.4
.align 2
.LC217:
.ascii "virtual channel mapping mode is disable.\012\000"
.align 2
.LC218:
.ascii "32Queue\000"
.align 2
.LC219:
.ascii "16Queue\000"
.align 2
.LC220:
.ascii "virtual channel mapping mode is enable, virChnlMode"
.ascii " is %s.\012\000"
.align 2
.LC221:
.ascii "%s: %s [%d]: qdma_dump_virtual_channel_qos Fail at "
.ascii "physical channel-%d: qosType is %d\015\012\000"
.align 2
.LC222:
.ascii "physical channel-%d: qosType:%s\000"
.align 2
.LC223:
.ascii ", vChnl3:vChnl2:vChnl1:vChnl0=%d:%d:%d:%d\015\012\000"
.align 2
.LC224:
.ascii ", vChnl1:vChnl0=%d:%d\015\012\000"
.align 2
.LC225:
.ascii ", vChnl2:vChnl1:vChnl0=%d:%d:%d\015\012\000"
.align 2
.LC226:
.ascii "%s: %s [%d]: \015\012qosType is not correct at phys"
.ascii "ical channel-%d\015\012\000"
.text
.align 2
.global qdma_dump_virtual_channel_qos
.type qdma_dump_virtual_channel_qos, %function
qdma_dump_virtual_channel_qos:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #60
sub sp, sp, #60
str r0, [sp, #12]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #44]
mov r3, #0
str r3, [sp, #40]
mov r3, #0
strb r3, [sp, #31]
mov r3, #0
str r3, [sp, #52]
mov r3, #0
str r3, [sp, #36]
mov r3, #0
str r3, [sp, #48]
ldr r3, [sp, #12]
ldr r3, [r3, #8]
str r3, [sp, #32]
ldr r3, [sp, #44]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #2
cmp r3, #0
bne .L1106
movw r0, #:lower16:.LC217
movt r0, #:upper16:.LC217
bl printk
mov r3, #0
b .L1127
.L1106:
ldr r3, [sp, #44]
add r3, r3, #4352
add r3, r3, #48
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #1
cmp r3, #0
beq .L1108
mov r3, #4
str r3, [sp, #48]
b .L1109
.L1108:
mov r3, #2
str r3, [sp, #48]
.L1109:
mov r0, #32
ldr r1, [sp, #48]
bl __aeabi_idiv
mov r3, r0
str r3, [sp, #36]
ldr r2, [sp, #32]
ldr r3, [sp, #36]
cmp r2, r3
ble .L1110
ldr r3, [sp, #32]
str r3, [sp]
ldr r3, [sp, #36]
str r3, [sp, #4]
movw r0, #:lower16:.LC173
movt r0, #:upper16:.LC173
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1128
movw r3, #6512
bl printk
.L1110:
ldr r3, [sp, #48]
cmp r3, #4
bne .L1111
movw r3, #:lower16:.LC218
movt r3, #:upper16:.LC218
b .L1112
.L1111:
movw r3, #:lower16:.LC219
movt r3, #:upper16:.LC219
.L1112:
movw r0, #:lower16:.LC220
movt r0, #:upper16:.LC220
mov r1, r3
bl printk
mov r3, #0
str r3, [sp, #52]
b .L1113
.L1126:
ldr r3, [sp, #32]
cmp r3, #32
beq .L1114
ldr r2, [sp, #32]
ldr r3, [sp, #52]
cmp r2, r3
beq .L1114
b .L1115
.L1114:
ldr r3, [sp, #52]
uxtb r0, r3
ldr r3, [sp, #48]
uxtb r1, r3
add r2, sp, #31
add r3, sp, #23
bl qdmaGetVirtualChannelQos
str r0, [sp, #40]
ldr r3, [sp, #40]
cmp r3, #0
blt .L1116
ldrb r3, [sp, #31] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #48]
cmp r2, r3
ble .L1117
.L1116:
ldrb r3, [sp, #31] @ zero_extendqisi2
mov r2, r3
ldr r3, [sp, #52]
str r3, [sp]
str r2, [sp, #4]
movw r0, #:lower16:.LC221
movt r0, #:upper16:.LC221
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1128
movw r3, #6523
bl printk
mvn r3, #13
b .L1127
.L1117:
ldrb r3, [sp, #31] @ zero_extendqisi2
mov r2, r3, asl #4
movw r3, #:lower16:vChnlQosTypeStr
movt r3, #:upper16:vChnlQosTypeStr
add r3, r2, r3
movw r0, #:lower16:.LC222
movt r0, #:upper16:.LC222
ldr r1, [sp, #52]
mov r2, r3
bl printk
ldrb r3, [sp, #31] @ zero_extendqisi2
cmp r3, #3
ldrls pc, [pc, r3, asl #2]
b .L1118
.L1120:
.word .L1119
.word .L1121
.word .L1122
.word .L1123
.L1119:
ldr r3, [sp, #48]
cmp r3, #4
bne .L1124
ldrb r3, [sp, #26] @ zero_extendqisi2
mov r1, r3
ldrb r3, [sp, #25] @ zero_extendqisi2
mov r2, r3
ldrb r3, [sp, #24] @ zero_extendqisi2
mov ip, r3
ldrb r3, [sp, #23] @ zero_extendqisi2
str r3, [sp]
movw r0, #:lower16:.LC223
movt r0, #:upper16:.LC223
mov r3, ip
bl printk
b .L1115
.L1124:
ldrb r3, [sp, #24] @ zero_extendqisi2
mov r2, r3
ldrb r3, [sp, #23] @ zero_extendqisi2
movw r0, #:lower16:.LC224
movt r0, #:upper16:.LC224
mov r1, r2
mov r2, r3
bl printk
b .L1115
.L1121:
movw r0, #:lower16:.LC209
movt r0, #:upper16:.LC209
bl printk
b .L1115
.L1122:
ldrb r3, [sp, #25] @ zero_extendqisi2
mov r1, r3
ldrb r3, [sp, #24] @ zero_extendqisi2
mov r2, r3
ldrb r3, [sp, #23] @ zero_extendqisi2
movw r0, #:lower16:.LC225
movt r0, #:upper16:.LC225
bl printk
b .L1115
.L1123:
ldrb r3, [sp, #24] @ zero_extendqisi2
mov r2, r3
ldrb r3, [sp, #23] @ zero_extendqisi2
movw r0, #:lower16:.LC224
movt r0, #:upper16:.LC224
mov r1, r2
mov r2, r3
bl printk
b .L1115
.L1118:
ldr r3, [sp, #52]
str r3, [sp]
movw r0, #:lower16:.LC226
movt r0, #:upper16:.LC226
movw r1, #:lower16:.LC2
movt r1, #:upper16:.LC2
ldr r2, .L1128
movw r3, #6545
bl printk
mvn r3, #13
b .L1127
.L1115:
ldr r3, [sp, #52]
add r3, r3, #1
str r3, [sp, #52]
.L1113:
ldr r2, [sp, #52]
ldr r3, [sp, #36]
cmp r2, r3
blt .L1126
mov r3, #0
.L1127:
mov r0, r3
add sp, sp, #60
@ sp needed
ldr pc, [sp], #4
.L1129:
.align 2
.L1128:
.word .LC3+60
.fnend
.size qdma_dump_virtual_channel_qos, .-qdma_dump_virtual_channel_qos
.section .rodata.str1.4
.align 2
.LC227:
.ascii "channel-%d:\012\000"
.align 2
.LC228:
.ascii "ENABLE\000"
.align 2
.LC229:
.ascii "DISABLE\000"
.align 2
.LC230:
.ascii "FastTick\000"
.align 2
.LC231:
.ascii "SlowTick\000"
.align 2
.LC232:
.ascii "pps\000"
.align 2
.LC233:
.ascii "kbps\000"
.align 2
.LC234:
.ascii "Packet Mode\000"
.align 2
.LC235:
.ascii "Byte Mode\000"
.align 2
.LC236:
.ascii "Packet\000"
.align 2
.LC237:
.ascii "Byte\000"
.align 2
.LC238:
.ascii "%s, %s:%dus , Unit: %d%s , %s , ratelimit value = %"
.ascii "d%s , PBS = %d%s \012\000"
.text
.align 2
.global qdma_dump_tx_ratelimit
.type qdma_dump_tx_ratelimit, %function
qdma_dump_tx_ratelimit:
.fnstart
@ args = 0, pretend = 0, frame = 112
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
.pad #144
sub sp, sp, #144
str r0, [sp, #36]
mov r3, #0
str r3, [sp, #140]
mov r3, #0
str r3, [sp, #128]
mov r3, #0
str r3, [sp, #136]
mov r3, #0
str r3, [sp, #132]
ldr r3, [sp, #36]
ldr r3, [r3, #8]
str r3, [sp, #124]
mov r3, #2
str r3, [sp, #76]
add r3, sp, #76
str r3, [sp, #104]
add r3, sp, #96
mov r0, r3
bl qdma_general_get_trtcm_cfg
mov r3, #0
str r3, [sp, #140]
b .L1131
.L1152:
ldr r3, [sp, #124]
cmp r3, #32
beq .L1132
ldr r2, [sp, #124]
ldr r3, [sp, #140]
cmp r2, r3
beq .L1132
b .L1133
.L1132:
mov r3, #2
str r3, [sp, #56]
ldr r3, [sp, #140]
uxtb r3, r3
strb r3, [sp, #60]
add r3, sp, #56
str r3, [sp, #104]
add r3, sp, #96
mov r0, r3
bl qdma_general_get_ratelimit_mode_cfg
mov r3, #2
str r3, [sp, #40]
ldr r3, [sp, #140]
uxtb r3, r3
strb r3, [sp, #44]
add r3, sp, #40
str r3, [sp, #104]
add r3, sp, #96
mov r0, r3
bl qdma_general_get_ratelimit_mode_value
ldr r3, [sp, #68]
cmp r3, #0
bne .L1134
mov r3, #8000
str r3, [sp, #136]
b .L1135
.L1134:
movw r3, #16960
movt r3, 15
str r3, [sp, #136]
.L1135:
ldr r3, [sp, #72]
cmp r3, #0
bne .L1136
ldr r3, [sp, #92]
b .L1137
.L1136:
ldr r3, [sp, #88]
ldr r2, [sp, #92]
mul r3, r2, r3
.L1137:
str r3, [sp, #128]
ldr r3, [sp, #128]
cmp r3, #0
bne .L1138
mov r3, #0
str r3, [sp, #132]
b .L1139
.L1138:
ldr r0, [sp, #136]
ldr r1, [sp, #128]
bl __aeabi_uidiv
mov r3, r0
str r3, [sp, #132]
.L1139:
movw r0, #:lower16:.LC227
movt r0, #:upper16:.LC227
ldr r1, [sp, #140]
bl printk
ldr r3, [sp, #64]
cmp r3, #1
bne .L1140
movw lr, #:lower16:.LC228
movt lr, #:upper16:.LC228
b .L1141
.L1140:
movw lr, #:lower16:.LC229
movt lr, #:upper16:.LC229
.L1141:
ldr r3, [sp, #72]
cmp r3, #0
bne .L1142
movw ip, #:lower16:.LC230
movt ip, #:upper16:.LC230
b .L1143
.L1142:
movw ip, #:lower16:.LC231
movt ip, #:upper16:.LC231
.L1143:
ldr r3, [sp, #68]
cmp r3, #1
bne .L1144
movw r0, #:lower16:.LC232
movt r0, #:upper16:.LC232
b .L1145
.L1144:
movw r0, #:lower16:.LC233
movt r0, #:upper16:.LC233
.L1145:
ldr r3, [sp, #68]
cmp r3, #1
bne .L1146
movw r1, #:lower16:.LC234
movt r1, #:upper16:.LC234
b .L1147
.L1146:
movw r1, #:lower16:.LC235
movt r1, #:upper16:.LC235
.L1147:
ldr r5, [sp, #48]
ldr r3, [sp, #68]
cmp r3, #1
bne .L1148
movw r2, #:lower16:.LC232
movt r2, #:upper16:.LC232
b .L1149
.L1148:
movw r2, #:lower16:.LC233
movt r2, #:upper16:.LC233
.L1149:
ldr r4, [sp, #52]
ldr r3, [sp, #68]
cmp r3, #1
bne .L1150
movw r3, #:lower16:.LC236
movt r3, #:upper16:.LC236
b .L1151
.L1150:
movw r3, #:lower16:.LC237
movt r3, #:upper16:.LC237
.L1151:
ldr r6, [sp, #132]
str r6, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r5, [sp, #12]
str r2, [sp, #16]
str r4, [sp, #20]
str r3, [sp, #24]
movw r0, #:lower16:.LC238
movt r0, #:upper16:.LC238
mov r1, lr
mov r2, ip
ldr r3, [sp, #128]
bl printk
.L1133:
ldr r3, [sp, #140]
add r3, r3, #1
str r3, [sp, #140]
.L1131:
ldr r3, [sp, #140]
cmp r3, #31
ble .L1152
movw r0, #:lower16:.LC209
movt r0, #:upper16:.LC209
bl printk
mov r3, #0
mov r0, r3
add sp, sp, #144
@ sp needed
ldmfd sp!, {r4, r5, r6, pc}
.fnend
.size qdma_dump_tx_ratelimit, .-qdma_dump_tx_ratelimit
.section .rodata.str1.4
.align 2
.LC239:
.ascii "meter-%d(ring%d):\012\000"
.align 2
.LC240:
.ascii "meter-%d:\012\000"
.text
.align 2
.global qdma_dump_rx_ratelimit
.type qdma_dump_rx_ratelimit, %function
qdma_dump_rx_ratelimit:
.fnstart
@ args = 0, pretend = 0, frame = 120
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
.pad #152
sub sp, sp, #152
str r0, [sp, #36]
mov r3, #0
str r3, [sp, #148]
mov r3, #0
str r3, [sp, #132]
mov r3, #0
str r3, [sp, #144]
mov r3, #0
str r3, [sp, #140]
ldr r3, [sp, #36]
ldr r3, [r3, #8]
str r3, [sp, #128]
mov r3, #0
str r3, [sp, #136]
mov r3, #0
str r3, [sp, #80]
add r3, sp, #80
str r3, [sp, #108]
add r3, sp, #100
mov r0, r3
bl qdma_general_get_trtcm_cfg
ldr r3, [sp, #88]
cmp r3, #1
bne .L1155
mov r3, #63
str r3, [sp, #136]
b .L1156
.L1155:
mov r3, #127
str r3, [sp, #136]
.L1156:
mov r3, #0
str r3, [sp, #148]
b .L1157
.L1180:
ldr r2, [sp, #128]
ldr r3, [sp, #136]
cmp r2, r3
beq .L1158
ldr r2, [sp, #128]
ldr r3, [sp, #148]
cmp r2, r3
beq .L1158
b .L1159
.L1158:
mov r3, #0
str r3, [sp, #60]
ldr r3, [sp, #148]
uxtb r3, r3
strb r3, [sp, #64]
add r3, sp, #60
str r3, [sp, #108]
add r3, sp, #100
mov r0, r3
bl qdma_general_get_ratelimit_mode_cfg
mov r3, #0
str r3, [sp, #44]
ldr r3, [sp, #148]
uxtb r3, r3
strb r3, [sp, #48]
add r3, sp, #44
str r3, [sp, #108]
add r3, sp, #100
mov r0, r3
bl qdma_general_get_ratelimit_mode_value
ldr r3, [sp, #72]
cmp r3, #0
bne .L1160
mov r3, #8000
str r3, [sp, #144]
b .L1161
.L1160:
movw r3, #16960
movt r3, 15
str r3, [sp, #144]
.L1161:
ldr r3, [sp, #76]
cmp r3, #0
bne .L1162
ldr r3, [sp, #96]
b .L1163
.L1162:
ldr r3, [sp, #92]
ldr r2, [sp, #96]
mul r3, r2, r3
.L1163:
str r3, [sp, #132]
ldr r3, [sp, #132]
cmp r3, #0
bne .L1164
mov r3, #0
str r3, [sp, #140]
b .L1165
.L1164:
ldr r0, [sp, #144]
ldr r1, [sp, #132]
bl __aeabi_uidiv
mov r3, r0
str r3, [sp, #140]
.L1165:
ldr r3, [sp, #148]
cmp r3, #15
bgt .L1166
movw r0, #:lower16:.LC239
movt r0, #:upper16:.LC239
ldr r1, [sp, #148]
ldr r2, [sp, #148]
bl printk
b .L1167
.L1166:
movw r0, #:lower16:.LC240
movt r0, #:upper16:.LC240
ldr r1, [sp, #148]
bl printk
.L1167:
ldr r3, [sp, #68]
cmp r3, #1
bne .L1168
movw lr, #:lower16:.LC228
movt lr, #:upper16:.LC228
b .L1169
.L1168:
movw lr, #:lower16:.LC229
movt lr, #:upper16:.LC229
.L1169:
ldr r3, [sp, #76]
cmp r3, #0
bne .L1170
movw ip, #:lower16:.LC230
movt ip, #:upper16:.LC230
b .L1171
.L1170:
movw ip, #:lower16:.LC231
movt ip, #:upper16:.LC231
.L1171:
ldr r3, [sp, #72]
cmp r3, #1
bne .L1172
movw r0, #:lower16:.LC232
movt r0, #:upper16:.LC232
b .L1173
.L1172:
movw r0, #:lower16:.LC233
movt r0, #:upper16:.LC233
.L1173:
ldr r3, [sp, #72]
cmp r3, #1
bne .L1174
movw r1, #:lower16:.LC234
movt r1, #:upper16:.LC234
b .L1175
.L1174:
movw r1, #:lower16:.LC235
movt r1, #:upper16:.LC235
.L1175:
ldr r5, [sp, #52]
ldr r3, [sp, #72]
cmp r3, #1
bne .L1176
movw r2, #:lower16:.LC232
movt r2, #:upper16:.LC232
b .L1177
.L1176:
movw r2, #:lower16:.LC233
movt r2, #:upper16:.LC233
.L1177:
ldr r4, [sp, #56]
ldr r3, [sp, #72]
cmp r3, #1
bne .L1178
movw r3, #:lower16:.LC236
movt r3, #:upper16:.LC236
b .L1179
.L1178:
movw r3, #:lower16:.LC237
movt r3, #:upper16:.LC237
.L1179:
ldr r6, [sp, #140]
str r6, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r5, [sp, #12]
str r2, [sp, #16]
str r4, [sp, #20]
str r3, [sp, #24]
movw r0, #:lower16:.LC238
movt r0, #:upper16:.LC238
mov r1, lr
mov r2, ip
ldr r3, [sp, #132]
bl printk
.L1159:
ldr r3, [sp, #148]
add r3, r3, #1
str r3, [sp, #148]
.L1157:
ldr r2, [sp, #148]
ldr r3, [sp, #136]
cmp r2, r3
blt .L1180
movw r0, #:lower16:.LC209
movt r0, #:upper16:.LC209
bl printk
mov r3, #0
mov r0, r3
add sp, sp, #152
@ sp needed
ldmfd sp!, {r4, r5, r6, pc}
.fnend
.size qdma_dump_rx_ratelimit, .-qdma_dump_rx_ratelimit
.section .rodata.str1.4
.align 2
.LC241:
.ascii "cbs: \000"
.align 2
.LC242:
.ascii "%s, %s:%dus , Unit: %d%s , %s , para value = %d%s ,"
.ascii " PBS = %d%s \012\000"
.align 2
.LC243:
.ascii "pbs: \000"
.text
.align 2
.global qdma_dump_tx_dba_report
.type qdma_dump_tx_dba_report, %function
qdma_dump_tx_dba_report:
.fnstart
@ args = 0, pretend = 0, frame = 136
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, lr}
.save {r4, r5, r6, lr}
.pad #168
sub sp, sp, #168
str r0, [sp, #36]
mov r3, #0
str r3, [sp, #164]
mov r3, #0
str r3, [sp, #152]
mov r3, #0
str r3, [sp, #160]
mov r3, #0
str r3, [sp, #156]
ldr r3, [sp, #36]
ldr r3, [r3, #8]
str r3, [sp, #148]
mov r3, #2
str r3, [sp, #100]
add r3, sp, #100
str r3, [sp, #128]
add r3, sp, #120
mov r0, r3
bl qdma_general_get_trtcm_cfg
mov r3, #0
str r3, [sp, #164]
b .L1183
.L1222:
ldr r3, [sp, #148]
cmp r3, #32
beq .L1184
ldr r2, [sp, #148]
ldr r3, [sp, #164]
cmp r2, r3
beq .L1184
b .L1185
.L1184:
mov r3, #2
str r3, [sp, #68]
ldr r3, [sp, #164]
uxtb r3, r3
strb r3, [sp, #72]
add r3, sp, #68
str r3, [sp, #128]
add r3, sp, #120
mov r0, r3
bl qdma_general_get_trtcm_mode_cfg
mov r3, #2
str r3, [sp, #44]
ldr r3, [sp, #164]
uxtb r3, r3
strb r3, [sp, #48]
add r3, sp, #44
str r3, [sp, #128]
add r3, sp, #120
mov r0, r3
bl qdma_general_get_trtcm_mode_value
movw r0, #:lower16:.LC227
movt r0, #:upper16:.LC227
ldr r1, [sp, #164]
bl printk
movw r0, #:lower16:.LC241
movt r0, #:upper16:.LC241
bl printk
ldr r3, [sp, #80]
cmp r3, #0
bne .L1186
mov r3, #8000
str r3, [sp, #160]
b .L1187
.L1186:
movw r3, #16960
movt r3, 15
str r3, [sp, #160]
.L1187:
ldr r3, [sp, #84]
cmp r3, #0
bne .L1188
ldr r3, [sp, #116]
b .L1189
.L1188:
ldr r3, [sp, #112]
ldr r2, [sp, #116]
mul r3, r2, r3
.L1189:
str r3, [sp, #152]
ldr r3, [sp, #152]
cmp r3, #0
bne .L1190
mov r3, #0
str r3, [sp, #156]
b .L1191
.L1190:
ldr r0, [sp, #160]
ldr r1, [sp, #152]
bl __aeabi_uidiv
mov r3, r0
str r3, [sp, #156]
.L1191:
ldr r3, [sp, #76]
cmp r3, #1
bne .L1192
movw lr, #:lower16:.LC228
movt lr, #:upper16:.LC228
b .L1193
.L1192:
movw lr, #:lower16:.LC229
movt lr, #:upper16:.LC229
.L1193:
ldr r3, [sp, #84]
cmp r3, #0
bne .L1194
movw ip, #:lower16:.LC230
movt ip, #:upper16:.LC230
b .L1195
.L1194:
movw ip, #:lower16:.LC231
movt ip, #:upper16:.LC231
.L1195:
ldr r3, [sp, #80]
cmp r3, #1
bne .L1196
movw r0, #:lower16:.LC232
movt r0, #:upper16:.LC232
b .L1197
.L1196:
movw r0, #:lower16:.LC233
movt r0, #:upper16:.LC233
.L1197:
ldr r3, [sp, #80]
cmp r3, #1
bne .L1198
movw r1, #:lower16:.LC234
movt r1, #:upper16:.LC234
b .L1199
.L1198:
movw r1, #:lower16:.LC235
movt r1, #:upper16:.LC235
.L1199:
ldr r5, [sp, #52]
ldr r3, [sp, #80]
cmp r3, #1
bne .L1200
movw r2, #:lower16:.LC232
movt r2, #:upper16:.LC232
b .L1201
.L1200:
movw r2, #:lower16:.LC233
movt r2, #:upper16:.LC233
.L1201:
ldr r4, [sp, #60]
ldr r3, [sp, #80]
cmp r3, #1
bne .L1202
movw r3, #:lower16:.LC236
movt r3, #:upper16:.LC236
b .L1203
.L1202:
movw r3, #:lower16:.LC237
movt r3, #:upper16:.LC237
.L1203:
ldr r6, [sp, #156]
str r6, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r5, [sp, #12]
str r2, [sp, #16]
str r4, [sp, #20]
str r3, [sp, #24]
movw r0, #:lower16:.LC242
movt r0, #:upper16:.LC242
mov r1, lr
mov r2, ip
ldr r3, [sp, #152]
bl printk
movw r0, #:lower16:.LC243
movt r0, #:upper16:.LC243
bl printk
ldr r3, [sp, #92]
cmp r3, #0
bne .L1204
mov r3, #8000
str r3, [sp, #160]
b .L1205
.L1204:
movw r3, #16960
movt r3, 15
str r3, [sp, #160]
.L1205:
ldr r3, [sp, #96]
cmp r3, #0
bne .L1206
ldr r3, [sp, #116]
b .L1207
.L1206:
ldr r3, [sp, #112]
ldr r2, [sp, #116]
mul r3, r2, r3
.L1207:
str r3, [sp, #152]
ldr r3, [sp, #152]
cmp r3, #0
bne .L1208
mov r3, #0
str r3, [sp, #156]
b .L1209
.L1208:
ldr r0, [sp, #160]
ldr r1, [sp, #152]
bl __aeabi_uidiv
mov r3, r0
str r3, [sp, #156]
.L1209:
ldr r3, [sp, #88]
cmp r3, #1
bne .L1210
movw lr, #:lower16:.LC228
movt lr, #:upper16:.LC228
b .L1211
.L1210:
movw lr, #:lower16:.LC229
movt lr, #:upper16:.LC229
.L1211:
ldr r3, [sp, #96]
cmp r3, #0
bne .L1212
movw ip, #:lower16:.LC230
movt ip, #:upper16:.LC230
b .L1213
.L1212:
movw ip, #:lower16:.LC231
movt ip, #:upper16:.LC231
.L1213:
ldr r3, [sp, #92]
cmp r3, #1
bne .L1214
movw r0, #:lower16:.LC232
movt r0, #:upper16:.LC232
b .L1215
.L1214:
movw r0, #:lower16:.LC233
movt r0, #:upper16:.LC233
.L1215:
ldr r3, [sp, #92]
cmp r3, #1
bne .L1216
movw r1, #:lower16:.LC234
movt r1, #:upper16:.LC234
b .L1217
.L1216:
movw r1, #:lower16:.LC235
movt r1, #:upper16:.LC235
.L1217:
ldr r5, [sp, #56]
ldr r3, [sp, #92]
cmp r3, #1
bne .L1218
movw r2, #:lower16:.LC232
movt r2, #:upper16:.LC232
b .L1219
.L1218:
movw r2, #:lower16:.LC233
movt r2, #:upper16:.LC233
.L1219:
ldr r4, [sp, #64]
ldr r3, [sp, #80]
cmp r3, #1
bne .L1220
movw r3, #:lower16:.LC236
movt r3, #:upper16:.LC236
b .L1221
.L1220:
movw r3, #:lower16:.LC237
movt r3, #:upper16:.LC237
.L1221:
ldr r6, [sp, #156]
str r6, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
str r5, [sp, #12]
str r2, [sp, #16]
str r4, [sp, #20]
str r3, [sp, #24]
movw r0, #:lower16:.LC242
movt r0, #:upper16:.LC242
mov r1, lr
mov r2, ip
ldr r3, [sp, #152]
bl printk
.L1185:
ldr r3, [sp, #164]
add r3, r3, #1
str r3, [sp, #164]
.L1183:
ldr r3, [sp, #164]
cmp r3, #31
ble .L1222
movw r0, #:lower16:.LC209
movt r0, #:upper16:.LC209
bl printk
mov r3, #0
mov r0, r3
add sp, sp, #168
@ sp needed
ldmfd sp!, {r4, r5, r6, pc}
.fnend
.size qdma_dump_tx_dba_report, .-qdma_dump_tx_dba_report
.section .rodata.str1.4
.align 2
.LC244:
.ascii "/*************************************** TXQ CNGST "
.ascii "BEGIN ************************************/\012\000"
.align 2
.LC245:
.ascii "Enable\000"
.align 2
.LC246:
.ascii "Disable\000"
.align 2
.LC247:
.ascii "txq cngst drop is %s\012\000"
.align 2
.LC248:
.ascii "txq cngst dei drop is %s\012\000"
.align 2
.LC249:
.ascii "txq dyn cngst is %s\012\000"
.align 2
.LC250:
.ascii "txq cngst wred is %s\012\000"
.align 2
.LC251:
.ascii "when total tx buffer usage greater than total_max_t"
.ascii "hreshold, tx ring%d will be blocked: %s\012\000"
.align 2
.LC252:
.ascii "when total tx buffer usage greater than total_min_t"
.ascii "hreshold, tx ring%d will be blocked: %s\012\000"
.align 2
.LC253:
.ascii "\012txq cngst mode is dynamic\012\000"
.align 2
.LC254:
.ascii "total max threshold: %ukByte\012\000"
.align 2
.LC255:
.ascii "total min threshold: %ukByte\012\000"
.align 2
.LC256:
.ascii "channel max threshold: %ukByte\012\000"
.align 2
.LC257:
.ascii "channel min threshold: %ukByte\012\000"
.align 2
.LC258:
.ascii "queue max threshold: %ukByte\012\000"
.align 2
.LC259:
.ascii "queue min threshold: %ukByte\012\000"
.align 2
.LC260:
.ascii "dynamic congetion threshold will be updateed after "
.ascii "WRR weight changed: %s\012\000"
.align 2
.LC261:
.ascii "dynamic congetion threshold will be updateed after "
.ascii "packet receive or transmit: %s\012\000"
.align 2
.LC262:
.ascii "dynamic congetion threshold will be updateed after "
.ascii "ticksel %dus arrived: %s\012\000"
.align 2
.LC263:
.ascii "Peek Rate Function is Enable, Duration is %ums\012\000"
.align 2
.LC264:
.ascii "Peek Rate Function is Disable\012\000"
.align 2
.LC265:
.ascii "\012txq cngst static info:\012\000"
.align 2
.LC266:
.ascii "channel-%d:\011%s \000"
.align 2
.LC267:
.ascii "total max threshold: %u DSCPs\012\000"
.align 2
.LC268:
.ascii "total min threshold: %u DSCPs\012\000"
.align 2
.LC269:
.ascii "Static Queue Threshold Ratio, Q0:Q1:Q2:Q3:Q4:Q5:Q6:"
.ascii "Q7 = \000"
.align 2
.LC270:
.ascii "%d\000"
.align 2
.LC271:
.ascii ":\000"
.align 2
.LC272:
.ascii "/**************************************** TXQ CNGST"
.ascii " END *************************************/\012\000"
.text
.align 2
.global qdma_dump_txq_cngst
.type qdma_dump_txq_cngst, %function
qdma_dump_txq_cngst:
.fnstart
@ args = 0, pretend = 0, frame = 200
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #204
sub sp, sp, #204
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #196]
mov r3, #0
str r3, [sp, #192]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #188]
add r3, sp, #156
mov r0, r3
bl qdma_get_txq_cngst_cfg
movw r0, #:lower16:.LC244
movt r0, #:upper16:.LC244
bl printk
ldrb r3, [sp, #156] @ zero_extendqisi2
cmp r3, #0
beq .L1225
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1226
.L1225:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1226:
movw r0, #:lower16:.LC247
movt r0, #:upper16:.LC247
mov r1, r3
bl printk
ldrb r3, [sp, #157] @ zero_extendqisi2
cmp r3, #0
beq .L1227
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1228
.L1227:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1228:
movw r0, #:lower16:.LC248
movt r0, #:upper16:.LC248
mov r1, r3
bl printk
ldrb r3, [sp, #158] @ zero_extendqisi2
cmp r3, #0
beq .L1229
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1230
.L1229:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1230:
movw r0, #:lower16:.LC249
movt r0, #:upper16:.LC249
mov r1, r3
bl printk
ldrb r3, [sp, #159] @ zero_extendqisi2
cmp r3, #0
beq .L1231
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1232
.L1231:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1232:
movw r0, #:lower16:.LC250
movt r0, #:upper16:.LC250
mov r1, r3
bl printk
mov r3, #0
str r3, [sp, #196]
b .L1233
.L1238:
add r2, sp, #156
ldr r3, [sp, #196]
add r3, r2, r3
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #0
beq .L1234
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1235
.L1234:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1235:
movw r0, #:lower16:.LC251
movt r0, #:upper16:.LC251
ldr r1, [sp, #196]
mov r2, r3
bl printk
add r2, sp, #164
ldr r3, [sp, #196]
add r3, r2, r3
ldrb r3, [r3, #4] @ zero_extendqisi2
cmp r3, #0
beq .L1236
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1237
.L1236:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1237:
movw r0, #:lower16:.LC252
movt r0, #:upper16:.LC252
ldr r1, [sp, #196]
mov r2, r3
bl printk
ldr r3, [sp, #196]
add r3, r3, #1
str r3, [sp, #196]
.L1233:
ldr r3, [sp, #196]
cmp r3, #7
ble .L1238
ldr r3, [sp, #188]
add r3, r3, #4224
add r3, r3, #32
mov r0, r3
bl get_frame_engine_data
mov r3, r0
and r3, r3, #536870912
cmp r3, #0
beq .L1239
add r3, sp, #148
str r3, [sp, #104]
add r3, sp, #140
str r3, [sp, #108]
add r3, sp, #132
str r3, [sp, #112]
add r3, sp, #120
str r3, [sp, #116]
ldr r3, [sp, #4]
add r2, sp, #104
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_get_txq_cngst_dynamic_info
movw r0, #:lower16:.LC253
movt r0, #:upper16:.LC253
bl printk
ldr r3, [sp, #104]
ldr r3, [r3]
movw r0, #:lower16:.LC254
movt r0, #:upper16:.LC254
mov r1, r3
bl printk
ldr r3, [sp, #104]
ldr r3, [r3, #4]
movw r0, #:lower16:.LC255
movt r0, #:upper16:.LC255
mov r1, r3
bl printk
ldr r3, [sp, #108]
ldr r3, [r3]
movw r0, #:lower16:.LC256
movt r0, #:upper16:.LC256
mov r1, r3
bl printk
ldr r3, [sp, #108]
ldr r3, [r3, #4]
movw r0, #:lower16:.LC257
movt r0, #:upper16:.LC257
mov r1, r3
bl printk
ldr r3, [sp, #112]
ldr r3, [r3]
movw r0, #:lower16:.LC258
movt r0, #:upper16:.LC258
mov r1, r3
bl printk
ldr r3, [sp, #112]
ldr r3, [r3, #4]
movw r0, #:lower16:.LC259
movt r0, #:upper16:.LC259
mov r1, r3
bl printk
ldrb r3, [sp, #176] @ zero_extendqisi2
cmp r3, #0
beq .L1240
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1241
.L1240:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1241:
movw r0, #:lower16:.LC260
movt r0, #:upper16:.LC260
mov r1, r3
bl printk
ldrb r3, [sp, #177] @ zero_extendqisi2
cmp r3, #0
beq .L1242
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1243
.L1242:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1243:
movw r0, #:lower16:.LC261
movt r0, #:upper16:.LC261
mov r1, r3
bl printk
ldrh r3, [sp, #180]
mov r2, r3
ldrb r3, [sp, #178] @ zero_extendqisi2
cmp r3, #0
beq .L1244
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1245
.L1244:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1245:
movw r0, #:lower16:.LC262
movt r0, #:upper16:.LC262
mov r1, r2
mov r2, r3
bl printk
ldr r3, [sp, #120]
cmp r3, #1
bne .L1246
ldr r3, [sp, #128]
movw r0, #:lower16:.LC263
movt r0, #:upper16:.LC263
mov r1, r3
bl printk
b .L1239
.L1246:
movw r0, #:lower16:.LC264
movt r0, #:upper16:.LC264
bl printk
.L1239:
movw r0, #:lower16:.LC265
movt r0, #:upper16:.LC265
bl printk
mov r3, #0
str r3, [sp, #192]
b .L1248
.L1252:
ldr r3, [sp, #192]
uxtb r3, r3
strb r3, [sp, #32]
add r3, sp, #148
str r3, [sp, #12]
add r3, sp, #32
str r3, [sp, #16]
add r3, sp, #24
str r3, [sp, #20]
ldr r3, [sp, #4]
add r2, sp, #12
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_get_txq_cngst_static_info
ldr r3, [sp, #36]
cmp r3, #1
bne .L1249
movw r3, #:lower16:.LC245
movt r3, #:upper16:.LC245
b .L1250
.L1249:
movw r3, #:lower16:.LC246
movt r3, #:upper16:.LC246
.L1250:
movw r0, #:lower16:.LC266
movt r0, #:upper16:.LC266
ldr r1, [sp, #192]
mov r2, r3
bl printk
ldr r3, [sp, #192]
add r3, r3, #1
and r3, r3, #3
cmp r3, #0
bne .L1251
movw r0, #:lower16:.LC139
movt r0, #:upper16:.LC139
bl printk
.L1251:
ldr r3, [sp, #192]
add r3, r3, #1
str r3, [sp, #192]
.L1248:
ldr r3, [sp, #192]
cmp r3, #31
ble .L1252
movw r0, #:lower16:.LC139
movt r0, #:upper16:.LC139
bl printk
ldr r3, [sp, #12]
ldr r3, [r3]
movw r0, #:lower16:.LC267
movt r0, #:upper16:.LC267
mov r1, r3
bl printk
ldr r3, [sp, #12]
ldr r3, [r3, #4]
movw r0, #:lower16:.LC268
movt r0, #:upper16:.LC268
mov r1, r3
bl printk
movw r0, #:lower16:.LC269
movt r0, #:upper16:.LC269
bl printk
mov r3, #0
str r3, [sp, #192]
b .L1253
.L1255:
add r2, sp, #24
ldr r3, [sp, #192]
add r3, r2, r3
ldrb r3, [r3] @ zero_extendqisi2
movw r0, #:lower16:.LC270
movt r0, #:upper16:.LC270
mov r1, r3
bl printk
ldr r3, [sp, #192]
cmp r3, #6
bgt .L1254
movw r0, #:lower16:.LC271
movt r0, #:upper16:.LC271
bl printk
.L1254:
ldr r3, [sp, #192]
add r3, r3, #1
str r3, [sp, #192]
.L1253:
ldr r3, [sp, #192]
cmp r3, #7
ble .L1255
movw r0, #:lower16:.LC139
movt r0, #:upper16:.LC139
bl printk
movw r0, #:lower16:.LC272
movt r0, #:upper16:.LC272
bl printk
mov r3, #0
mov r0, r3
add sp, sp, #204
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_txq_cngst, .-qdma_dump_txq_cngst
.section .rodata.str1.4
.align 2
.LC273:
.ascii "############ dump qdma all information begin ######"
.ascii "######\015\012\000"
.align 2
.LC274:
.ascii "\015\012\015\012\015\012************ dump register "
.ascii "value ************\015\012\015\012\000"
.align 2
.LC275:
.ascii "\015\012\015\012\015\012************ dump tx/rx des"
.ascii "criptor ************\015\012\015\012\000"
.align 2
.LC276:
.ascii "\015\012\015\012\015\012************ dump hwfwd des"
.ascii "criptor ************\015\012\015\012\000"
.align 2
.LC277:
.ascii "\015\012\015\012\015\012************ dump irq infor"
.ascii "mation ************\015\012\015\012\000"
.align 2
.LC278:
.ascii "\015\012\015\012\015\012************ dump irq2 info"
.ascii "rmation ************\015\012\015\012\000"
.align 2
.LC279:
.ascii "\015\012\015\012\015\012************ dump cpu count"
.ascii "ers ************\015\012\015\012\000"
.align 2
.LC280:
.ascii "\015\012\015\012\015\012************ dump tx qos **"
.ascii "**********\015\012\015\012\000"
.align 2
.LC281:
.ascii "\015\012\015\012\015\012************ dump virtual c"
.ascii "hannel qos ************\015\012\015\012\000"
.align 2
.LC282:
.ascii "\015\012\015\012\015\012************ dump tx rateli"
.ascii "mit ************\015\012\015\012\000"
.align 2
.LC283:
.ascii "\015\012\015\012\015\012************ dump rx rateli"
.ascii "mit ************\015\012\015\012\000"
.align 2
.LC284:
.ascii "\015\012\015\012\015\012************ dump tx dba re"
.ascii "port ************\015\012\015\012\000"
.align 2
.LC285:
.ascii "\015\012\015\012############ dump qdma all informat"
.ascii "ion end ############\015\012\000"
.text
.align 2
.global qdma_dump_info_all
.type qdma_dump_info_all, %function
qdma_dump_info_all:
.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]
movw r0, #:lower16:.LC273
movt r0, #:upper16:.LC273
bl printk
movw r0, #:lower16:.LC274
movt r0, #:upper16:.LC274
bl printk
ldr r0, [sp, #4]
bl qdma_dump_register_value
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC275
movt r0, #:upper16:.LC275
bl printk
ldr r0, [sp, #4]
bl qdma_dump_descriptor_info
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC276
movt r0, #:upper16:.LC276
bl printk
ldr r0, [sp, #4]
bl qdma_dump_hwfwd_info
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC277
movt r0, #:upper16:.LC277
bl printk
ldr r0, [sp, #4]
bl qdma_dump_irq_info
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC278
movt r0, #:upper16:.LC278
bl printk
ldr r0, [sp, #4]
bl qdma_dump_irq2_info
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC279
movt r0, #:upper16:.LC279
bl printk
ldr r0, [sp, #4]
bl qdma_dump_cpu_counters
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC280
movt r0, #:upper16:.LC280
bl printk
ldr r3, [sp, #4]
mov r2, #32
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_dump_tx_qos
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC281
movt r0, #:upper16:.LC281
bl printk
ldr r3, [sp, #4]
mov r2, #32
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_dump_virtual_channel_qos
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC282
movt r0, #:upper16:.LC282
bl printk
ldr r3, [sp, #4]
mov r2, #32
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_dump_tx_ratelimit
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC283
movt r0, #:upper16:.LC283
bl printk
ldr r3, [sp, #4]
mov r2, #16
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_dump_rx_ratelimit
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC284
movt r0, #:upper16:.LC284
bl printk
ldr r3, [sp, #4]
mov r2, #32
str r2, [r3, #8]
ldr r0, [sp, #4]
bl qdma_dump_tx_dba_report
mov r2, r0
ldr r3, [sp, #12]
orr r3, r3, r2
str r3, [sp, #12]
movw r0, #:lower16:.LC285
movt r0, #:upper16:.LC285
bl printk
ldr r3, [sp, #12]
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_dump_info_all, .-qdma_dump_info_all
.align 2
.global qdma_set_mac_qos_config
.type qdma_set_mac_qos_config, %function
qdma_set_mac_qos_config:
.fnstart
@ args = 0, pretend = 0, frame = 80
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #80
sub sp, sp, #80
str r0, [sp, #4]
mov r3, #0
str r3, [sp, #76]
mov r3, #0
str r3, [sp, #72]
mov r3, #0
str r3, [sp, #68]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #64]
ldr r3, [sp, #64]
ldr r2, [r3, #4]
movw r3, #:lower16:gQueueMask
movt r3, #:upper16:gQueueMask
str r2, [r3]
ldr r3, [sp, #76]
mov r0, r3
add sp, sp, #80
@ sp needed
bx lr
.fnend
.size qdma_set_mac_qos_config, .-qdma_set_mac_qos_config
.align 2
.global find_first_unused_meter_index
.type find_first_unused_meter_index, %function
find_first_unused_meter_index:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #16
sub sp, sp, #16
mov r3, #127
str r3, [sp, #4]
mov r3, #0
str r3, [sp, #12]
mov r3, #0
str r3, [sp, #8]
mov r3, #0
str r3, [sp, #12]
b .L1262
.L1269:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #368
add r3, r3, #2
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
cmn r3, #1
bne .L1263
b .L1264
.L1263:
mov r3, #0
str r3, [sp, #8]
b .L1265
.L1268:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #368
add r3, r3, #2
mov r3, r3, asl #2
add r3, r2, r3
ldr r2, [r3, #4]
ldr r3, [sp, #8]
mov r3, r2, lsr r3
and r3, r3, #1
cmp r3, #0
bne .L1266
ldr r3, [sp, #12]
mov r2, r3, asl #5
ldr r3, [sp, #8]
add r3, r2, r3
str r3, [sp, #4]
ldr r3, [sp, #4]
b .L1267
.L1266:
ldr r3, [sp, #8]
add r3, r3, #1
str r3, [sp, #8]
.L1265:
ldr r3, [sp, #8]
cmp r3, #31
ble .L1268
.L1264:
ldr r3, [sp, #12]
add r3, r3, #1
str r3, [sp, #12]
.L1262:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldrb r3, [r3, #3534] @ zero_extendqisi2
sxtb r2, r3
ldr r3, [sp, #12]
cmp r2, r3
bgt .L1269
ldr r3, [sp, #4]
.L1267:
mov r0, r3
add sp, sp, #16
@ sp needed
bx lr
.fnend
.size find_first_unused_meter_index, .-find_first_unused_meter_index
.section .rodata.str1.4
.align 2
.LC286:
.ascii "correct meter idx range 16 : %d; real meter idx :%d"
.ascii "\012\000"
.text
.align 2
.global set_meter_status_enable
.type set_meter_status_enable, %function
set_meter_status_enable:
.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
str r0, [sp, #4]
str r1, [sp]
ldr r3, [sp, #4]
cmp r3, #15
ble .L1271
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #1488
add r3, r3, #12
ldrh r3, [r3]
mov r2, r3
ldr r3, [sp, #4]
cmp r2, r3
bgt .L1272
.L1271:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #1488
add r3, r3, #12
ldrh r3, [r3]
sub r3, r3, #1
movw r0, #:lower16:.LC286
movt r0, #:upper16:.LC286
mov r1, r3
ldr r2, [sp, #4]
bl printk
mvn r3, #0
b .L1273
.L1272:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r1, [r3]
ldr r3, [sp, #4]
mov r0, r3, asr #5
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #4]
mov r3, r3, asr #5
add r3, r3, #368
add r3, r3, #2
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r2, [sp, #4]
and r2, r2, #31
mov ip, #1
mov r2, ip, asl r2
orr r2, r3, r2
add r3, r0, #368
add r3, r3, #2
mov r3, r3, asl #2
add r3, r1, r3
str r2, [r3, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #4]
add r3, r3, #1
mov r3, r3, asl #4
add r3, r3, #1472
add r3, r3, #8
add r3, r2, r3
add r2, r3, #6
ldr r3, [sp]
mov r0, r2
mov r1, r3
mov r2, #16
bl strlcpy
mov r3, #0
.L1273:
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size set_meter_status_enable, .-set_meter_status_enable
.align 2
.global set_meter_status_disable
.type set_meter_status_disable, %function
set_meter_status_disable:
.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
str r0, [sp, #4]
ldr r3, [sp, #4]
cmp r3, #15
ble .L1275
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #1488
add r3, r3, #12
ldrh r3, [r3]
mov r2, r3
ldr r3, [sp, #4]
cmp r2, r3
bgt .L1276
.L1275:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #1488
add r3, r3, #12
ldrh r3, [r3]
sub r3, r3, #1
movw r0, #:lower16:.LC286
movt r0, #:upper16:.LC286
mov r1, r3
ldr r2, [sp, #4]
bl printk
mvn r3, #0
b .L1277
.L1276:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r1, [r3]
ldr r3, [sp, #4]
mov r0, r3, asr #5
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #4]
mov r3, r3, asr #5
add r3, r3, #368
add r3, r3, #2
mov r3, r3, asl #2
add r3, r2, r3
ldr r3, [r3, #4]
ldr r2, [sp, #4]
and r2, r2, #31
mov ip, #1
mov r2, ip, asl r2
mvn r2, r2
and r2, r2, r3
add r3, r0, #368
add r3, r3, #2
mov r3, r3, asl #2
add r3, r1, r3
str r2, [r3, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #4]
add r3, r3, #1
mov r3, r3, asl #4
add r3, r3, #1472
add r3, r3, #8
add r3, r2, r3
add r3, r3, #6
mov r2, #0
strb r2, [r3]
mov r3, #0
.L1277:
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size set_meter_status_disable, .-set_meter_status_disable
.align 2
.global qdma_allocate_meter
.type qdma_allocate_meter, %function
qdma_allocate_meter:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
bl find_first_unused_meter_index
mov r2, r0
ldr r3, [sp, #12]
str r2, [r3, #16]
ldr r3, [sp, #12]
ldr r3, [r3, #16]
mov r0, r3
ldr r1, [sp, #12]
bl set_meter_status_enable
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_allocate_meter, .-qdma_allocate_meter
.align 2
.global qdma_free_meter
.type qdma_free_meter, %function
qdma_free_meter:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
ldr r3, [sp, #12]
ldr r3, [r3, #16]
mov r0, r3
bl set_meter_status_disable
mov r3, #0
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_free_meter, .-qdma_free_meter
.align 2
.global find_first_unused_acnt_index
.type find_first_unused_acnt_index, %function
find_first_unused_acnt_index:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #16
sub sp, sp, #16
str r0, [sp, #4]
mov r3, #31
str r3, [sp, #8]
mov r3, #0
str r3, [sp, #12]
ldr r3, [sp, #4]
cmp r3, #0
bne .L1283
mov r3, #0
str r3, [sp, #12]
b .L1284
.L1287:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r2, [r3, #3536]
ldr r3, [sp, #12]
mov r3, r2, lsr r3
and r3, r3, #1
cmp r3, #0
bne .L1285
ldr r3, [sp, #12]
str r3, [sp, #8]
ldr r3, [sp, #8]
b .L1286
.L1285:
ldr r3, [sp, #12]
add r3, r3, #1
str r3, [sp, #12]
.L1284:
ldr r3, [sp, #12]
cmp r3, #62
ble .L1287
b .L1288
.L1283:
ldr r3, [sp, #4]
cmp r3, #1
bne .L1289
mov r3, #0
str r3, [sp, #12]
b .L1290
.L1292:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #4096
ldr r2, [r3, #452]
ldr r3, [sp, #12]
mov r3, r2, lsr r3
and r3, r3, #1
cmp r3, #0
bne .L1291
ldr r3, [sp, #12]
str r3, [sp, #8]
ldr r3, [sp, #8]
b .L1286
.L1291:
ldr r3, [sp, #12]
add r3, r3, #1
str r3, [sp, #12]
.L1290:
ldr r3, [sp, #12]
cmp r3, #30
ble .L1292
b .L1288
.L1289:
ldr r3, [sp, #8]
b .L1286
.L1288:
ldr r3, [sp, #8]
.L1286:
mov r0, r3
add sp, sp, #16
@ sp needed
bx lr
.fnend
.size find_first_unused_acnt_index, .-find_first_unused_acnt_index
.section .rodata.str1.4
.align 2
.LC287:
.ascii "correct acnt0 idx range 0 : %d; real acnt0 idx :%d\012"
.ascii "\000"
.align 2
.LC288:
.ascii "correct acnt0 idx range 0 : %d; real acnt1 idx :%d\012"
.ascii "\000"
.text
.align 2
.global set_acnt_status_enable
.type set_acnt_status_enable, %function
set_acnt_status_enable:
.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, #12]
str r1, [sp, #8]
str r2, [sp, #4]
ldr r3, [sp, #8]
cmp r3, #0
bne .L1294
ldr r3, [sp, #12]
cmp r3, #62
bgt .L1295
ldr r3, [sp, #12]
cmp r3, #0
bge .L1296
.L1295:
movw r0, #:lower16:.LC287
movt r0, #:upper16:.LC287
mov r1, #63
ldr r2, [sp, #12]
bl printk
mov r3, #0
b .L1297
.L1296:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #3536]
mov r0, #1
ldr r1, [sp, #12]
mov r1, r0, asl r1
orr r3, r3, r1
str r3, [r2, #3536]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #221
mov r3, r3, asl #4
add r3, r2, r3
add r2, r3, #4
ldr r3, [sp, #4]
mov r0, r2
mov r1, r3
mov r2, #16
bl strlcpy
b .L1298
.L1294:
ldr r3, [sp, #8]
cmp r3, #1
bne .L1299
ldr r3, [sp, #12]
cmp r3, #30
bgt .L1300
ldr r3, [sp, #12]
cmp r3, #0
bge .L1301
.L1300:
movw r0, #:lower16:.LC288
movt r0, #:upper16:.LC288
mov r1, #31
ldr r2, [sp, #12]
bl printk
mov r3, #0
b .L1297
.L1301:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #4096
ldr r3, [r3, #452]
mov r0, #1
ldr r1, [sp, #12]
mov r1, r0, asl r1
orr r3, r3, r1
add r2, r2, #4096
str r3, [r2, #452]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #12]
add r3, r3, #284
mov r3, r3, asl #4
add r3, r2, r3
add r2, r3, #8
ldr r3, [sp, #4]
mov r0, r2
mov r1, r3
mov r2, #16
bl strlcpy
b .L1298
.L1299:
mov r3, #0
b .L1297
.L1298:
mov r3, #0
.L1297:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size set_acnt_status_enable, .-set_acnt_status_enable
.align 2
.global set_acnt_status_disable
.type set_acnt_status_disable, %function
set_acnt_status_disable:
.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
str r0, [sp, #4]
str r1, [sp]
ldr r3, [sp]
cmp r3, #0
bne .L1303
ldr r3, [sp, #4]
cmp r3, #62
bgt .L1304
ldr r3, [sp, #4]
cmp r3, #0
bge .L1305
.L1304:
movw r0, #:lower16:.LC287
movt r0, #:upper16:.LC287
mov r1, #63
ldr r2, [sp, #4]
bl printk
mov r3, #0
b .L1306
.L1305:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3, #3536]
mov r0, #1
ldr r1, [sp, #4]
mov r1, r0, asl r1
mvn r1, r1
and r3, r3, r1
str r3, [r2, #3536]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #4]
add r3, r3, #221
mov r3, r3, asl #4
add r3, r2, r3
add r3, r3, #4
mov r2, #0
strb r2, [r3]
b .L1307
.L1303:
ldr r3, [sp]
cmp r3, #1
bne .L1308
ldr r3, [sp, #4]
cmp r3, #30
bgt .L1309
ldr r3, [sp, #4]
cmp r3, #0
bge .L1310
.L1309:
movw r0, #:lower16:.LC288
movt r0, #:upper16:.LC288
mov r1, #31
ldr r2, [sp, #4]
bl printk
mov r3, #0
b .L1306
.L1310:
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
add r3, r3, #4096
ldr r3, [r3, #452]
mov r0, #1
ldr r1, [sp, #4]
mov r1, r0, asl r1
mvn r1, r1
and r3, r3, r1
add r2, r2, #4096
str r3, [r2, #452]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r2, [r3]
ldr r3, [sp, #4]
add r3, r3, #284
mov r3, r3, asl #4
add r3, r2, r3
add r3, r3, #8
mov r2, #0
strb r2, [r3]
b .L1307
.L1308:
mov r3, #0
b .L1306
.L1307:
mov r3, #0
.L1306:
mov r0, r3
add sp, sp, #12
@ sp needed
ldr pc, [sp], #4
.fnend
.size set_acnt_status_disable, .-set_acnt_status_disable
.section .rodata.str1.4
.align 2
.LC289:
.ascii "31 acnt0 id has been used, there is no left\012\000"
.align 2
.LC290:
.ascii "16 acnt1 id has been used, there is no left\012\000"
.text
.align 2
.global qdma_allocate_acnt
.type qdma_allocate_acnt, %function
qdma_allocate_acnt:
.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]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #8]
ldr r3, [sp, #8]
ldr r3, [r3, #20]
str r3, [sp, #12]
ldr r0, [sp, #12]
bl find_first_unused_acnt_index
mov r2, r0
ldr r3, [sp, #8]
str r2, [r3, #16]
ldr r3, [sp, #8]
ldr r3, [r3, #16]
cmp r3, #31
bne .L1312
ldr r3, [sp, #12]
cmp r3, #0
bne .L1313
movw r0, #:lower16:.LC289
movt r0, #:upper16:.LC289
bl printk
b .L1314
.L1313:
movw r0, #:lower16:.LC290
movt r0, #:upper16:.LC290
bl printk
.L1314:
mov r3, #0
b .L1315
.L1312:
ldr r3, [sp, #8]
ldr r3, [r3, #16]
mov r0, r3
ldr r1, [sp, #12]
ldr r2, [sp, #8]
bl set_acnt_status_enable
mov r3, #0
.L1315:
mov r0, r3
add sp, sp, #20
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_allocate_acnt, .-qdma_allocate_acnt
.align 2
.global qdma_free_acnt
.type qdma_free_acnt, %function
qdma_free_acnt:
.fnstart
@ args = 0, pretend = 0, frame = 24
@ frame_needed = 0, uses_anonymous_args = 0
str lr, [sp, #-4]!
.save {lr}
.pad #28
sub sp, sp, #28
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #12]
ldr r3, [sp, #20]
ldr r3, [r3, #16]
str r3, [sp, #16]
ldr r3, [sp, #20]
ldr r3, [r3, #20]
str r3, [sp, #12]
ldr r0, [sp, #16]
ldr r1, [sp, #12]
bl set_acnt_status_disable
mov r3, #0
mov r0, r3
add sp, sp, #28
@ sp needed
ldr pc, [sp], #4
.fnend
.size qdma_free_acnt, .-qdma_free_acnt
.align 2
.global qdma_get_qos_flag
.type qdma_get_qos_flag, %function
qdma_get_qos_flag:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #16
sub sp, sp, #16
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
ldr r3, [sp, #12]
mvn r2, #0
str r2, [r3, #20]
mov r3, #0
mov r0, r3
add sp, sp, #16
@ sp needed
bx lr
.fnend
.size qdma_get_qos_flag, .-qdma_get_qos_flag
.align 2
.global qdma_dram_test_dma_config
.type qdma_dram_test_dma_config, %function
qdma_dram_test_dma_config:
.fnstart
@ args = 0, pretend = 0, frame = 48
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #48
sub sp, sp, #48
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #44]
mov r3, #0
str r3, [sp, #40]
mov r3, #0
str r3, [sp, #36]
mov r3, #0
str r3, [sp, #32]
mov r3, #0
str r3, [sp, #28]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #24]
mov r3, #0
str r3, [sp, #20]
mov r3, #0
str r3, [sp, #16]
mov r3, #0
str r3, [sp, #12]
mov r3, #0
mov r0, r3
add sp, sp, #48
@ sp needed
bx lr
.fnend
.size qdma_dram_test_dma_config, .-qdma_dram_test_dma_config
.align 2
.global qdma_dram_test_dma_enable
.type qdma_dram_test_dma_enable, %function
qdma_dram_test_dma_enable:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #16
sub sp, sp, #16
str r0, [sp, #4]
movw r3, #:lower16:gpQdmaPriv
movt r3, #:upper16:gpQdmaPriv
ldr r3, [r3]
ldr r3, [r3]
str r3, [sp, #12]
mov r3, #0
mov r0, r3
add sp, sp, #16
@ sp needed
bx lr
.fnend
.size qdma_dram_test_dma_enable, .-qdma_dram_test_dma_enable
.align 2
.global qdma_dram_test_is_rx_done
.type qdma_dram_test_is_rx_done, %function
qdma_dram_test_is_rx_done:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #16
sub sp, sp, #16
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
mov r3, #0
mov r0, r3
add sp, sp, #16
@ sp needed
bx lr
.fnend
.size qdma_dram_test_is_rx_done, .-qdma_dram_test_is_rx_done
.align 2
.global qdma_dram_test_dma_skb_get
.type qdma_dram_test_dma_skb_get, %function
qdma_dram_test_dma_skb_get:
.fnstart
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
.pad #16
sub sp, sp, #16
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r3, [r3, #8]
str r3, [sp, #12]
mov r3, #0
mov r0, r3
add sp, sp, #16
@ sp needed
bx lr
.fnend
.size qdma_dram_test_dma_skb_get, .-qdma_dram_test_dma_skb_get
.ident "GCC: (Buildroot 2015.08.1-gd814875) 4.9.3"
.section .note.GNU-stack,"",%progbits