simplified code, remove unused code.
This commit is contained in:
@@ -69,20 +69,12 @@ NET_Buffer_Alloc:
|
|||||||
brcc NET_Buffer_Alloc_countersSet
|
brcc NET_Buffer_Alloc_countersSet
|
||||||
sts netBuffersMaxUsed, r17
|
sts netBuffersMaxUsed, r17
|
||||||
NET_Buffer_Alloc_countersSet:
|
NET_Buffer_Alloc_countersSet:
|
||||||
#ifdef MODULES_LED_SIGNAL
|
|
||||||
ldi r16, T03_FLAGS_ALLOC
|
|
||||||
rcall LedSignal_ClrFlag ; (R17)
|
|
||||||
#endif
|
|
||||||
pop r16
|
pop r16
|
||||||
out SREG, r15
|
out SREG, r15
|
||||||
pop r15
|
pop r15
|
||||||
sec
|
sec
|
||||||
ret
|
ret
|
||||||
NET_Buffer_Alloc_error:
|
NET_Buffer_Alloc_error:
|
||||||
#ifdef MODULES_LED_SIGNAL
|
|
||||||
ldi r16, T03_FLAGS_ALLOC
|
|
||||||
rcall LedSignal_SetFlag ; (R17)
|
|
||||||
#endif
|
|
||||||
out SREG, r15
|
out SREG, r15
|
||||||
pop r15
|
pop r15
|
||||||
clc
|
clc
|
||||||
@@ -93,7 +85,7 @@ NET_Buffer_Alloc_noIrq:
|
|||||||
ldi xh, HIGH(netBuffers)
|
ldi xh, HIGH(netBuffers)
|
||||||
m_fixedbuf_reserve NET_BUFFERS_SIZE, NET_BUFFERS_NUM
|
m_fixedbuf_reserve NET_BUFFERS_SIZE, NET_BUFFERS_NUM
|
||||||
brcc NET_Buffer_Alloc_end
|
brcc NET_Buffer_Alloc_end
|
||||||
ldi r17, (1<<NET_IFACE_BUFFER_INUSE_BIT0) ; set refcounter to 1
|
ldi r17, 0x10 ; set refcounter to 1
|
||||||
st X, r17
|
st X, r17
|
||||||
NET_Buffer_Alloc_end:
|
NET_Buffer_Alloc_end:
|
||||||
ret
|
ret
|
||||||
@@ -111,17 +103,18 @@ NET_Buffer_ReleaseByAddr:
|
|||||||
push r15
|
push r15
|
||||||
in r15, SREG
|
in r15, SREG
|
||||||
cli
|
cli
|
||||||
|
|
||||||
ld r16, X
|
ld r16, X
|
||||||
swap r16
|
swap r16
|
||||||
andi r16, 0x0f ; ref counter now in lower nibble
|
andi r16, 0x0f ; ref counter now in low nibble
|
||||||
breq NET_Buffer_ReleaseByAddr_done ; refcounter 0? -> not in use
|
breq NET_Buffer_ReleaseByAddr_done ; refcounter 0? -> not in use
|
||||||
dec r16
|
dec r16
|
||||||
breq NET_Buffer_ReleaseByAddr_release
|
breq NET_Buffer_ReleaseByAddr_release
|
||||||
swap r16
|
swap r16 ; ref counter now back in high nibble
|
||||||
push r17
|
push r17
|
||||||
ld r17, X
|
ld r17, X
|
||||||
andi r17, 0x0f
|
andi r17, 0x0f ; keep interface number
|
||||||
or r16, r17
|
or r16, r17 ; or interface number into R16 (R16 now complete)
|
||||||
st X, r16
|
st X, r16
|
||||||
pop r17
|
pop r17
|
||||||
rjmp NET_Buffer_ReleaseByAddr_done
|
rjmp NET_Buffer_ReleaseByAddr_done
|
||||||
|
|||||||
@@ -188,9 +188,9 @@ NET_Interface_IncCounter16_end:
|
|||||||
|
|
||||||
NET_Interface_SetIfaceNumInBuffer:
|
NET_Interface_SetIfaceNumInBuffer:
|
||||||
ldd r16, Y+NET_IFACE_OFFS_IFACENUM
|
ldd r16, Y+NET_IFACE_OFFS_IFACENUM
|
||||||
andi r16, (1<<NET_IFACE_BUFFER_IFACENUM1_BIT) | (1<<NET_IFACE_BUFFER_IFACENUM0_BIT)
|
andi r16, 0x0f
|
||||||
ld r17, X
|
ld r17, X
|
||||||
cbr r17, (1<<NET_IFACE_BUFFER_IFACENUM1_BIT) | (1<<NET_IFACE_BUFFER_IFACENUM0_BIT)
|
andi r17, 0xf0
|
||||||
or r17, r16
|
or r17, r16
|
||||||
st X, r17
|
st X, r17
|
||||||
ret
|
ret
|
||||||
|
|||||||
Reference in New Issue
Block a user