0752-video-da8xx-fb-fix-defect-with-vsync-callback-invoca.patch 1.4 KB

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