drivers: dma: irq handler of the dma_stm32
define the irq handler in case of DMA V1 or V2, for the stm32x soc series with DMA V1 raise Fifo Error if enabled with V2, handle the Global Interrupt Signed-off-by: Francois Ramu <francois.ramu@st.com> Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
This commit is contained in:
parent
e135bba72e
commit
60644a3e2c
3 changed files with 10 additions and 7 deletions
|
@ -16,7 +16,7 @@ struct dma_stm32_stream {
|
|||
bool busy;
|
||||
u32_t src_size;
|
||||
u32_t dst_size;
|
||||
void *callback_arg;
|
||||
void *callback_arg; /* holds the client data */
|
||||
void (*dma_callback)(void *arg, u32_t id,
|
||||
int error_code);
|
||||
};
|
||||
|
@ -47,6 +47,10 @@ extern u32_t (*func_ll_is_active_tc[])(DMA_TypeDef *DMAx);
|
|||
extern void (*func_ll_clear_tc[])(DMA_TypeDef *DMAx);
|
||||
extern u32_t (*func_ll_is_active_ht[])(DMA_TypeDef *DMAx);
|
||||
extern void (*func_ll_clear_ht[])(DMA_TypeDef *DMAx);
|
||||
#ifdef CONFIG_DMA_STM32_V2
|
||||
extern u32_t (*func_ll_is_active_gi[])(DMA_TypeDef *DMAx);
|
||||
extern void (*func_ll_clear_gi[])(DMA_TypeDef *DMAx);
|
||||
#endif
|
||||
#ifdef CONFIG_DMA_STM32_V1
|
||||
extern u32_t table_ll_channel[];
|
||||
#endif
|
||||
|
@ -58,6 +62,7 @@ bool stm32_dma_is_unexpected_irq_happened(DMA_TypeDef *dma, u32_t id);
|
|||
void stm32_dma_enable_stream(DMA_TypeDef *dma, u32_t id);
|
||||
int stm32_dma_disable_stream(DMA_TypeDef *dma, u32_t id);
|
||||
void stm32_dma_config_channel_function(DMA_TypeDef *dma, u32_t id, u32_t slot);
|
||||
|
||||
#ifdef CONFIG_DMA_STM32_V1
|
||||
void stm32_dma_disable_fifo_irq(DMA_TypeDef *dma, u32_t id);
|
||||
bool stm32_dma_check_fifo_mburst(LL_DMA_InitTypeDef *DMAx);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue