linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: David Herrmann <dh.herrmann@gmail.com>
Cc: "Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ti.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Noralf Trønnes" <noralf@tronnes.org>,
	"Sudip Mukherjee" <sudipm.mukherjee@gmail.com>,
	"Teddy Wang" <teddy.wang@siliconmotion.com>,
	"Arnaud Patard" <arnaud.patard@rtp-net.org>,
	"DRI Development" <dri-devel@lists.freedesktop.org>,
	"Linux Fbdev development list" <linux-fbdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH 0/3] staging: remove fbdev drivers
Date: Fri, 9 Dec 2016 15:04:56 +0100	[thread overview]
Message-ID: <20161209140456.7ltqgd4fgg5tykoh@phenom.ffwll.local> (raw)
In-Reply-To: <CANq1E4S51c-fwJMN2P9MnhuErANvwfy41W2WBSSXrFPS3DXPkg@mail.gmail.com>

On Fri, Dec 09, 2016 at 02:57:24PM +0100, David Herrmann wrote:
> Hey
> 
> On Fri, Dec 9, 2016 at 2:33 PM, Daniel Vetter <daniel@ffwll.ch> wrote:
> >> > So it is possible, only reason vram dumb buffers look worse is that there's
> >> > only 3 and no one cares about them, vs about 20 and a very active community
> >> > of contributors (also for core drm improvements) for the other case.
> >>
> >> Well, we could move offb to drm while at it I suppose that would be another
> >> one (offb is the "dumb driver based on pre-programmed output by firmware).
> >
> > One of the still in-flight drm drivers is the simpledrm thing meant for
> > all kinds of firmware drivers like efifb and similar things on arm for
> > pre-programmed output set up by firmware. I.e. no modeset support and
> > otherwise a lot of fake to make it work as drm driver, but the idea that
> > it's good enough until your real drm driver takes over.
> 
> The x86 platform device fixups for SimpleDRM went in some weeks ago,
> so maybe I should resend the patches. The driver could easily do
> 'offb'-like devices as well. Trivial to add.
> 
> Anyway, Benjamin is right, we always do shadow buffering for trivial
> drivers. Even in SimpleDRM I blit the shadow buffer on page-flip or
> dirty-ioctl. Reason is that we cannot easily expose the real
> framebuffer in DRM via FB-objects. But I also never saw a use-case for
> it, since all trivial devices I worked with were only either used as
> fallback or nobody cared for performance.
> 
> The generic DRM API is designed for dynamic FB allocation. If your
> hardware does not allow you to change the scanout source, you will
> have a hard time trying to expose the static buffers via the dynamic
> FB-object API. Furthermore, all DRM user-space expects dynamic FB
> management to work, preferably without a ridiculously low memory
> limit. That's also why I never bothered changing the drivers.
> 
> Despite all of this I still see no reason why a driver could not
> expose the static, real frambuffers via private ioctls. You can get
> all your fancy acceleration that way. Then fix user-space to use this
> API. If enough drivers end up with something similar, move it into the
> core. Just like we always do in DRM.

Well, we don't need a private abi. If we dynamically remap the mmaps and
fixup fbdev to do the same then we could redirect frontbuffer rendering
for the currently displaying buffer to the static, real framebuffer. That
would fix the perf issues Ben is fearing I think.

And if we do some nice ttm helpers to hide this all to the level the cma
helpers are just plug-in-and-go then it'd be real nice I think. But thus
far no one has cared enough yet to make that happen.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

  reply	other threads:[~2016-12-09 14:04 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-23  8:03 [RFC PATCH 0/3] staging: remove fbdev drivers Tomi Valkeinen
2016-11-23  8:03 ` [RFC PATCH 1/3] staging: remove xgifb Tomi Valkeinen
2016-11-23  8:03 ` [RFC PATCH 2/3] staging: remove sm750fb Tomi Valkeinen
2016-11-23  8:03 ` [RFC PATCH 3/3] staging: remove fbtft Tomi Valkeinen
2016-11-23 17:26   ` Noralf Trønnes
2016-11-24  8:36     ` Tomi Valkeinen
2016-11-23 20:12   ` Drew Fustini
2016-11-23  8:19 ` [RFC PATCH 0/3] staging: remove fbdev drivers Daniel Vetter
2016-11-23  8:21   ` Tomi Valkeinen
2016-11-23  8:25   ` Geert Uytterhoeven
2016-11-23  8:45     ` Daniel Vetter
2016-11-23  8:52 ` Greg Kroah-Hartman
2016-11-23  9:12   ` Tomi Valkeinen
2016-11-23  9:49     ` Greg Kroah-Hartman
2016-11-23 10:05     ` Thomas Petazzoni
2016-12-22 20:36       ` Andy Shevchenko
2016-12-08 22:00     ` Sudip Mukherjee
2016-12-08  1:01 ` Benjamin Herrenschmidt
2016-12-08  8:01   ` Tomi Valkeinen
2016-12-08 21:23     ` Benjamin Herrenschmidt
2016-12-08 21:43       ` Benjamin Herrenschmidt
2016-12-09  8:13         ` Daniel Vetter
2016-12-13  7:36       ` Gerd Hoffmann
2016-12-08 10:10   ` Daniel Vetter
2016-12-08 12:15     ` Geert Uytterhoeven
2016-12-08 14:02       ` Daniel Vetter
2016-12-08 14:22         ` Geert Uytterhoeven
2016-12-08 14:37           ` Thomas Petazzoni
2016-12-08 14:44             ` Geert Uytterhoeven
2016-12-08 15:21               ` Daniel Vetter
2016-12-08 21:34                 ` Benjamin Herrenschmidt
2016-12-08 21:57                   ` Benjamin Herrenschmidt
2016-12-09  8:34                     ` Daniel Vetter
2016-12-09  8:41                       ` Daniel Vetter
2016-12-09 11:48                         ` Benjamin Herrenschmidt
2016-12-09 13:35                           ` Daniel Vetter
2016-12-09 20:27                             ` Benjamin Herrenschmidt
2016-12-13  7:18                               ` Michel Dänzer
2016-12-09 11:44                       ` Benjamin Herrenschmidt
2016-12-09 12:33                         ` Geert Uytterhoeven
2016-12-09 13:19                         ` Lucas Stach
2016-12-09 13:33                         ` Daniel Vetter
2016-12-09 13:57                           ` David Herrmann
2016-12-09 14:04                             ` Daniel Vetter [this message]
2016-12-09 20:29                             ` Benjamin Herrenschmidt
2016-12-09  8:30                 ` Daniel Vetter
2016-12-08 14:59           ` Jani Nikula
2016-12-08 14:22         ` Daniel Vetter
2016-12-08 21:28     ` Benjamin Herrenschmidt
2016-12-09  0:08       ` Dave Airlie
2016-12-09  8:04         ` Geert Uytterhoeven
2016-12-09 11:40         ` Benjamin Herrenschmidt
2016-12-13  7:33         ` Gerd Hoffmann
2016-12-13 15:17     ` Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161209140456.7ltqgd4fgg5tykoh@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=arnaud.patard@rtp-net.org \
    --cc=benh@kernel.crashing.org \
    --cc=dh.herrmann@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=noralf@tronnes.org \
    --cc=sudipm.mukherjee@gmail.com \
    --cc=teddy.wang@siliconmotion.com \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tomi.valkeinen@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).