Screen freeze and not updating

I have a problem with STM32F469 using lvgl, the screen is freeze in the first frame. idk what to do i already include the lv_tick_init() in the interrupt, lt_timer_handler() already in while(1), please let me know if you have a suggestion or solution. this is my flush

static void tft_flush(lv_disp_drv_t *drv, const lv_area_t *area, lv_color_t *color_p)
{
	/*Return if the area is out the screen*/
	if(area->x2 < 0) return;
	if(area->y2 < 0) return;
	if(area->x1 > TFT_HOR_RES - 1) return;
	if(area->y1 > TFT_VER_RES - 1) return;

	/*Truncate the area to the screen*/
	int32_t act_x1 = area->x1 < 0 ? 0 : area->x1;
	int32_t act_y1 = area->y1 < 0 ? 0 : area->y1;
	int32_t act_x2 = area->x2 > TFT_HOR_RES - 1 ? TFT_HOR_RES - 1 : area->x2;
	int32_t act_y2 = area->y2 > TFT_VER_RES - 1 ? TFT_VER_RES - 1 : area->y2;

	x1_flush = act_x1;
	y1_flush = act_y1;
	x2_flush = act_x2;
	y2_fill = act_y2;
	y_fill_act = act_y1;
	buf_to_flush = color_p;

	  /*##-7- Start the DMA transfer using the interrupt mode #*/
	  /* Configure the source, destination and buffer size DMA fields and Start DMA Stream transfer */
	  /* Enable All the DMA interrupts */
	HAL_StatusTypeDef err;
	err = HAL_DMA_Start_IT(&DmaHandle,(uint32_t)buf_to_flush, (uint32_t)&my_fb[y_fill_act * TFT_HOR_RES + x1_flush],
			  (x2_flush - x1_flush + 1));
				
	if(err != HAL_OK)
	{
		while(1);	/*Halt on error*/
	}
	
	lv_disp_flush_ready(drv);
}

lv_tick_init in interrupt???
looks wrong.

add lv_tick_inc(1); to systick handler in interrupts file (if u are using cube)

void SysTick_Handler(void)
{
  /* USER CODE BEGIN SysTick_IRQn 0 */

  /* USER CODE END SysTick_IRQn 0 */
  HAL_IncTick();
  /* USER CODE BEGIN SysTick_IRQn 1 */
  lv_tick_inc(1);
  /* USER CODE END SysTick_IRQn 1 */
}

and in while section add
lv_timer_handler();

also u need to figure out what causes freezing.

  1. set breakpoint to tft flush method
    if it calls periodically and code runs to dma call - then u need to check why ur dma not sending data to lcd.
    if tft flush not calling - then lvgl not working properly. but i think its a dma problem

then if its dma problem - u need to write another transmit method that works without dma - and when u get good looking picture on lcd u can debug dma.