linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marcus Lorentzon <marcus.xm.lorentzon@stericsson.com>
To: Dave Airlie <airlied@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	Archit Taneja <archit@ti.com>,
	Benjamin Gaignard <benjamin.gaignard@linaro.org>,
	Bryan Wu <bryan.wu@canonical.com>,
	Inki Dae <inki.dae@samsung.com>,
	Jesse Barker <jesse.barker@linaro.org>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Maxime Ripard <maxime.ripard@free-electrons.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Ragesh Radhakrishnan <ragesh.r@linaro.org>,
	Rob Clark <rob.clark@linaro.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Sebastien Guiriec <s-guiriec@ti.com>,
	Sumit Semwal <sumit.semwal@linaro.org>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Tom Gall <tom.gall@linaro.org>, Tomi Valkeinen <tomi.valkei>
Subject: Re: [RFC v2 0/5] Common Display Framework
Date: Tue, 18 Dec 2012 10:39:11 +0000	[thread overview]
Message-ID: <50D047CF.2040904@stericsson.com> (raw)
In-Reply-To: <CAPM=9txFJzJ0haTyBnr8hEmmqNb+gSAyBno+Zs0Z-qvVMTwz9A@mail.gmail.com>

On 12/18/2012 06:04 AM, Dave Airlie wrote:
>> Many developers showed interest in the first RFC, and I've had the opportunity
>> to discuss it with most of them. I would like to thank (in no particular
>> order) Tomi Valkeinen for all the time he spend helping me to draft v2, Marcus
>> Lorentzon for his useful input during Linaro Connect Q4 2012, and Linaro for
>> inviting me to Connect and providing a venue to discuss this topic.
>>
> So this might be a bit off topic but this whole CDF triggered me
> looking at stuff I generally avoid:
I like the effort, right now it seems like x86 and arm display sub 
systems are quite different in terms of DRM driver (and HW) design. I 
think this is partly due to little information shared about these 
different architectures and ideas behind the choices made. I hope some 
discussion will light up both sides. And an early discussion will 
hopefully give you less pain when CDF drivers starts to get pushed your way.
> The biggest problem I'm having currently with the whole ARM graphics
> and output world is the proliferation of platform drivers for every
> little thing. The whole ordering of operations with respect to things
> like suspend/resume or dynamic power management is going to be a real
> nightmare if there are dependencies between the drivers. How do you
> enforce ordering of s/r operations between all the various components?
Could you give an example? Personally I don't think it is that many. I 
might not have counted the plat devs in all arm drivers. But the STE one 
have one per HW IP block in the HW (1 DSS + 3 DSI encoder/formatters). 
Then of course there are all these panel devices. But I hope that when 
CDF is "finished" we will have DSI devices on the DSI bus and DBI 
devices on the DBI bus. I think most vendors have used platform devices 
for these since they normally can't be probed in a generic way. But as 
they are off SoC I feel this is not the best choice. And then many of 
the panels are I2C devices (control bus) and that I guess is similar to 
"x86" encoders/connectors?
Another part of the difference I feel is that in x86 a DRM device is 
most likely a PCI device, and as such has one huge driver for all IPs on 
that board. The closest thing we get to that in ARM is probably the DSS 
(collection of IPs on SoC, like 3D, 2D, display output, encoders). But 
it doesn't fell right to create a single driver for all these. And as 
you know often 3D is even from a separate vendor. All these lead up to a 
slight increase in the number of devices and drivers. Right way, I feel 
so, but you are welcome to show a better way.
> The other thing I'd like you guys to do is kill the idea of fbdev and
> v4l drivers that are "shared" with the drm codebase, really just
> implement fbdev and v4l on top of the drm layer, some people might
> think this is some sort of maintainer thing, but really nothing else
> makes sense, and having these shared display frameworks just to avoid
> having using drm/kms drivers seems totally pointless. Fix the drm
> fbdev emulation if an fbdev interface is needed. But creating a fourth
> framework because our previous 3 frameworks didn't work out doesn't
> seem like a situation I want to get behind too much.
>
I have no intention to use CDF outside KMS connector/encoder and I have 
not heard Laurent talk about this either. Personally I see CDF as 
"helpers" to create and reuse connector/encoder drivers between SoCs 
instead of each SoC do their own panel drivers (which would be about a 
hundred, times the number of supported SoCs). We probably need to 
discuss the connector/encoder mappings to CDF/panels. But I think we 
need to flush out the higher level details like control bus vs. data bus 
vs. display entities. While I like the generic way of the display 
entities, I also like the pure bus/device/driver model without too many 
generalizations.
Do you have any support in x86 world that could be compared to mobile 
phone DSI/DBI/DPI panels? That is, different encoder/lcd-driver chips 
between the on chip/cpu/SoC CRTC and the external LCD depending on 
product (mobile/netbook/...) or is it all HDMI/DP/LVDS etc on x86?
And if you do, how do you model/setup/share all those in DRM driver? Or 
it is manageable (< 10) and not up in the hundreds of different 
encoders/lcd-drivers?

/BR
/Marcus


  parent reply	other threads:[~2012-12-18 10:39 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-22 21:45 [RFC v2 0/5] Common Display Framework Laurent Pinchart
2012-11-22 21:45 ` [RFC v2 1/5] video: Add generic display entity core Laurent Pinchart
2012-11-27 13:07   ` Tomi Valkeinen
2012-11-22 21:45 ` [RFC v2 2/5] video: panel: Add DPI panel support Laurent Pinchart
2012-11-27 13:02   ` Tomi Valkeinen
2012-11-30  9:26   ` Philipp Zabel
2012-11-22 21:45 ` [RFC v2 3/5] video: display: Add MIPI DBI bus support Laurent Pinchart
2012-11-30 12:02   ` Tomi Valkeinen
2012-11-22 21:45 ` [RFC v2 4/5] video: panel: Add R61505 panel support Laurent Pinchart
2012-11-22 21:45 ` [RFC v2 5/5] video: panel: Add R61517 " Laurent Pinchart
2012-11-23 14:51 ` [RFC v2 0/5] Common Display Framework Tomi Valkeinen
2012-12-17 14:36   ` Laurent Pinchart
2012-12-17 15:29     ` Tomi Valkeinen
2012-12-17 23:18       ` Laurent Pinchart
2012-12-17 16:53     ` Jani Nikula
2012-12-17 22:19       ` Laurent Pinchart
2012-12-19 14:57         ` Jani Nikula
2012-12-19 15:07           ` Tomi Valkeinen
2012-12-24 17:31             ` Laurent Pinchart
2012-12-19 15:26           ` Rob Clark
2012-12-19 15:37             ` Tomi Valkeinen
2012-12-19 16:05               ` Rob Clark
2012-12-24 17:40                 ` Laurent Pinchart
2012-12-24 17:35             ` Laurent Pinchart
2012-12-27 16:10               ` Rob Clark
2012-12-24 17:27           ` Laurent Pinchart
2012-12-27 16:04             ` Rob Clark
2012-12-27 19:19               ` Sascha Hauer
2012-11-23 19:56 ` Thierry Reding
2012-11-24  7:15   ` Tomi Valkeinen
2012-11-26 14:47     ` Alan Cox
2012-12-17 15:15       ` Laurent Pinchart
2012-11-26  7:53   ` Philipp Zabel
2012-12-17 14:58   ` Laurent Pinchart
2012-11-23 21:41 ` Sascha Hauer
2012-12-17 15:02   ` Laurent Pinchart
2012-12-18  5:04 ` Dave Airlie
2012-12-18  6:21   ` Rob Clark
2012-12-18  8:30     ` Daniel Vetter
     [not found]       ` <CAAQKjZMt+13oooEw39mOM1rF2=ss4ih1s7iVS362di-50h4+Hg@mail.gmail.com>
2012-12-19 20:13         ` Stéphane Marchesin
2012-12-24 14:08         ` Laurent Pinchart
2012-12-24 13:39       ` Laurent Pinchart
2012-12-18 10:59     ` Sylwester Nawrocki
2012-12-24 17:19       ` Laurent Pinchart
2012-12-19 20:05     ` Stéphane Marchesin
2012-12-24 13:37     ` Laurent Pinchart
2012-12-27 15:54       ` Rob Clark
2012-12-27 19:18         ` Sascha Hauer
2012-12-27 19:57           ` Rob Clark
2012-12-28  0:04             ` Sascha Hauer
2013-01-08  8:33               ` Laurent Pinchart
2013-01-08  8:25         ` Laurent Pinchart
2013-01-08 16:13           ` Rob Clark
2013-01-09  8:35             ` Rahul Sharma
2013-02-01 23:42               ` Laurent Pinchart
2013-02-02 10:08                 ` Rob Clark
2012-12-18 10:39   ` Marcus Lorentzon [this message]
2012-12-24 17:09     ` Laurent Pinchart
2012-12-27 15:57       ` Rob Clark
2013-01-06 17:46         ` Daniel Vetter
2013-01-08  8:41           ` Laurent Pinchart
2012-12-24 13:24   ` Laurent Pinchart
     [not found] ` <CAD025yS5rGMbiRBdDxv=YLP6_fsQndAkr+3t29_mNhcvow_SwA@mail.gmail.com>
     [not found]   ` <3133576.BkqAl7V01U@avalon>
     [not found]     ` <CAD025yQoCiNaKvaCwvUWhk_jV70CPhV35UzV9MR6HtE+1baCxg@mail.gmail.com>
2012-12-18  6:25       ` Vikas Sajjan
2012-12-21 10:00       ` Tomasz Figa
2012-12-24 14:12         ` Laurent Pinchart
2012-12-27 14:43           ` Tomasz Figa
2012-12-28  3:38             ` Vikas Sajjan
2013-01-08  8:18             ` Laurent Pinchart
2013-01-08 10:12               ` Marcus Lorentzon
2013-01-08 16:36                 ` Tomasz Figa
2013-01-08 17:08                   ` Marcus Lorentzon
2013-02-01 23:35                     ` Laurent Pinchart
2013-02-04 10:05                       ` Marcus Lorentzon
2013-02-06  9:52                         ` Archit Taneja
2013-02-08 10:51                         ` Tomi Valkeinen
2013-02-08 12:43                           ` Marcus Lorentzon
2013-02-01 23:37                 ` Laurent Pinchart
2012-12-24 12:59       ` 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=50D047CF.2040904@stericsson.com \
    --to=marcus.xm.lorentzon@stericsson.com \
    --cc=airlied@gmail.com \
    --cc=archit@ti.com \
    --cc=benjamin.gaignard@linaro.org \
    --cc=bryan.wu@canonical.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=inki.dae@samsung.com \
    --cc=jesse.barker@linaro.org \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=maxime.ripard@free-electrons.com \
    --cc=p.zabel@pengutronix.de \
    --cc=ragesh.r@linaro.org \
    --cc=rob.clark@linaro.org \
    --cc=s-guiriec@ti.com \
    --cc=s.hauer@pengutronix.de \
    --cc=sumit.semwal@linaro.org \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tom.gall@linaro.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).