[PATCH 0/3] Support fast framebuffer panning for i.MX6

2016-07-15 Thread Daniel Vetter
On Thu, Jul 14, 2016 at 05:11:38PM +0200, Stefan Christ wrote:
> Hi Daniel,
> 
> On Wed, Jul 13, 2016 at 12:00:07PM +0200, Daniel Vetter wrote:
> > On Wed, Jul 13, 2016 at 10:11:45AM +0200, Stefan Christ wrote:
> > > Hi,
> > > 
> > > 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.
> > > 
> > > Any comments?
> > 
> > Don't ever do OpenGL on fbdev. Ever. The fbdev emulation we have is to
> > support boot splashs, kernel console, oopses and legacy applications that
> > just love fbdev too much and don't support native kms dumb buffers.
> > 
> > Anything that goes beyond kms dumb buffers (like displaying buffers
> > rendered through opengl) is imo a complete no-go. Yes Android loves to do
> > that, but for upstream we need a proper drm render driver, buffer sharing
> > through prime and the userspace hwcomposer needs to use native drm kms
> > ioctls. Also, userspace (especially the opengl part) needs to be open
> > source for upstream.
> 
> Yeah, these closed libraries are kind of ugly, but implementing these features
> maybe interesting for legacy framebuffer applications that do double buffering
> via panning.
> 
> Thanks for the comments. I totally overlooked the dpms/blank and locking 
> issue.
> I will work through them and send v2 patches.

In case it wasn't obvious: Don't sell this with "makes blob opengl drivers
work". Find some old userspace that uses raw fbdev, sell this patch series
using that one ;-)
-Daniel

> 
> Mit freundlichen Grüßen / Kind regards,
>   Stefan Christ
> 
> > 
> > Thanks, Daniel
> > > 
> > > Kind regards,
> > >   Stefan Christ
> > > 
> > > Stefan Christ (2):
> > >   drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC
> > >   drm/imx: ipuv3-crtc: implement fast path mode_set_base
> > > 
> > > Xinliang Liu (1):
> > >   drm/cma-helper: Add multi buffer support for cma fbdev
> > > 
> > >  drivers/gpu/drm/Kconfig |  8 +++
> > >  drivers/gpu/drm/drm_fb_cma_helper.c |  9 +++-
> > >  drivers/gpu/drm/drm_fb_helper.c | 43 
> > > +
> > >  drivers/gpu/drm/imx/ipuv3-crtc.c| 10 +
> > >  include/drm/drm_fb_helper.h |  2 ++
> > >  5 files changed, 71 insertions(+), 1 deletion(-)
> > > 
> > > -- 
> > > 1.9.1
> > > 
> > > ___
> > > dri-devel mailing list
> > > dri-devel at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> > 
> > -- 
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


[PATCH 0/3] Support fast framebuffer panning for i.MX6

2016-07-14 Thread Stefan Christ
Hi Daniel,

On Wed, Jul 13, 2016 at 12:00:07PM +0200, Daniel Vetter wrote:
> On Wed, Jul 13, 2016 at 10:11:45AM +0200, Stefan Christ wrote:
> > Hi,
> > 
> > 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.
> > 
> > Any comments?
> 
> Don't ever do OpenGL on fbdev. Ever. The fbdev emulation we have is to
> support boot splashs, kernel console, oopses and legacy applications that
> just love fbdev too much and don't support native kms dumb buffers.
> 
> Anything that goes beyond kms dumb buffers (like displaying buffers
> rendered through opengl) is imo a complete no-go. Yes Android loves to do
> that, but for upstream we need a proper drm render driver, buffer sharing
> through prime and the userspace hwcomposer needs to use native drm kms
> ioctls. Also, userspace (especially the opengl part) needs to be open
> source for upstream.

Yeah, these closed libraries are kind of ugly, but implementing these features
maybe interesting for legacy framebuffer applications that do double buffering
via panning.

Thanks for the comments. I totally overlooked the dpms/blank and locking issue.
I will work through them and send v2 patches.

Mit freundlichen Grüßen / Kind regards,
Stefan Christ

> 
> Thanks, Daniel
> > 
> > Kind regards,
> > Stefan Christ
> > 
> > Stefan Christ (2):
> >   drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC
> >   drm/imx: ipuv3-crtc: implement fast path mode_set_base
> > 
> > Xinliang Liu (1):
> >   drm/cma-helper: Add multi buffer support for cma fbdev
> > 
> >  drivers/gpu/drm/Kconfig |  8 +++
> >  drivers/gpu/drm/drm_fb_cma_helper.c |  9 +++-
> >  drivers/gpu/drm/drm_fb_helper.c | 43 
> > +
> >  drivers/gpu/drm/imx/ipuv3-crtc.c| 10 +
> >  include/drm/drm_fb_helper.h |  2 ++
> >  5 files changed, 71 insertions(+), 1 deletion(-)
> > 
> > -- 
> > 1.9.1
> > 
> > ___
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch


[PATCH 0/3] Support fast framebuffer panning for i.MX6

2016-07-13 Thread Daniel Vetter
On Wed, Jul 13, 2016 at 10:11:45AM +0200, Stefan Christ wrote:
> Hi,
> 
> 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.
> 
> Any comments?

Don't ever do OpenGL on fbdev. Ever. The fbdev emulation we have is to
support boot splashs, kernel console, oopses and legacy applications that
just love fbdev too much and don't support native kms dumb buffers.

Anything that goes beyond kms dumb buffers (like displaying buffers
rendered through opengl) is imo a complete no-go. Yes Android loves to do
that, but for upstream we need a proper drm render driver, buffer sharing
through prime and the userspace hwcomposer needs to use native drm kms
ioctls. Also, userspace (especially the opengl part) needs to be open
source for upstream.

Thanks, Daniel
> 
> Kind regards,
>   Stefan Christ
> 
> Stefan Christ (2):
>   drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC
>   drm/imx: ipuv3-crtc: implement fast path mode_set_base
> 
> Xinliang Liu (1):
>   drm/cma-helper: Add multi buffer support for cma fbdev
> 
>  drivers/gpu/drm/Kconfig |  8 +++
>  drivers/gpu/drm/drm_fb_cma_helper.c |  9 +++-
>  drivers/gpu/drm/drm_fb_helper.c | 43 
> +
>  drivers/gpu/drm/imx/ipuv3-crtc.c| 10 +
>  include/drm/drm_fb_helper.h |  2 ++
>  5 files changed, 71 insertions(+), 1 deletion(-)
> 
> -- 
> 1.9.1
> 
> ___
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


[PATCH 0/3] Support fast framebuffer panning for i.MX6

2016-07-13 Thread Stefan Christ
Hi,

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.

Any comments?

Kind regards,
Stefan Christ

Stefan Christ (2):
  drm: fb_helper: implement ioctl FBIO_WAITFORVSYNC
  drm/imx: ipuv3-crtc: implement fast path mode_set_base

Xinliang Liu (1):
  drm/cma-helper: Add multi buffer support for cma fbdev

 drivers/gpu/drm/Kconfig |  8 +++
 drivers/gpu/drm/drm_fb_cma_helper.c |  9 +++-
 drivers/gpu/drm/drm_fb_helper.c | 43 +
 drivers/gpu/drm/imx/ipuv3-crtc.c| 10 +
 include/drm/drm_fb_helper.h |  2 ++
 5 files changed, 71 insertions(+), 1 deletion(-)

-- 
1.9.1