I think the problem is solved.
I have tested many cases, all of them are working properly with dma.
So the solutionn is :
static lv_disp_drv_t * disp_p;
static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)
LCD_Send_Data_DMA(area->x1, area->y1, area->x2, area->y2, (uint8_t *)color_p);
disp_p = disp_drv;
void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)
I have pushed the code to github. under branch of baremental.
Thank for all of you !! @kisvegabor @embeddedt