ESP-IDF
i2s_dma_t::desc
is only used within ESP-IDF.
Symbol previews are coming soon...
Symbols
loading...
Files
loading...
Summary
Syntax
Examples
References
Call Tree
Data Use
Class Tree
Override Tree
Implementations
Instances
Lifecycle
SourceVu
ESP-IDF Framework and Examples
ESP-IDF
i2s_dma_t::desc
i2s_dma_t::desc field
dma descriptor array
Syntax
Show:
Summary
Declaration
from
i2s_legacy.c:127
lldesc_t
*
*
desc
;
Examples
References
from
examples
Code
Location
Referrer
lldesc_t
*
*
desc
;
i2s_legacy.c:127
lldesc_t
*
*
desc
;
/*!< dma descriptor array */
i2s_private.h:125
i2s_hal_tx_start_link
(
&
(
handle
->
controller
->
hal
)
,
(
uint32_t
)
handle
->
dma
.
desc
[
0
]
)
;
i2s_common.c:134
i2s_tx_channel_start()
i2s_hal_rx_start_link
(
&
(
handle
->
controller
->
hal
)
,
(
uint32_t
)
handle
->
dma
.
desc
[
0
]
)
;
i2s_common.c:156
i2s_rx_channel_start()
if
(
!
handle
->
dma
.
desc
)
{
i2s_common.c:459
i2s_free_dma_desc()
if
(
handle
->
dma
.
desc
[
i
]
)
{
i2s_common.c:467
i2s_free_dma_desc()
free
(
handle
->
dma
.
desc
[
i
]
)
;
i2s_common.c:468
i2s_free_dma_desc()
handle
->
dma
.
desc
[
i
]
=
NULL
;
i2s_common.c:469
i2s_free_dma_desc()
if
(
handle
->
dma
.
desc
)
{
i2s_common.c:476
i2s_free_dma_desc()
free
(
handle
->
dma
.
desc
)
;
i2s_common.c:477
i2s_free_dma_desc()
handle
->
dma
.
desc
=
NULL
;
i2s_common.c:478
i2s_free_dma_desc()
handle
->
dma
.
desc
=
(
lldesc_t
*
*
)
heap_caps_calloc
(
num
,
sizeof
(
lldesc_t
*
)
,
I2S_MEM_ALLOC_CAPS
)
;
i2s_common.c:493
i2s_alloc_dma_desc()
ESP_GOTO_ON_FALSE
(
handle
->
dma
.
desc
,
ESP_ERR_NO_MEM
,
err
,
TAG
,
"create I2S DMA descriptor array failed"
)
;
i2s_common.c:494
i2s_alloc_dma_desc()
handle
->
dma
.
desc
[
i
]
=
(
lldesc_t
*
)
i2s_dma_calloc
(
handle
,
1
,
sizeof
(
lldesc_t
)
)
;
i2s_common.c:498
i2s_alloc_dma_desc()
ESP_GOTO_ON_FALSE
(
handle
->
dma
.
desc
[
i
]
,
ESP_ERR_NO_MEM
,
err
,
TAG
,
"allocate DMA description failed"
)
;
i2s_common.c:499
i2s_alloc_dma_desc()
handle
->
dma
.
desc
[
i
]
->
owner
=
1
;
i2s_common.c:500
i2s_alloc_dma_desc()
handle
->
dma
.
desc
[
i
]
->
eof
=
1
;
i2s_common.c:501
i2s_alloc_dma_desc()
handle
->
dma
.
desc
[
i
]
->
sosf
=
0
;
i2s_common.c:502
i2s_alloc_dma_desc()
handle
->
dma
.
desc
[
i
]
->
length
=
bufsize
;
i2s_common.c:503
i2s_alloc_dma_desc()
handle
->
dma
.
desc
[
i
]
->
size
=
bufsize
;
i2s_common.c:504
i2s_alloc_dma_desc()
handle
->
dma
.
desc
[
i
]
->
offset
=
0
;
i2s_common.c:505
i2s_alloc_dma_desc()
handle
->
dma
.
desc
[
i
]
->
buf
=
handle
->
dma
.
bufs
[
i
]
;
i2s_common.c:511
i2s_alloc_dma_desc()
ESP_LOGV
(
TAG
,
"desc addr: %8p\tbuffer addr:%8p"
,
handle
->
dma
.
desc
[
i
]
,
handle
->
dma
.
bufs
[
i
]
)
;
i2s_common.c:512
i2s_alloc_dma_desc()
STAILQ_NEXT
(
handle
->
dma
.
desc
[
i
]
,
qe
)
=
(
i
<
(
num
-
1
)
)
?
(
handle
->
dma
.
desc
[
i
+
1
]
)
:
handle
->
dma
.
desc
[
0
]
;
i2s_common.c:517
i2s_alloc_dma_desc()
if
(
handle
->
dma
.
desc
)
{
i2s_common.c:1070
i2s_del_channel()
tx_handle
->
dma
.
curr_desc
=
tx_handle
->
dma
.
desc
[
0
]
;
i2s_common.c:1229
i2s_channel_preload_data()
tx_handle
->
dma
.
curr_ptr
=
(
void
*
)
tx_handle
->
dma
.
desc
[
0
]
->
buf
;
i2s_common.c:1230
i2s_channel_preload_data()
if
(
STAILQ_NEXT
(
(
lldesc_t
*
)
tx_handle
->
dma
.
curr_desc
,
qe
)
!=
tx_handle
->
dma
.
desc
[
0
]
)
{
i2s_common.c:1256
i2s_channel_preload_data()
i2s_hal_tx_start_link
(
&
(
p_i2s
[
i2s_num
]
->
hal
)
,
(
uint32_t
)
p_i2s
[
i2s_num
]
->
tx
->
desc
[
0
]
)
;
i2s_legacy.c:434
i2s_tx_start()
i2s_hal_rx_start_link
(
&
(
p_i2s
[
i2s_num
]
->
hal
)
,
(
uint32_t
)
p_i2s
[
i2s_num
]
->
rx
->
desc
[
0
]
)
;
i2s_legacy.c:446
i2s_rx_start()
if
(
dma_obj
->
desc
&&
dma_obj
->
desc
[
cnt
]
)
{
i2s_legacy.c:565
i2s_delete_dma_buffer()
free
(
dma_obj
->
desc
[
cnt
]
)
;
i2s_legacy.c:566
i2s_delete_dma_buffer()
dma_obj
->
desc
[
cnt
]
=
NULL
;
i2s_legacy.c:567
i2s_delete_dma_buffer()
dma_obj
->
desc
[
cnt
]
=
heap_caps_aligned_calloc
(
4
,
1
,
sizeof
(
lldesc_t
)
,
MALLOC_CAP_DMA
|
MALLOC_CAP_INTERNAL
|
MALLOC_CAP_8BIT
)
;
i2s_legacy.c:593
i2s_alloc_dma_buffer()
ESP_GOTO_ON_FALSE
(
dma_obj
->
desc
[
cnt
]
,
ESP_ERR_NO_MEM
,
err
,
TAG
,
"Error malloc dma description entry"
)
;
i2s_legacy.c:594
i2s_alloc_dma_buffer()
dma_obj
->
desc
[
cnt
]
->
owner
=
1
;
i2s_legacy.c:599
i2s_alloc_dma_buffer()
dma_obj
->
desc
[
cnt
]
->
eof
=
1
;
i2s_legacy.c:600
i2s_alloc_dma_buffer()
dma_obj
->
desc
[
cnt
]
->
sosf
=
0
;
i2s_legacy.c:601
i2s_alloc_dma_buffer()
dma_obj
->
desc
[
cnt
]
->
length
=
dma_obj
->
buf_size
;
i2s_legacy.c:602
i2s_alloc_dma_buffer()
dma_obj
->
desc
[
cnt
]
->
size
=
dma_obj
->
buf_size
;
i2s_legacy.c:603
i2s_alloc_dma_buffer()
dma_obj
->
desc
[
cnt
]
->
buf
=
(
uint8_t
*
)
dma_obj
->
buf
[
cnt
]
;
i2s_legacy.c:604
i2s_alloc_dma_buffer()
dma_obj
->
desc
[
cnt
]
->
offset
=
0
;
i2s_legacy.c:605
i2s_alloc_dma_buffer()
dma_obj
->
desc
[
cnt
]
->
empty
=
(
uint32_t
)
(
(
cnt
<
(
buf_cnt
-
1
)
)
?
(
dma_obj
->
desc
[
cnt
+
1
]
)
:
dma_obj
->
desc
[
0
]
)
;
i2s_legacy.c:607
i2s_alloc_dma_buffer()
if
(
(
*
dma
)
->
desc
)
{
i2s_legacy.c:645
i2s_destroy_dma_object()
free
(
(
*
dma
)
->
desc
)
;
i2s_legacy.c:646
i2s_destroy_dma_object()
(
*
dma
)
->
desc
=
NULL
;
i2s_legacy.c:647
i2s_destroy_dma_object()
(
*
dma
)
->
desc
=
(
lldesc_t
*
*
)
heap_caps_calloc
(
buf_cnt
,
sizeof
(
lldesc_t
*
)
,
MALLOC_CAP_DMA
)
;
i2s_legacy.c:679
i2s_create_dma_object()
if
(
!
(
*
dma
)
->
desc
)
{
i2s_legacy.c:680
i2s_create_dma_object()
Call Tree
from
examples
All items filtered out
All items filtered out
Data Use
from
examples
i2s_dma_t::desc
is written by 4 functions and is read by 12 functions:
i2s_destroy_dma_object()
i2s_create_dma_object()
i2s_free_dma_desc()
i2s_alloc_dma_desc()
All items filtered out
i2s_dma_t::desc
i2s_tx_start()
i2s_rx_start()
i2s_delete_dma_buffer()
i2s_alloc_dma_buffer()
i2s_destroy_dma_object()
i2s_create_dma_object()
i2s_tx_channel_start()
i2s_rx_channel_start()
i2s_free_dma_desc()
i2s_alloc_dma_desc()
i2s_del_channel()
i2s_channel_preload_data()
All items filtered out
Class Tree
from
examples
All items filtered out
All items filtered out
Override Tree
from
examples
All items filtered out
All items filtered out
Implementations
from
examples
All items filtered out
All items filtered out
Instances
from
examples
Lifecycle
from
examples
All items filtered out
All items filtered out