21976 lines
402 KiB
ArmAsm
Executable File
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
|