[PATCH v4 0/1] drm: Support framebuffer panning

Maxime Ripard maxime.ripard at free-electrons.com
Tue Feb 28 15:36:50 UTC 2017


Hi,

This is a respin of the previous serie called "Support fast framebuffer
panning for i.MX6" made by Stefan 6 monthes ago. The imx6 bits have been
removed, and the comments that were made at that time fixed (hopefully).

Let me know what you think,
Maxime

Changes from v3:
  - Dropped the overallocation patch that has been applied
  - Change authorship of the second patch as suggested by Stefan, the
    original author
  - Only consider the first CRTC and ignore the ioctl argument

Changes from v2:
  - Renamed the CONFIG_DRM_CMA_FBDEV_BUFFER_NUM to
    CONFIG_DRM_FBDEV_OVERALLOC, and changed it for a percentage
  - Moved the overallocation code into the core fbdev helpers to not rely
    on CMA anymore
  - Changed the locks taken by drm_fb_helper_ioctl to the mode_config mutex
    intead of calling drm_modeset_lock_all
  - Don't test against drm_crtc's enabled anymore, but rely on the error
    code of drm_crtc_vblank_get instead
  - Defined drm_fb_helper_ioctl when DRM_FBDEV_EMULATION is not set in
    order to fix a compilation error
  - Don't wait for all CRTC's vblank but only the one given in the ioctl
    argument

Changes from v1:
  - Added drm_fb_helper_ioctl to DRM_FB_HELPER_DEFAULT_OPS
  - Expanded a bit the kerneldoc for drm_fb_helper_ioctl
  - Added some locking to drm_fb_helper_ioctl
  - Checked that the framebuffer is indeed attached before allowing ioctl
  - Added a module parameter to specify the number of framebuffers to
    allocate

Initial cover letter: Support fast framebuffer panning for i.MX6

im currently working on supporting double/tripple buffering for the
framebuffer emulation on the i.MX6.  While working on it I noticed that the
mainline kernel does not support some features in the generic drm
framebuffer emulation for framebuffer panning and vsync synchronisation.
They are needed for simple framebuffer applications and some OpenGL
libraries using double buffering with FBIOPUT_VSCREENINFO,
FBIO_WAITFORVSYNC and FBIOPAN_DISPLAY.

Maxime Ripard (1):
  drm/fb-helper: implement ioctl FBIO_WAITFORVSYNC

 drivers/gpu/drm/drm_fb_helper.c | 68 ++++++++++++++++++++++++++++++++++-
 include/drm/drm_fb_helper.h     | 12 +++++-
 2 files changed, 79 insertions(+), 1 deletion(-)

base-commit: 075ffb50cc16ab055b5d47b30163401bb356ab51
-- 
git-series 0.8.11


More information about the dri-devel mailing list