public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Rob Clark <rob.clark@linaro.org>,
	Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Linux Fbdev development list <linux-fbdev@vger.kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Tom Gall <tom.gall@linaro.org>,
	Ragesh Radhakrishnan <ragesh.r@linaro.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Benjamin Gaignard <benjamin.gaignard@linaro.org>,
	Vikas Sajjan <vikas.sajjan@linaro.org>,
	Sumit Semwal <sumit.semwal@linaro.org>,
	Sebastien Guiriec <s-guiriec@ti.com>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [RFC v2 0/5] Common Display Framework
Date: Mon, 24 Dec 2012 18:35:45 +0100	[thread overview]
Message-ID: <9229594.Uy6ivYUL5t@avalon> (raw)
In-Reply-To: <CAF6AEGuSt0CL2sFGK-PZnw6+r9zhGHO4CEjJEWaR8eGhks2=UQ@mail.gmail.com>

Hi Rob,

On Wednesday 19 December 2012 09:26:40 Rob Clark wrote:
> On Wed, Dec 19, 2012 at 8:57 AM, Jani Nikula wrote:
> > On Tue, 18 Dec 2012, Laurent Pinchart wrote:
> >> On Monday 17 December 2012 18:53:37 Jani Nikula wrote:
> >>> I can see the need for a framework for DSI panels and such (in fact Tomi
> >>> and I have talked about it like 2-3 years ago already!) but what is the
> >>> story for HDMI and DP? In particular, what's the relationship between
> >>> DRM and CDF here? Is there a world domination plan to switch the DRM
> >>> drivers to use this framework too? ;) Do you have some rough plans how
> >>> DRM and CDF should work together in general?
> >> 
> >> There's always a world domination plan, isn't there ? :-)
> >> 
> >> I certainly want CDF to be used by DRM (or more accurately KMS). That's
> >> what the C stands for, common refers to sharing panel and other display
> >> entity drivers between FBDEV, KMS and V4L2.
> >> 
> >> I currently have no plan to expose CDF internals to userspace through the
> >> KMS API. We might have to do so later if the hardware complexity grows
> >> in such a way that finer control than what KMS provides needs to be
> >> exposed to userspace, but I don't think we're there yet. The CDF API
> >> will thus only be used internally in the kernel by display controller
> >> drivers. The KMS core might get functions to handle common display
> >> entity operations, but the bulk of the work will be in the display
> >> controller drivers to start with. We will then see what can be
> >> abstracted in KMS helper functions.
> >> 
> >> Regarding HDMI and DP, I imagine HDMI and DP drivers that would use the
> >> CDF API. That's just a thought for now, I haven't tried to implement
> >> them, but it would be nice to handle HDMI screens and DPI/DBI/DSI panels
> >> in a generic way.
> >> 
> >> Do you have thoughts to share on this topic ?
> > 
> > It just seems to me that, at least from a DRM/KMS perspective, adding
> > another layer (=CDF) for HDMI or DP (or legacy outputs) would be
> > overengineering it. They are pretty well standardized, and I don't see
> > there would be a need to write multiple display drivers for them. Each
> > display controller has one, and can easily handle any chip specific
> > requirements right there. It's my gut feeling that an additional
> > framework would just get in the way. Perhaps there could be more common
> > HDMI/DP helper style code in DRM to reduce overlap across KMS drivers,
> > but that's another thing.
> > 
> > So is the HDMI/DP drivers using CDF a more interesting idea from a
> > non-DRM perspective? Or, put another way, is it more of an alternative
> > to using DRM? Please enlighten me if there's some real benefit here that
> > I fail to see!
> 
> fwiw, I think there are at least a couple cases where multiple SoC's
> have the same HDMI IP block.
> 
> And, there are also external HDMI encoders (for example connected over
> i2c) that can also be shared between boards.  So I think there will be
> a number of cases where CDF is appropriate for HDMI drivers.  Although
> trying to keep this all independent of DRM (as opposed to just
> something similar to what drivers/gpu/i2c is today) seems a bit
> overkill for me.  Being able to use the helpers in drm and avoiding an
> extra layer of translation seems like the better option to me.  So my
> vote would be drivers/gpu/cdf.

I don't think there will be any need for translation (except perhaps between 
the DRM mode structures and the common video mode structure that is being 
discussed). Add a drm_ prefix to the existing CDF functions and structures, 
and there you go :-)

The reason why I'd like to keep CDF separate from DRM (or at least not 
requiring a drm_device) is that HDMI/DP encoders can be used by pure V4L2 
drivers.

> > For DSI panels (or DSI-to-whatever bridges) it's of course another
> > story. You typically need a panel specific driver. And here I see the
> > main point of the whole CDF: decoupling display controllers and the
> > panel drivers, and sharing panel (and converter chip) specific drivers
> > across display controllers. Making it easy to write new drivers, as
> > there would be a model to follow. I'm definitely in favour of coming up
> > with some framework that would tackle that.

-- 
Regards,

Laurent Pinchart


  parent reply	other threads:[~2012-12-24 17:34 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 [this message]
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
2012-12-24 13:39       ` Laurent Pinchart
     [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-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:23             ` Rahul Sharma
2013-02-01 23:42               ` Laurent Pinchart
2013-02-02 10:08                 ` Rob Clark
2012-12-18 10:39   ` Marcus Lorentzon
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:13       ` 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:26             ` 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 13:00       ` 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=9229594.Uy6ivYUL5t@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=benjamin.gaignard@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=kyungmin.park@samsung.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=sumit.semwal@linaro.org \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tom.gall@linaro.org \
    --cc=tomi.valkeinen@ti.com \
    --cc=vikas.sajjan@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