diff --git a/drivers/display/display_stm32_ltdc.c b/drivers/display/display_stm32_ltdc.c index e1e6ab82604b..de40b25defab 100644 --- a/drivers/display/display_stm32_ltdc.c +++ b/drivers/display/display_stm32_ltdc.c @@ -223,8 +223,13 @@ static int stm32_ltdc_write(const struct device *dev, const uint16_t x, data->pend_buf = pend_buf; + __HAL_LTDC_CLEAR_FLAG(&data->hltdc, LTDC_FLAG_LI); + __HAL_LTDC_ENABLE_IT(&data->hltdc, LTDC_IT_LI); + k_sem_take(&data->sem, K_FOREVER); + __HAL_LTDC_DISABLE_IT(&data->hltdc, LTDC_IT_LI); + return 0; } @@ -479,7 +484,6 @@ static int stm32_ltdc_init(const struct device *dev) LTDC->LIPCR = 0U; __HAL_LTDC_CLEAR_FLAG(&data->hltdc, LTDC_FLAG_LI); - __HAL_LTDC_ENABLE_IT(&data->hltdc, LTDC_IT_LI); return 0; }