aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/da8xx-fb.c11
-rw-r--r--include/video/da8xx-fb.h3
2 files changed, 10 insertions, 4 deletions
diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index 6b7f2da6f907..6f0fb2d50c28 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -353,8 +353,8 @@ static void lcd_blit(int load_mode, struct da8xx_fb_par *par)
353 lcd_enable_raster(); 353 lcd_enable_raster();
354} 354}
355 355
356/* Configure the Burst Size of DMA */ 356/* Configure the Burst Size and fifo threhold of DMA */
357static int lcd_cfg_dma(int burst_size) 357static int lcd_cfg_dma(int burst_size, int fifo_th)
358{ 358{
359 u32 reg; 359 u32 reg;
360 360
@@ -378,6 +378,9 @@ static int lcd_cfg_dma(int burst_size)
378 default: 378 default:
379 return -EINVAL; 379 return -EINVAL;
380 } 380 }
381
382 reg |= (fifo_th << 8);
383
381 lcdc_write(reg, LCD_DMA_CTRL_REG); 384 lcdc_write(reg, LCD_DMA_CTRL_REG);
382 385
383 return 0; 386 return 0;
@@ -679,8 +682,8 @@ static int lcd_init(struct da8xx_fb_par *par, const struct lcd_ctrl_config *cfg,
679 lcdc_write((lcdc_read(LCD_RASTER_TIMING_2_REG) & 682 lcdc_write((lcdc_read(LCD_RASTER_TIMING_2_REG) &
680 ~LCD_INVERT_PIXEL_CLOCK), LCD_RASTER_TIMING_2_REG); 683 ~LCD_INVERT_PIXEL_CLOCK), LCD_RASTER_TIMING_2_REG);
681 684
682 /* Configure the DMA burst size. */ 685 /* Configure the DMA burst size and fifo threshold. */
683 ret = lcd_cfg_dma(cfg->dma_burst_sz); 686 ret = lcd_cfg_dma(cfg->dma_burst_sz, cfg->fifo_th);
684 if (ret < 0) 687 if (ret < 0)
685 return ret; 688 return ret;
686 689
diff --git a/include/video/da8xx-fb.h b/include/video/da8xx-fb.h
index 89d43b3d4cb9..5a0e4f9efb53 100644
--- a/include/video/da8xx-fb.h
+++ b/include/video/da8xx-fb.h
@@ -82,6 +82,9 @@ struct lcd_ctrl_config {
82 82
83 /* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */ 83 /* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */
84 unsigned char raster_order; 84 unsigned char raster_order;
85
86 /* DMA FIFO threshold */
87 int fifo_th;
85}; 88};
86 89
87struct lcd_sync_arg { 90struct lcd_sync_arg {