Skip to content

video: deferred io fixes and sh_mobile_lcdcfb support

Magnus Damm linux-fbdev linux-sh 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 8 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5video: fix deferred io fsync()drivers/video/fb_defio.c+4 -01 reply
2/5video: deferred io cleanupdrivers/video/fb_defio.c+3 -01 reply
3/5video: deferred io with physically contiguous memorydrivers/video/fb_defio.c+15 -52 replies
4/5video: sh_mobile_lcdcfb deferred io supportdrivers/video/Kconfig drivers/video/sh_mobile_lcdcfb.c include/video/sh_mobile_lcdc.h+150 -220 replies
5/5sh: enable deferred io LCDC on Migo-Rarch/sh/boards/mach-migor/setup.c+2 -00 replies

Reviews trailers per patch

3 of 5 patches have a Reviewed-by or Acked-by.

PatchJaya Kumar
1/5A-b
2/5A-b
3/5A-b
4/5
5/5

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/05] video: deferred io fixes and sh_mobile_lcdcfb support

video: deferred io fixes and sh_mobile_lcdcfb support

[PATCH 01/05] video: fix deferred io fsync()
[PATCH 02/05] video: deferred io cleanup
[PATCH 03/05] video: deferred io with physically contiguous memory [PATCH 04/05] video: sh_mobile_lcdcfb deferred io support [PATCH 05/05] sh: enable deferred io LCDC on Migo-R

This patchset adds deferred io support to sh_mobile_lcdcfb.

The LCDC hardware block managed by the sh_mobile_lcdcfb driver supports RGB or SYS panel configurations. SYS panels come with an external display controller that is resposible for refreshing the actual LCD panel. RGB panels are controlled directly by the LCDC and they need to be refreshed by the LCDC hardware.

In the case of SYS panels we can save some power by configuring the LCDC hardware block in one-shot mode. In this one-shot mode panel refresh is managed by software. This works well together with deferred io since it allows us to stop clocks for most of the time and only enable clocks when we actually want to trigger an update. When there is no fbdev activity the clocks are kept stopped which allows us to deep sleep.

May I suggest merging the first 3 patches with other framebuffer changes, but handling patch 4 and 5 with other SuperH changes? That strategy should be fine since there are no compile time dependencies. To keep things running please apply patch number 5 when all other changes are in.

---

 arch/sh/boards/mach-migor/setup.c |    2 
 drivers/video/Kconfig             |    1 
 drivers/video/fb_defio.c          |   27 ++++-
 drivers/video/sh_mobile_lcdcfb.c  |  170 ++++++++++++++++++++++++++++++++-----
 include/video/sh_mobile_lcdc.h    |    1 
 5 files changed, 174 insertions(+), 27 deletions(-)