linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: "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 09:41:54 +0100	[thread overview]
Message-ID: <20161209084154.rp4wqzv46tuvf3jv@phenom.ffwll.local> (raw)
In-Reply-To: <20161209083442.peoriqsto2llvl2t@phenom.ffwll.local>

On Fri, Dec 09, 2016 at 09:34:42AM +0100, Daniel Vetter wrote:
> On Fri, Dec 09, 2016 at 08:57:29AM +1100, Benjamin Herrenschmidt wrote:
> > On Fri, 2016-12-09 at 08:34 +1100, Benjamin Herrenschmidt wrote:
> > > As I mentioned earlier, probably 1 or 2 years ago, Dave made the
> > > argument that shadowing through memory was necessary and precluded 2D
> > > accel, though I don't fully remember the root of the argument. If that
> > > is indeed not the case, then my main objection is lifted.
> > 
> > Things seem to change quickly as Daniel pointed out.
> > 
> > So ast and cirrus seem to still use a manual dirty tracking and
> > shadowing (though I'm not sure why), but the infrastructure for
> > that has moved from the drivers to the helpers.
> > 
> > bochs (qemu) doesn't seem to anymore from what I can see as it
> > doesn't have a ->dirty callback.
> 
> Yeah if you have discrete vram then your dumb display driver isn't all
> that pretty. We essentially just have the few drivers Dave hacked up to be
> able to boot some servers. And there's definitely lots of room for more
> shared code for those, and also some better infrastructure and helpers to
> share more cod and make them better.

And since I failed to make this clear: There's not really a fundamental
reason ast and cirrus use the dirty tracking for fbdev. It's just that
doing it that way was the fastest way to get those servers booting, and
ever since no one cared. It's a bit tricky to do right because fbdev
assumes it always own the framebuffer and that it never moves, whereas drm
has a multi-master model and proper isolation. IIrc we've hacked up
something once, and if there's indeed more interest into vram dumb buffer
drivers I'm pretty sure we can grow some nice ttm fb helpers (like the cma
fb helpers we have) to make it all pretty and nice and fast and
essentially plug-in-and-forget from a driver authors pov.

Cheers, Daniel

> The massive pile of dumb framebuffers we all merged over the past 2 years
> all use system/dma memory for scanout, and for those we have the very nice
> cma helpers that take care of everything for you. 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.
> 
> Althought the MXSFB driver that just landed does use ttm and vram, so
> maybe that's now improving too.
> -Daniel
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

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

  reply	other threads:[~2016-12-09  8:42 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 [this message]
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
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=20161209084154.rp4wqzv46tuvf3jv@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=arnaud.patard@rtp-net.org \
    --cc=benh@kernel.crashing.org \
    --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).