39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
From c99bd415829ef29adf71bb1e1b577650f10e93f5 Mon Sep 17 00:00:00 2001
|
|
From: Darren Etheridge <detheridge@ti.com>
|
|
Date: Mon, 4 Nov 2013 12:27:40 -0600
|
|
Subject: [PATCH 752/752] video/da8xx-fb fix defect with vsync callback
|
|
invocation
|
|
|
|
Fix defect where SGX is running at half of the expected framerate.
|
|
The original patch (@ commit ID 9a1a810516ae9cb3259b898b6879901c5b44fa90)
|
|
seems to have a mistake where it only calls the callback
|
|
for the even or the odd frames depending on the revision of the LCD controller
|
|
This patch corrects this and invokes the callback for both odd and even frame
|
|
for just the Rev02 version of the LCDC (won't find an SGX GPU on a Rev01).
|
|
|
|
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
|
---
|
|
drivers/video/fbdev/da8xx-fb.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/video/fbdev/da8xx-fb.c
|
|
+++ b/drivers/video/fbdev/da8xx-fb.c
|
|
@@ -909,6 +909,8 @@ static irqreturn_t lcdc_irq_handler_rev0
|
|
LCD_DMA_FRM_BUF_CEILING_ADDR_1_REG);
|
|
par->vsync_flag = 1;
|
|
wake_up_interruptible(&par->vsync_wait);
|
|
+ if (vsync_cb_handler)
|
|
+ vsync_cb_handler(vsync_cb_arg);
|
|
}
|
|
|
|
/* Set only when controller is disabled and at the end of
|
|
@@ -974,8 +976,6 @@ static irqreturn_t lcdc_irq_handler_rev0
|
|
LCD_DMA_FRM_BUF_CEILING_ADDR_1_REG);
|
|
par->vsync_flag = 1;
|
|
wake_up_interruptible(&par->vsync_wait);
|
|
- if (vsync_cb_handler)
|
|
- vsync_cb_handler(vsync_cb_arg);
|
|
}
|
|
}
|
|
|