Home
last modified time | relevance | path

Searched refs:mem_block (Results 1 – 25 of 29) sorted by relevance

12

/Zephyr-latest/lib/mem_blocks/
Dmem_blocks.c16 static void *alloc_blocks(sys_mem_blocks_t *mem_block, size_t num_blocks) in alloc_blocks() argument
23 k_spinlock_key_t key = k_spin_lock(&mem_block->lock); in alloc_blocks()
27 r = sys_bitarray_alloc(mem_block->bitmap, num_blocks, &offset); in alloc_blocks()
30 k_spin_unlock(&mem_block->lock, key); in alloc_blocks()
37 mem_block->info.used_blocks += (uint32_t)num_blocks; in alloc_blocks()
39 if (mem_block->info.max_used_blocks < mem_block->info.used_blocks) { in alloc_blocks()
40 mem_block->info.max_used_blocks = mem_block->info.used_blocks; in alloc_blocks()
43 k_spin_unlock(&mem_block->lock, key); in alloc_blocks()
48 blk = mem_block->buffer + (offset << mem_block->info.blk_sz_shift); in alloc_blocks()
53 static int free_blocks(sys_mem_blocks_t *mem_block, void *ptr, in free_blocks() argument
[all …]
/Zephyr-latest/drivers/i2s/
Di2s_common.c13 void *mem_block; in z_impl_i2s_buf_read() local
16 ret = i2s_read((const struct device *)dev, &mem_block, size); in z_impl_i2s_buf_read()
23 memcpy(buf, mem_block, *size); in z_impl_i2s_buf_read()
24 k_mem_slab_free(rx_cfg->mem_slab, mem_block); in z_impl_i2s_buf_read()
34 void *mem_block; in z_impl_i2s_buf_write() local
45 ret = k_mem_slab_alloc(tx_cfg->mem_slab, &mem_block, K_FOREVER); in z_impl_i2s_buf_write()
50 memcpy(mem_block, (void *)buf, size); in z_impl_i2s_buf_write()
52 ret = i2s_write((const struct device *)dev, mem_block, size); in z_impl_i2s_buf_write()
54 k_mem_slab_free(tx_cfg->mem_slab, mem_block); in z_impl_i2s_buf_write()
Di2s_handlers.c49 void *mem_block; in z_vrfy_i2s_buf_read() local
55 ret = i2s_read((const struct device *)dev, &mem_block, &data_size); in z_vrfy_i2s_buf_read()
66 copy_success = k_usermode_to_copy((void *)buf, mem_block, in z_vrfy_i2s_buf_read()
69 k_mem_slab_free(rx_cfg->mem_slab, mem_block); in z_vrfy_i2s_buf_read()
84 void *mem_block; in z_vrfy_i2s_buf_write() local
96 ret = k_mem_slab_alloc(tx_cfg->mem_slab, &mem_block, K_FOREVER); in z_vrfy_i2s_buf_write()
101 ret = k_usermode_from_copy(mem_block, (void *)buf, size); in z_vrfy_i2s_buf_write()
103 k_mem_slab_free(tx_cfg->mem_slab, mem_block); in z_vrfy_i2s_buf_write()
107 ret = i2s_write((const struct device *)dev, mem_block, size); in z_vrfy_i2s_buf_write()
109 k_mem_slab_free(tx_cfg->mem_slab, mem_block); in z_vrfy_i2s_buf_write()
Di2s_sam_ssc.c56 void *mem_block; member
87 void *mem_block; member
116 static int queue_get(struct ring_buf *rb, void **mem_block, size_t *size) in queue_get() argument
128 *mem_block = rb->buf[rb->tail].mem_block; in queue_get()
140 static int queue_put(struct ring_buf *rb, void *mem_block, size_t size) in queue_put() argument
156 rb->buf[rb->head].mem_block = mem_block; in queue_put()
216 __ASSERT_NO_MSG(stream->mem_block != NULL); in dma_rx_callback()
224 ret = queue_put(&stream->mem_block_queue, stream->mem_block, in dma_rx_callback()
230 stream->mem_block = NULL; in dma_rx_callback()
240 ret = k_mem_slab_alloc(stream->cfg.mem_slab, &stream->mem_block, in dma_rx_callback()
[all …]
Di2s_ll_stm32.c53 static int queue_get(struct ring_buf *rb, void **mem_block, size_t *size) in queue_get() argument
64 *mem_block = rb->buf[rb->tail].mem_block; in queue_get()
76 static int queue_put(struct ring_buf *rb, void *mem_block, size_t size) in queue_put() argument
92 rb->buf[rb->head].mem_block = mem_block; in queue_put()
344 __ASSERT_NO_MSG(stream->mem_block == NULL); in i2s_stm32_trigger()
436 static int i2s_stm32_read(const struct device *dev, void **mem_block, in i2s_stm32_read() argument
456 ret = queue_get(&dev_data->rx.mem_block_queue, mem_block, size); in i2s_stm32_read()
464 static int i2s_stm32_write(const struct device *dev, void *mem_block, in i2s_stm32_write() argument
483 return queue_put(&dev_data->tx.mem_block_queue, mem_block, size); in i2s_stm32_write()
572 __ASSERT_NO_MSG(stream->mem_block != NULL); in dma_rx_callback()
[all …]
Di2s_litex.c263 static int queue_get(struct ring_buf *rb, void **mem_block, size_t *size) in queue_get() argument
274 *mem_block = rb->buf[rb->tail].mem_block; in queue_get()
285 static int queue_put(struct ring_buf *rb, void *mem_block, size_t size) in queue_put() argument
301 rb->buf[rb->head].mem_block = mem_block; in queue_put()
429 static int i2s_litex_read(const struct device *dev, void **mem_block, in i2s_litex_read() argument
446 return queue_get(&dev_data->rx.mem_block_queue, mem_block, size); in i2s_litex_read()
449 static int i2s_litex_write(const struct device *dev, void *mem_block, in i2s_litex_write() argument
468 ret = queue_put(&dev_data->tx.mem_block_queue, mem_block, size); in i2s_litex_write()
505 __ASSERT_NO_MSG(stream->mem_block == NULL); in i2s_litex_trigger()
547 ret = k_mem_slab_alloc(stream->cfg.mem_slab, &stream->mem_block, in i2s_litex_isr_rx()
[all …]
Di2s_esp32.c45 void *mem_block; member
144 dst = stream->mem_block; in i2s_esp32_restart_dma()
147 src = stream->mem_block; in i2s_esp32_restart_dma()
196 dma_blk.dest_address = (uint32_t)stream->mem_block; in i2s_esp32_start_dma()
200 dma_blk.source_address = (uint32_t)stream->mem_block; in i2s_esp32_start_dma()
241 err = k_mem_slab_alloc(stream->i2s_cfg.mem_slab, &stream->mem_block, K_NO_WAIT); in i2s_esp32_rx_start_transfer()
276 stream->mem_block = item.buffer; in i2s_esp32_tx_start_transfer()
301 if (stream->mem_block != NULL) { in i2s_esp32_rx_stop_transfer()
302 k_mem_slab_free(stream->i2s_cfg.mem_slab, stream->mem_block); in i2s_esp32_rx_stop_transfer()
303 stream->mem_block = NULL; in i2s_esp32_rx_stop_transfer()
[all …]
Di2s_test.c28 static int vnd_i2s_read(const struct device *dev, void **mem_block, size_t *size) in vnd_i2s_read() argument
33 static int vnd_i2s_write(const struct device *dev, void *mem_block, size_t size) in vnd_i2s_write() argument
Di2s_ll_stm32.h11 void *mem_block; member
48 void *mem_block; member
Di2s_litex.h68 void *mem_block; member
85 void *mem_block; member
Di2s_nrfx.c24 void *mem_block; member
198 buffers->p_tx_buffer = buf.mem_block; in get_next_tx_buffer()
311 .mem_block = released->p_rx_buffer, in data_handler()
405 free_tx_buffer(drv_data, buf.mem_block); in purge_queue()
413 free_rx_buffer(drv_data, buf.mem_block); in purge_queue()
574 void **mem_block, size_t *size) in i2s_nrfx_read() argument
594 LOG_DBG("Released RX %p", buf.mem_block); in i2s_nrfx_read()
597 *mem_block = buf.mem_block; in i2s_nrfx_read()
605 void *mem_block, size_t size) in i2s_nrfx_write() argument
608 struct i2s_buf buf = { .mem_block = mem_block, .size = size }; in i2s_nrfx_write()
[all …]
Di2s_mcux_flexcomm.c45 void *mem_block; member
324 k_mem_slab_free(mem_slab, queue_entry.mem_block); in i2s_purge_stream_buffers()
478 ret = k_msgq_get(&stream->out_queue, &queue_entry.mem_block, K_NO_WAIT); in i2s_mcux_dma_tx_callback()
481 k_mem_slab_free(stream->cfg.mem_slab, queue_entry.mem_block); in i2s_mcux_dma_tx_callback()
502 (uint32_t *)queue_entry.mem_block, in i2s_mcux_dma_tx_callback()
504 k_msgq_put(&stream->out_queue, &queue_entry.mem_block, K_NO_WAIT); in i2s_mcux_dma_tx_callback()
614 (uint32_t *)queue_entry.mem_block, in i2s_mcux_tx_stream_start()
618 ret = k_msgq_put(&stream->out_queue, &queue_entry.mem_block, K_NO_WAIT); in i2s_mcux_tx_stream_start()
797 static int i2s_mcux_read(const struct device *dev, void **mem_block, in i2s_mcux_read() argument
821 *mem_block = buffer; in i2s_mcux_read()
[all …]
/Zephyr-latest/tests/subsys/portability/cmsis_rtos_v1/src/
Dmempool.c11 struct mem_block { struct
18 osPoolDef(MemPool, MAX_BLOCKS, struct mem_block); argument
30 struct mem_block *addr_list[MAX_BLOCKS + 1]; in ZTEST()
32 static struct mem_block zeroblock; in ZTEST()
38 addr_list[i] = (struct mem_block *)osPoolAlloc(mempool_id); in ZTEST()
45 addr_list[i] = (struct mem_block *)osPoolAlloc(mempool_id); in ZTEST()
55 addr_list[i] = (struct mem_block *)osPoolCAlloc(mempool_id); in ZTEST()
58 sizeof(struct mem_block)) == 0, in ZTEST()
/Zephyr-latest/tests/subsys/portability/cmsis_rtos_v2/src/
Dmempool.c14 struct mem_block { struct
19 static char __aligned(sizeof(void *)) sample_mem[sizeof(struct mem_block) * MAX_BLOCKS]; argument
26 .mp_size = sizeof(struct mem_block) * MAX_BLOCKS,
35 struct mem_block *addr_list[MAX_BLOCKS + 1]; in mempool_common_tests()
54 sizeof(struct mem_block), in mempool_common_tests()
64 addr_list[i] = (struct mem_block *)osMemoryPoolAlloc(mp_id, in mempool_common_tests()
78 addr_list[i] = (struct mem_block *)osMemoryPoolAlloc(mp_id, in mempool_common_tests()
107 mp_id = osMemoryPoolNew(MAX_BLOCKS, sizeof(struct mem_block), in ZTEST()
124 mp_id = osMemoryPoolNew(MAX_BLOCKS + 1, sizeof(struct mem_block), in ZTEST()
128 mp_id = osMemoryPoolNew(MAX_BLOCKS, sizeof(struct mem_block), in ZTEST()
/Zephyr-latest/include/zephyr/sys/
Dmem_blocks.h223 int sys_mem_blocks_alloc(sys_mem_blocks_t *mem_block, size_t count,
240 int sys_mem_blocks_alloc_contiguous(sys_mem_blocks_t *mem_block, size_t count,
259 int sys_mem_blocks_get(sys_mem_blocks_t *mem_block, void *in_block, size_t count);
271 int sys_mem_blocks_is_region_free(sys_mem_blocks_t *mem_block, void *in_block, size_t count);
287 int sys_mem_blocks_free(sys_mem_blocks_t *mem_block, size_t count,
303 int sys_mem_blocks_free_contiguous(sys_mem_blocks_t *mem_block, void *block, size_t count);
317 int sys_mem_blocks_runtime_stats_get(sys_mem_blocks_t *mem_block,
330 int sys_mem_blocks_runtime_stats_reset_max(sys_mem_blocks_t *mem_block);
/Zephyr-latest/tests/lib/mem_blocks/src/
Dmain.c59 static bool check_buffer_bound(sys_mem_blocks_t *mem_block, void *ptr) in check_buffer_bound() argument
63 start = mem_block->buffer; in check_buffer_bound()
64 end = start + (BIT(mem_block->info.blk_sz_shift) * in check_buffer_bound()
65 mem_block->info.num_blocks); in check_buffer_bound()
115 static void alloc_free(sys_mem_blocks_t *mem_block, in alloc_free() argument
123 if (mem_block == &mem_block_01) { in alloc_free()
126 } else if (mem_block == &mem_block_02) { in alloc_free()
138 ret = sys_mem_blocks_alloc(mem_block, 1, blocks[i]); in alloc_free()
142 zassert_true(check_buffer_bound(mem_block, blocks[i][0]), in alloc_free()
145 ret = sys_bitarray_test_bit(mem_block->bitmap, in alloc_free()
[all …]
/Zephyr-latest/samples/drivers/i2s/echo/src/
Dmain.c133 static void process_block_data(void *mem_block, uint32_t number_of_samples) in process_block_data() argument
139 int16_t *sample = &((int16_t *)mem_block)[i]; in process_block_data()
192 void *mem_block; in prepare_transfer() local
194 ret = k_mem_slab_alloc(&mem_slab, &mem_block, K_NO_WAIT); in prepare_transfer()
200 memset(mem_block, 0, BLOCK_SIZE); in prepare_transfer()
202 ret = i2s_write(i2s_dev_tx, mem_block, BLOCK_SIZE); in prepare_transfer()
302 void *mem_block; in main() local
306 ret = i2s_read(i2s_dev_rx, &mem_block, &block_size); in main()
312 process_block_data(mem_block, SAMPLES_PER_BLOCK); in main()
314 ret = i2s_write(i2s_dev_tx, mem_block, block_size); in main()
/Zephyr-latest/include/zephyr/drivers/
Di2s.h326 int (*read)(const struct device *dev, void **mem_block, size_t *size);
327 int (*write)(const struct device *dev, void *mem_block, size_t size);
418 static inline int i2s_read(const struct device *dev, void **mem_block, in i2s_read() argument
424 return api->read(dev, mem_block, size); in i2s_read()
479 static inline int i2s_write(const struct device *dev, void *mem_block, in i2s_write() argument
485 return api->write(dev, mem_block, size); in i2s_write()
/Zephyr-latest/samples/drivers/i2s/i2s_codec/src/
Dmain.c167 void *mem_block; in main() local
175 &mem_block, &block_size, TIMEOUT); in main()
182 &mem_block, Z_TIMEOUT_TICKS(TIMEOUT)); in main()
188 ret = i2s_write(i2s_dev_codec, mem_block, block_size); in main()
/Zephyr-latest/drivers/led_strip/
Dws2812_i2s.c74 void *mem_block; in ws2812_strip_update_rgb() local
78 ret = k_mem_slab_alloc(cfg->mem_slab, &mem_block, K_SECONDS(10)); in ws2812_strip_update_rgb()
83 tx_buf = (uint32_t *)mem_block; in ws2812_strip_update_rgb()
127 ret = i2s_write(cfg->dev, mem_block, cfg->tx_buf_bytes); in ws2812_strip_update_rgb()
129 k_mem_slab_free(cfg->mem_slab, mem_block); in ws2812_strip_update_rgb()
/Zephyr-latest/drivers/video/
Dvideo_common.c28 struct mem_block { struct
32 static struct mem_block video_block[CONFIG_VIDEO_BUFFER_POOL_NUM_MAX]; argument
37 struct mem_block *block; in video_buffer_aligned_alloc()
73 struct mem_block *block = NULL; in video_buffer_release()
/Zephyr-latest/tests/kernel/obj_core/obj_core_stats/src/
Dmain.c10 SYS_MEM_BLOCKS_DEFINE(mem_block, 32, 4, 16); /* Four 32 byte blocks */
388 status = k_obj_core_stats_enable(K_OBJ_CORE(&mem_block)); in ZTEST()
398 status = k_obj_core_stats_disable(K_OBJ_CORE(&mem_block)); in ZTEST()
410 status = k_obj_core_stats_raw(K_OBJ_CORE(&mem_block), &raw, in test_mem_block_raw()
437 status = k_obj_core_stats_query(K_OBJ_CORE(&mem_block), &query, in test_mem_block_query()
487 status = sys_mem_blocks_alloc(&mem_block, 1, &mem1); in ZTEST()
502 status = sys_mem_blocks_alloc(&mem_block, 1, &mem2); in ZTEST()
517 sys_mem_blocks_free(&mem_block, 1, &mem1); in ZTEST()
529 status = k_obj_core_stats_reset(K_OBJ_CORE(&mem_block)); in ZTEST()
539 sys_mem_blocks_free(&mem_block, 1, &mem2); in ZTEST()
/Zephyr-latest/tests/lib/mem_blocks/
DCMakeLists.txt5 project(mem_block) project
/Zephyr-latest/tests/lib/mem_blocks_stats/
DCMakeLists.txt5 project(mem_block) project
/Zephyr-latest/tests/kernel/mem_slab/mslab_stats/
DCMakeLists.txt5 project(mem_block) project

12