diff options
| author | xoviat <[email protected]> | 2023-05-20 10:11:29 -0500 |
|---|---|---|
| committer | xoviat <[email protected]> | 2023-05-20 10:24:13 -0500 |
| commit | 5e86188c25331d16fb6bfe071ff4485f1a51d664 (patch) | |
| tree | 40327323e804ef9dfe3842d137d32c8f70250c19 | |
| parent | 661b1f33738e56cd1b6092c0e3f014cb8e9726d3 (diff) | |
stm32/ipcc: cleanup naming
| -rw-r--r-- | embassy-stm32/src/tl_mbox/ble.rs | 8 | ||||
| -rw-r--r-- | embassy-stm32/src/tl_mbox/mm.rs | 14 | ||||
| -rw-r--r-- | embassy-stm32/src/tl_mbox/sys.rs | 8 | ||||
| -rw-r--r-- | embassy-stm32/src/tl_mbox/unsafe_linked_list.rs | 158 |
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; | |||
| 5 | use super::cmd::CmdSerial; | 5 | use super::cmd::CmdSerial; |
| 6 | use super::consts::TlPacketType; | 6 | use super::consts::TlPacketType; |
| 7 | use super::evt::EvtBox; | 7 | use super::evt::EvtBox; |
| 8 | use super::unsafe_linked_list::{LST_init_head, LST_is_empty, LST_remove_head}; | 8 | use super::unsafe_linked_list::LinkedListNode; |
| 9 | use super::{ | 9 | use 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; | |||
| 18 | impl Ble { | 18 | impl 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 @@ | |||
| 1 | use core::mem::MaybeUninit; | 1 | use core::mem::MaybeUninit; |
| 2 | 2 | ||
| 3 | use super::evt::EvtPacket; | 3 | use super::evt::EvtPacket; |
| 4 | use super::unsafe_linked_list::{LST_init_head, LST_insert_tail, LST_is_empty, LST_remove_head}; | 4 | use super::unsafe_linked_list::LinkedListNode; |
| 5 | use super::{ | 5 | use 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; | |||
| 13 | impl MemoryManager { | 13 | impl 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; | |||
| 5 | use super::cmd::{CmdPacket, CmdSerial}; | 5 | use super::cmd::{CmdPacket, CmdSerial}; |
| 6 | use super::consts::TlPacketType; | 6 | use super::consts::TlPacketType; |
| 7 | use super::evt::{CcEvt, EvtBox, EvtSerial}; | 7 | use super::evt::{CcEvt, EvtBox, EvtSerial}; |
| 8 | use super::unsafe_linked_list::{LST_init_head, LST_is_empty, LST_remove_head}; | 8 | use super::unsafe_linked_list::LinkedListNode; |
| 9 | use super::{channels, SysTable, SYSTEM_EVT_QUEUE, SYS_CMD_BUF, TL_CHANNEL, TL_REF_TABLE, TL_SYS_TABLE}; | 9 | use super::{channels, SysTable, SYSTEM_EVT_QUEUE, SYS_CMD_BUF, TL_CHANNEL, TL_REF_TABLE, TL_SYS_TABLE}; |
| 10 | use crate::ipcc::Ipcc; | 10 | use crate::ipcc::Ipcc; |
| 11 | 11 | ||
| @@ -14,7 +14,7 @@ pub struct Sys; | |||
| 14 | impl Sys { | 14 | impl 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 | ||
| 32 | pub unsafe fn LST_init_head(mut listHead: *mut LinkedListNode) { | 32 | impl 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 | ||
| 37 | pub 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 | ||
| 41 | pub 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 | ||
| 50 | pub 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 | ||
| 59 | pub 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 | ||
| 66 | pub 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 | ||
| 73 | pub 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 | ||
| 80 | pub 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 | ||
| 89 | pub 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 | ||
| 98 | pub 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 | ||
| 113 | pub 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 | ||
| 119 | pub 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 | } |
