aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-05-20 10:11:29 -0500
committerxoviat <[email protected]>2023-05-20 10:24:13 -0500
commit5e86188c25331d16fb6bfe071ff4485f1a51d664 (patch)
tree40327323e804ef9dfe3842d137d32c8f70250c19
parent661b1f33738e56cd1b6092c0e3f014cb8e9726d3 (diff)
stm32/ipcc: cleanup naming
-rw-r--r--embassy-stm32/src/tl_mbox/ble.rs8
-rw-r--r--embassy-stm32/src/tl_mbox/mm.rs14
-rw-r--r--embassy-stm32/src/tl_mbox/sys.rs8
-rw-r--r--embassy-stm32/src/tl_mbox/unsafe_linked_list.rs158
4 files changed, 95 insertions, 93 deletions
diff --git a/embassy-stm32/src/tl_mbox/ble.rs b/embassy-stm32/src/tl_mbox/ble.rs
index a285e314c..84c6307fd 100644
--- a/embassy-stm32/src/tl_mbox/ble.rs
+++ b/embassy-stm32/src/tl_mbox/ble.rs
@@ -5,7 +5,7 @@ use embassy_futures::block_on;
5use super::cmd::CmdSerial; 5use super::cmd::CmdSerial;
6use super::consts::TlPacketType; 6use super::consts::TlPacketType;
7use super::evt::EvtBox; 7use super::evt::EvtBox;
8use super::unsafe_linked_list::{LST_init_head, LST_is_empty, LST_remove_head}; 8use super::unsafe_linked_list::LinkedListNode;
9use super::{ 9use super::{
10 channels, BleTable, BLE_CMD_BUFFER, CS_BUFFER, EVT_QUEUE, HCI_ACL_DATA_BUFFER, TL_BLE_TABLE, TL_CHANNEL, 10 channels, BleTable, BLE_CMD_BUFFER, CS_BUFFER, EVT_QUEUE, HCI_ACL_DATA_BUFFER, TL_BLE_TABLE, TL_CHANNEL,
11 TL_REF_TABLE, 11 TL_REF_TABLE,
@@ -18,7 +18,7 @@ pub struct Ble;
18impl Ble { 18impl Ble {
19 pub(crate) fn new(ipcc: &mut Ipcc) -> Self { 19 pub(crate) fn new(ipcc: &mut Ipcc) -> Self {
20 unsafe { 20 unsafe {
21 LST_init_head(EVT_QUEUE.as_mut_ptr()); 21 LinkedListNode::init_head(EVT_QUEUE.as_mut_ptr());
22 22
23 TL_BLE_TABLE = MaybeUninit::new(BleTable { 23 TL_BLE_TABLE = MaybeUninit::new(BleTable {
24 pcmd_buffer: BLE_CMD_BUFFER.as_mut_ptr().cast(), 24 pcmd_buffer: BLE_CMD_BUFFER.as_mut_ptr().cast(),
@@ -38,8 +38,8 @@ impl Ble {
38 let mut node_ptr = core::ptr::null_mut(); 38 let mut node_ptr = core::ptr::null_mut();
39 let node_ptr_ptr: *mut _ = &mut node_ptr; 39 let node_ptr_ptr: *mut _ = &mut node_ptr;
40 40
41 while !LST_is_empty(EVT_QUEUE.as_mut_ptr()) { 41 while !LinkedListNode::is_empty(EVT_QUEUE.as_mut_ptr()) {
42 LST_remove_head(EVT_QUEUE.as_mut_ptr(), node_ptr_ptr); 42 LinkedListNode::remove_head(EVT_QUEUE.as_mut_ptr(), node_ptr_ptr);
43 43
44 let event = node_ptr.cast(); 44 let event = node_ptr.cast();
45 let event = EvtBox::new(event); 45 let event = EvtBox::new(event);
diff --git a/embassy-stm32/src/tl_mbox/mm.rs b/embassy-stm32/src/tl_mbox/mm.rs
index 588b32919..f99ffa399 100644
--- a/embassy-stm32/src/tl_mbox/mm.rs
+++ b/embassy-stm32/src/tl_mbox/mm.rs
@@ -1,7 +1,7 @@
1use core::mem::MaybeUninit; 1use core::mem::MaybeUninit;
2 2
3use super::evt::EvtPacket; 3use super::evt::EvtPacket;
4use super::unsafe_linked_list::{LST_init_head, LST_insert_tail, LST_is_empty, LST_remove_head}; 4use super::unsafe_linked_list::LinkedListNode;
5use super::{ 5use super::{
6 channels, MemManagerTable, BLE_SPARE_EVT_BUF, EVT_POOL, FREE_BUFF_QUEUE, LOCAL_FREE_BUF_QUEUE, POOL_SIZE, 6 channels, MemManagerTable, BLE_SPARE_EVT_BUF, EVT_POOL, FREE_BUFF_QUEUE, LOCAL_FREE_BUF_QUEUE, POOL_SIZE,
7 SYS_SPARE_EVT_BUF, TL_MEM_MANAGER_TABLE, TL_REF_TABLE, 7 SYS_SPARE_EVT_BUF, TL_MEM_MANAGER_TABLE, TL_REF_TABLE,
@@ -13,8 +13,8 @@ pub struct MemoryManager;
13impl MemoryManager { 13impl MemoryManager {
14 pub fn new() -> Self { 14 pub fn new() -> Self {
15 unsafe { 15 unsafe {
16 LST_init_head(FREE_BUFF_QUEUE.as_mut_ptr()); 16 LinkedListNode::init_head(FREE_BUFF_QUEUE.as_mut_ptr());
17 LST_init_head(LOCAL_FREE_BUF_QUEUE.as_mut_ptr()); 17 LinkedListNode::init_head(LOCAL_FREE_BUF_QUEUE.as_mut_ptr());
18 18
19 TL_MEM_MANAGER_TABLE = MaybeUninit::new(MemManagerTable { 19 TL_MEM_MANAGER_TABLE = MaybeUninit::new(MemManagerTable {
20 spare_ble_buffer: BLE_SPARE_EVT_BUF.as_ptr().cast(), 20 spare_ble_buffer: BLE_SPARE_EVT_BUF.as_ptr().cast(),
@@ -40,7 +40,7 @@ impl MemoryManager {
40 unsafe { 40 unsafe {
41 let list_node = evt.cast(); 41 let list_node = evt.cast();
42 42
43 LST_insert_tail(LOCAL_FREE_BUF_QUEUE.as_mut_ptr(), list_node); 43 LinkedListNode::remove_tail(LOCAL_FREE_BUF_QUEUE.as_mut_ptr(), list_node);
44 } 44 }
45 45
46 let channel_is_busy = ipcc.c1_is_active_flag(channels::cpu1::IPCC_MM_RELEASE_BUFFER_CHANNEL); 46 let channel_is_busy = ipcc.c1_is_active_flag(channels::cpu1::IPCC_MM_RELEASE_BUFFER_CHANNEL);
@@ -59,9 +59,9 @@ impl MemoryManager {
59 let mut node_ptr = core::ptr::null_mut(); 59 let mut node_ptr = core::ptr::null_mut();
60 let node_ptr_ptr: *mut _ = &mut node_ptr; 60 let node_ptr_ptr: *mut _ = &mut node_ptr;
61 61
62 while !LST_is_empty(LOCAL_FREE_BUF_QUEUE.as_mut_ptr()) { 62 while !LinkedListNode::is_empty(LOCAL_FREE_BUF_QUEUE.as_mut_ptr()) {
63 LST_remove_head(LOCAL_FREE_BUF_QUEUE.as_mut_ptr(), node_ptr_ptr); 63 LinkedListNode::remove_head(LOCAL_FREE_BUF_QUEUE.as_mut_ptr(), node_ptr_ptr);
64 LST_insert_tail( 64 LinkedListNode::insert_tail(
65 (*(*TL_REF_TABLE.as_ptr()).mem_manager_table).pevt_free_buffer_queue, 65 (*(*TL_REF_TABLE.as_ptr()).mem_manager_table).pevt_free_buffer_queue,
66 node_ptr, 66 node_ptr,
67 ); 67 );
diff --git a/embassy-stm32/src/tl_mbox/sys.rs b/embassy-stm32/src/tl_mbox/sys.rs
index 122657550..d22dfb58c 100644
--- a/embassy-stm32/src/tl_mbox/sys.rs
+++ b/embassy-stm32/src/tl_mbox/sys.rs
@@ -5,7 +5,7 @@ use embassy_futures::block_on;
5use super::cmd::{CmdPacket, CmdSerial}; 5use super::cmd::{CmdPacket, CmdSerial};
6use super::consts::TlPacketType; 6use super::consts::TlPacketType;
7use super::evt::{CcEvt, EvtBox, EvtSerial}; 7use super::evt::{CcEvt, EvtBox, EvtSerial};
8use super::unsafe_linked_list::{LST_init_head, LST_is_empty, LST_remove_head}; 8use super::unsafe_linked_list::LinkedListNode;
9use super::{channels, SysTable, SYSTEM_EVT_QUEUE, SYS_CMD_BUF, TL_CHANNEL, TL_REF_TABLE, TL_SYS_TABLE}; 9use super::{channels, SysTable, SYSTEM_EVT_QUEUE, SYS_CMD_BUF, TL_CHANNEL, TL_REF_TABLE, TL_SYS_TABLE};
10use crate::ipcc::Ipcc; 10use crate::ipcc::Ipcc;
11 11
@@ -14,7 +14,7 @@ pub struct Sys;
14impl Sys { 14impl Sys {
15 pub(crate) fn new(ipcc: &mut Ipcc) -> Self { 15 pub(crate) fn new(ipcc: &mut Ipcc) -> Self {
16 unsafe { 16 unsafe {
17 LST_init_head(SYSTEM_EVT_QUEUE.as_mut_ptr()); 17 LinkedListNode::init_head(SYSTEM_EVT_QUEUE.as_mut_ptr());
18 18
19 TL_SYS_TABLE = MaybeUninit::new(SysTable { 19 TL_SYS_TABLE = MaybeUninit::new(SysTable {
20 pcmd_buffer: SYS_CMD_BUF.as_mut_ptr(), 20 pcmd_buffer: SYS_CMD_BUF.as_mut_ptr(),
@@ -32,8 +32,8 @@ impl Sys {
32 let mut node_ptr = core::ptr::null_mut(); 32 let mut node_ptr = core::ptr::null_mut();
33 let node_ptr_ptr: *mut _ = &mut node_ptr; 33 let node_ptr_ptr: *mut _ = &mut node_ptr;
34 34
35 while !LST_is_empty(SYSTEM_EVT_QUEUE.as_mut_ptr()) { 35 while !LinkedListNode::is_empty(SYSTEM_EVT_QUEUE.as_mut_ptr()) {
36 LST_remove_head(SYSTEM_EVT_QUEUE.as_mut_ptr(), node_ptr_ptr); 36 LinkedListNode::remove_head(SYSTEM_EVT_QUEUE.as_mut_ptr(), node_ptr_ptr);
37 37
38 let event = node_ptr.cast(); 38 let event = node_ptr.cast();
39 let event = EvtBox::new(event); 39 let event = EvtBox::new(event);
diff --git a/embassy-stm32/src/tl_mbox/unsafe_linked_list.rs b/embassy-stm32/src/tl_mbox/unsafe_linked_list.rs
index 9caf01d1d..45bf5bdae 100644
--- a/embassy-stm32/src/tl_mbox/unsafe_linked_list.rs
+++ b/embassy-stm32/src/tl_mbox/unsafe_linked_list.rs
@@ -29,95 +29,97 @@ impl Default for LinkedListNode {
29 } 29 }
30} 30}
31 31
32pub unsafe fn LST_init_head(mut listHead: *mut LinkedListNode) { 32impl LinkedListNode {
33 (*listHead).next = listHead; 33 pub unsafe fn init_head(mut listHead: *mut LinkedListNode) {
34 (*listHead).prev = listHead; 34 (*listHead).next = listHead;
35} 35 (*listHead).prev = listHead;
36 }
36 37
37pub unsafe fn LST_is_empty(mut listHead: *mut LinkedListNode) -> bool { 38 pub unsafe fn is_empty(mut listHead: *mut LinkedListNode) -> bool {
38 interrupt::free(|_| ((*listHead).next) == listHead) 39 interrupt::free(|_| ((*listHead).next) == listHead)
39} 40 }
40 41
41pub unsafe fn LST_insert_head(mut listHead: *mut LinkedListNode, mut node: *mut LinkedListNode) { 42 pub unsafe fn insert_head(mut listHead: *mut LinkedListNode, mut node: *mut LinkedListNode) {
42 interrupt::free(|_| { 43 interrupt::free(|_| {
43 (*node).next = (*listHead).next; 44 (*node).next = (*listHead).next;
44 (*node).prev = listHead; 45 (*node).prev = listHead;
45 (*listHead).next = node; 46 (*listHead).next = node;
46 (*(*node).next).prev = node; 47 (*(*node).next).prev = node;
47 }); 48 });
48} 49 }
49 50
50pub unsafe fn LST_insert_tail(mut listHead: *mut LinkedListNode, mut node: *mut LinkedListNode) { 51 pub unsafe fn insert_tail(mut listHead: *mut LinkedListNode, mut node: *mut LinkedListNode) {
51 interrupt::free(|_| { 52 interrupt::free(|_| {
52 (*node).next = listHead; 53 (*node).next = listHead;
53 (*node).prev = (*listHead).prev; 54 (*node).prev = (*listHead).prev;
54 (*listHead).prev = node; 55 (*listHead).prev = node;
55 (*(*node).prev).next = node; 56 (*(*node).prev).next = node;
56 }); 57 });
57} 58 }
58 59
59pub unsafe fn LST_remove_node(mut node: *mut LinkedListNode) { 60 pub unsafe fn remove_node(mut node: *mut LinkedListNode) {
60 interrupt::free(|_| { 61 interrupt::free(|_| {
61 (*(*node).prev).next = (*node).next; 62 (*(*node).prev).next = (*node).next;
62 (*(*node).next).prev = (*node).prev; 63 (*(*node).next).prev = (*node).prev;
63 }); 64 });
64} 65 }
65 66
66pub unsafe fn LST_remove_head(mut listHead: *mut LinkedListNode, mut node: *mut *mut LinkedListNode) { 67 pub unsafe fn remove_head(mut listHead: *mut LinkedListNode, mut node: *mut *mut LinkedListNode) {
67 interrupt::free(|_| { 68 interrupt::free(|_| {
68 *node = (*listHead).next; 69 *node = (*listHead).next;
69 LST_remove_node((*listHead).next); 70 Self::remove_node((*listHead).next);
70 }); 71 });
71} 72 }
72 73
73pub unsafe fn LST_remove_tail(mut listHead: *mut LinkedListNode, mut node: *mut *mut LinkedListNode) { 74 pub unsafe fn remove_tail(mut listHead: *mut LinkedListNode, mut node: *mut *mut LinkedListNode) {
74 interrupt::free(|_| { 75 interrupt::free(|_| {
75 *node = (*listHead).prev; 76 *node = (*listHead).prev;
76 LST_remove_node((*listHead).prev); 77 Self::remove_node((*listHead).prev);
77 }); 78 });
78} 79 }
79 80
80pub unsafe fn LST_insert_node_after(mut node: *mut LinkedListNode, mut ref_node: *mut LinkedListNode) { 81 pub unsafe fn insert_node_after(mut node: *mut LinkedListNode, mut ref_node: *mut LinkedListNode) {
81 interrupt::free(|_| { 82 interrupt::free(|_| {
82 (*node).next = (*ref_node).next; 83 (*node).next = (*ref_node).next;
83 (*node).prev = ref_node; 84 (*node).prev = ref_node;
84 (*ref_node).next = node; 85 (*ref_node).next = node;
85 (*(*node).next).prev = node; 86 (*(*node).next).prev = node;
86 }); 87 });
87} 88 }
88 89
89pub unsafe fn LST_insert_node_before(mut node: *mut LinkedListNode, mut ref_node: *mut LinkedListNode) { 90 pub unsafe fn insert_node_before(mut node: *mut LinkedListNode, mut ref_node: *mut LinkedListNode) {
90 interrupt::free(|_| { 91 interrupt::free(|_| {
91 (*node).next = ref_node; 92 (*node).next = ref_node;
92 (*node).prev = (*ref_node).prev; 93 (*node).prev = (*ref_node).prev;
93 (*ref_node).prev = node; 94 (*ref_node).prev = node;
94 (*(*node).prev).next = node; 95 (*(*node).prev).next = node;
95 }); 96 });
96} 97 }
97 98
98pub unsafe fn LST_get_size(mut listHead: *mut LinkedListNode) -> usize { 99 pub unsafe fn get_size(mut listHead: *mut LinkedListNode) -> usize {
99 interrupt::free(|_| { 100 interrupt::free(|_| {
100 let mut size = 0; 101 let mut size = 0;
101 let mut temp: *mut LinkedListNode = core::ptr::null_mut::<LinkedListNode>(); 102 let mut temp: *mut LinkedListNode = core::ptr::null_mut::<LinkedListNode>();
102 103
103 temp = (*listHead).next; 104 temp = (*listHead).next;
104 while temp != listHead { 105 while temp != listHead {
105 size += 1; 106 size += 1;
106 temp = (*temp).next 107 temp = (*temp).next
107 } 108 }
108 109
109 size 110 size
110 }) 111 })
111} 112 }
112 113
113pub unsafe fn LST_get_next_node(mut ref_node: *mut LinkedListNode, mut node: *mut *mut LinkedListNode) { 114 pub unsafe fn get_next_node(mut ref_node: *mut LinkedListNode, mut node: *mut *mut LinkedListNode) {
114 interrupt::free(|_| { 115 interrupt::free(|_| {
115 *node = (*ref_node).next; 116 *node = (*ref_node).next;
116 }); 117 });
117} 118 }
118 119
119pub unsafe fn LST_get_prev_node(mut ref_node: *mut LinkedListNode, mut node: *mut *mut LinkedListNode) { 120 pub unsafe fn get_prev_node(mut ref_node: *mut LinkedListNode, mut node: *mut *mut LinkedListNode) {
120 interrupt::free(|_| { 121 interrupt::free(|_| {
121 *node = (*ref_node).prev; 122 *node = (*ref_node).prev;
122 }); 123 });
124 }
123} 125}