devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	Rob Clark <robclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH V2] video: implement a simple framebuffer driver
Date: Mon, 29 Apr 2013 22:56:56 +0200	[thread overview]
Message-ID: <1803841.rv79ElYKi3@avalon> (raw)
In-Reply-To: <51671F3D.5040501-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>

Hi Stephen,

Sorry for the late reply.

On Thursday 11 April 2013 14:38:21 Stephen Warren wrote:
> On 04/11/2013 02:06 PM, Laurent Pinchart wrote:
> > On Thursday 11 April 2013 10:06:49 Stephen Warren wrote:
> >> On 04/11/2013 03:56 AM, Laurent Pinchart wrote:
> >>> On Monday 08 April 2013 17:16:37 Andrew Morton wrote:
> >>>> On Wed,  3 Apr 2013 20:39:43 -0600 Stephen Warren wrote:
> >>>>> A simple frame-buffer describes a raw memory region that may be
> >>>>> rendered to, with the assumption that the display hardware has already
> >>>>> been set up to scan out from that buffer.
> >>>>> 
> >>>>> This is useful in cases where a bootloader exists and has set up the
> >>>>> display hardware, but a Linux driver doesn't yet exist for the display
> >>>>> hardware.
> >>>>> 
> >>>>> ...
> >>>>> 
> >>>>> +config FB_SIMPLE
> >>>>> +	bool "Simple framebuffer support"
> >>>>> +	depends on (FB = y) && OF
> >>>> 
> >>>> It's sad that this simple little thing requires Open Firmware.  Could
> >>>> it be generalised in some way so that the small amount of setup info
> >>>> could be provided by other means (eg, module_param) or does the
> >>>> dependency go deeper than that?
> >>> 
> >>> I second that request. I like the idea of a simple framebuffer driver if
> >>> it helps deprecating fbdev in the long term, but I don't want it to
> >>> offer an excuse not to implement a DRM/KMS driver. In particular adding
> >>> DT bindings would force us to keep supporting the ABI for a (too) long
> >>> time.
> >> 
> >> The platforms I intend to use this with only support device tree. Adding
> >> support for platform data right now would just be dead code. If somebody
> >> wants to use this driver with a board file based system rather than a DT
> >> based system, it would be trivial do modify the driver to add a platform
> >> data structure at that time.
> > 
> > What about using module parameters instead of DT bindings and platform
> > data ? As this is a hack designed to work around the lack of a proper
> > display driver the frame buffer address and size could just be passed by
> > the boot loader through the kernel command line, and the device would
> > then be instantiated by the driver.
> 
> I'm afraid I strongly dislike the idea of using module parameters. One
> of the things that I dislike the most about NVIDIA's downstream Android
> kernels is the huge number of random parameters that are required on the
> kernel command-line just to get it to boot.
> 
> I'd specifically prefer the configuration for this driver to be a device
> tree binding so that it /is/ an ABI. That way, arbitrary software that
> boots the Linux kernel will be able to target a common standard for how
> to pass this information to the kernel. If we move to module parameters
> instead, especially with the specific intent that the format of those
> parameters is no longer an ABI, we run in to issues where a new kernel
> requires a bootloader update in order to generate the new set of module
> parameters that are required by the driver. If we say the module
> parameters will never change except in a backwards-compatible fashion,
> and hence that issue won't arise, then why not just make it a DT binding?
> 
> Do module parameters handle the case of multiple device instances?

Not well. It can be handled manually by using parameter arrays, but that's a 
bit hackish.

> Also, I really don't see this driver as a hack. It's a perfectly reasonable
> situation to have some other SW set up the frame-buffer, and Linux simply
> continue to use it. Perhaps that other SW even ran on a difference CPU, or
> the parameters are hard-coded in HW design, and so there's no HW that Linux
> ever could drive, so it just isn't possible to create any more advanced
> driver.

I totally agree that this driver would be very useful during board bring-up. 
My concern is that it would also give an incentive to vendors not to develop a 
proper KMS driver (or rather remove an incentive to develop one).

-- 
Regards,

Laurent Pinchart

  parent reply	other threads:[~2013-04-29 20:56 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-04  2:39 [PATCH V2] video: implement a simple framebuffer driver Stephen Warren
     [not found] ` <1365043183-28905-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-04-09  0:16   ` Andrew Morton
     [not found]     ` <20130408171637.98b5ad1f867bcbda883af68b-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2013-04-09  3:16       ` Stephen Warren
2013-04-09  8:08       ` Geert Uytterhoeven
2013-04-11  9:56       ` Laurent Pinchart
2013-04-11 16:06         ` Stephen Warren
2013-04-11 20:06           ` Laurent Pinchart
2013-04-11 20:38             ` Stephen Warren
     [not found]               ` <51671F3D.5040501-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-04-29 20:56                 ` Laurent Pinchart [this message]
2013-04-29 21:15         ` Tomasz Figa
2013-04-29 21:20           ` Laurent Pinchart
2013-04-29 21:31             ` Tomasz Figa
2013-04-29 21:40               ` Laurent Pinchart
2013-04-29 22:04                 ` Arnd Bergmann
     [not found]                   ` <201304300004.20320.arnd-r2nGTMty4D4@public.gmane.org>
2013-04-29 22:23                     ` Laurent Pinchart
2013-04-29 22:40                       ` Olof Johansson
     [not found]                         ` <CAOesGMiCvBwck0Z6Nyo9zW=1=J=wjhJW68qNGMrN_8iim=8Srg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-30  9:50                           ` Laurent Pinchart
2013-05-02 18:25                     ` Stephen Warren
2013-05-02 18:35                       ` Geert Uytterhoeven
     [not found]                       ` <5182AF83.4080705-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-05-03 10:06                         ` Laurent Pinchart
2013-05-07 21:33                           ` Andrew Morton
     [not found]                             ` <20130507143338.79b3d893fcdc3bd79fbe9a57-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2013-05-08  2:36                               ` Stephen Warren
     [not found]                                 ` <5189BA36.9000105-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-05-08 19:28                                   ` Olof Johansson
2013-05-08 20:58                                   ` Rob Landley
2013-04-30  7:28           ` Tomi Valkeinen
2013-04-11 10:42   ` Geert Uytterhoeven
2013-04-11 16:10     ` Stephen Warren
2013-05-18 10:29   ` Alexandre Courbot
     [not found]     ` <CAAVeFuJ5q4Y0QtvJX2iVmq_O2ofs1B9=MB_aA8VdcEBdM4zf2Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-20 15:25       ` Stephen Warren
2013-04-30  7:27 ` Tomi Valkeinen
     [not found]   ` <517F7245.2050606-X3B1VOXEql0@public.gmane.org>
2013-04-30 10:28     ` Arnd Bergmann
     [not found]       ` <201304301228.42245.arnd-r2nGTMty4D4@public.gmane.org>
2013-04-30 11:42         ` Laurent Pinchart
2013-04-30 11:48           ` Tomi Valkeinen
     [not found]             ` <517FAF78.1010306-l0cyMroinI0@public.gmane.org>
2013-04-30 11:49               ` Laurent Pinchart
2013-04-30 11:46       ` Tomi Valkeinen
     [not found]         ` <517FAF0C.1060901-l0cyMroinI0@public.gmane.org>
2013-05-03  5:40           ` Dave Airlie
2013-04-30  7:39 ` Tomi Valkeinen
2013-04-30 10:34   ` Arnd Bergmann
2013-04-30 14:38   ` Re[2]: " Alexander Shiyan
2013-04-30 15:07     ` Arnd Bergmann

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=1803841.rv79ElYKi3@avalon \
    --to=laurent.pinchart-rylnwiuwjnjg/c1bvhzhaw@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=robclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    /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).