All of lore.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


WARNING: multiple messages have this Message-ID (diff)
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 17:35:45 +0000	[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 (ÍF) 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: 174+ 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 ` Laurent Pinchart
2012-11-22 21:45 ` [RFC v2 1/5] video: Add generic display entity core Laurent Pinchart
2012-11-22 21:45   ` Laurent Pinchart
2012-11-27 13:07   ` Tomi Valkeinen
2012-11-27 13:07     ` Tomi Valkeinen
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-22 21:45   ` Laurent Pinchart
2012-11-27 13:02   ` Tomi Valkeinen
2012-11-27 13:02     ` Tomi Valkeinen
2012-11-27 13:02     ` Tomi Valkeinen
2012-11-30  9:26   ` Philipp Zabel
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-22 21:45   ` Laurent Pinchart
2012-11-30 12:02   ` Tomi Valkeinen
2012-11-30 12:02     ` Tomi Valkeinen
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   ` Laurent Pinchart
2012-11-22 21:45 ` [RFC v2 5/5] video: panel: Add R61517 " Laurent Pinchart
2012-11-22 21:45   ` Laurent Pinchart
2012-11-23 14:51 ` [RFC v2 0/5] Common Display Framework Tomi Valkeinen
2012-11-23 14:51   ` Tomi Valkeinen
2012-11-23 14:51   ` Tomi Valkeinen
2012-12-17 14:36   ` Laurent Pinchart
2012-12-17 14:36     ` Laurent Pinchart
2012-12-17 15:29     ` Tomi Valkeinen
2012-12-17 15:29       ` Tomi Valkeinen
2012-12-17 15:29       ` Tomi Valkeinen
2012-12-17 23:18       ` Laurent Pinchart
2012-12-17 23:18         ` Laurent Pinchart
2012-12-17 16:53     ` Jani Nikula
2012-12-17 16:53       ` Jani Nikula
2012-12-17 22:19       ` Laurent Pinchart
2012-12-17 22:19         ` Laurent Pinchart
2012-12-19 14:57         ` Jani Nikula
2012-12-19 14:57           ` Jani Nikula
2012-12-19 15:07           ` Tomi Valkeinen
2012-12-19 15:07             ` Tomi Valkeinen
2012-12-19 15:07             ` Tomi Valkeinen
2012-12-24 17:31             ` Laurent Pinchart
2012-12-24 17:31               ` Laurent Pinchart
2012-12-19 15:26           ` Rob Clark
2012-12-19 15:26             ` Rob Clark
2012-12-19 15:37             ` Tomi Valkeinen
2012-12-19 15:37               ` Tomi Valkeinen
2012-12-19 16:05               ` Rob Clark
2012-12-19 16:05                 ` Rob Clark
2012-12-19 16:05                 ` Rob Clark
2012-12-24 17:40                 ` Laurent Pinchart
2012-12-24 17:40                   ` Laurent Pinchart
2012-12-24 17:35             ` Laurent Pinchart [this message]
2012-12-24 17:35               ` Laurent Pinchart
2012-12-27 16:10               ` Rob Clark
2012-12-27 16:10                 ` Rob Clark
2012-12-24 17:27           ` Laurent Pinchart
2012-12-24 17:27             ` Laurent Pinchart
2012-12-27 16:04             ` Rob Clark
2012-12-27 16:04               ` Rob Clark
2012-12-27 19:19               ` Sascha Hauer
2012-12-27 19:19                 ` Sascha Hauer
2012-11-23 19:56 ` Thierry Reding
2012-11-23 19:56   ` Thierry Reding
2012-11-24  7:15   ` Tomi Valkeinen
2012-11-24  7:15     ` Tomi Valkeinen
2012-11-24  7:15     ` Tomi Valkeinen
2012-11-26 14:47     ` Alan Cox
2012-12-17 15:15       ` Laurent Pinchart
2012-12-17 15:15         ` Laurent Pinchart
2012-11-26  7:53   ` Philipp Zabel
2012-11-26  7:53     ` Philipp Zabel
2012-12-17 14:58   ` Laurent Pinchart
2012-12-17 14:58     ` Laurent Pinchart
2012-11-23 21:41 ` Sascha Hauer
2012-11-23 21:41   ` Sascha Hauer
2012-12-17 15:02   ` Laurent Pinchart
2012-12-17 15:02     ` Laurent Pinchart
     [not found] ` <CAD025yS5rGMbiRBdDxv=YLP6_fsQndAkr+3t29_mNhcvow_SwA@mail.gmail.com>
     [not found]   ` <3133576.BkqAl7V01U@avalon>
2012-12-18  3:01     ` Vikas Sajjan
2012-12-18  6:13       ` Vikas Sajjan
2012-12-18  6:25         ` Vikas Sajjan
2012-12-21 10:00       ` Tomasz Figa
2012-12-21 10:00         ` Tomasz Figa
2012-12-24 14:12         ` Laurent Pinchart
2012-12-24 14:12           ` Laurent Pinchart
2012-12-27 14:43           ` Tomasz Figa
2012-12-27 14:43             ` Tomasz Figa
2012-12-27 14:43             ` Tomasz Figa
2012-12-28  3:26             ` Vikas Sajjan
2012-12-28  3:38               ` Vikas Sajjan
2013-01-08  8:18             ` Laurent Pinchart
2013-01-08  8:18               ` Laurent Pinchart
2013-01-08 10:12               ` Marcus Lorentzon
2013-01-08 10:12                 ` Marcus Lorentzon
2013-01-08 16:36                 ` Tomasz Figa
2013-01-08 16:36                   ` Tomasz Figa
2013-01-08 17:08                   ` Marcus Lorentzon
2013-01-08 17:08                     ` Marcus Lorentzon
2013-02-01 23:35                     ` Laurent Pinchart
2013-02-01 23:35                       ` Laurent Pinchart
2013-02-04 10:05                       ` Marcus Lorentzon
2013-02-04 10:05                         ` Marcus Lorentzon
2013-02-06  9:52                         ` Archit Taneja
2013-02-06  9:52                           ` Archit Taneja
2013-02-08 10:51                         ` Tomi Valkeinen
2013-02-08 10:51                           ` Tomi Valkeinen
2013-02-08 12:43                           ` Marcus Lorentzon
2013-02-08 12:43                             ` Marcus Lorentzon
2013-02-01 23:37                 ` Laurent Pinchart
2013-02-01 23:37                   ` Laurent Pinchart
2012-12-24 12:59       ` Laurent Pinchart
2012-12-24 13:00         ` Laurent Pinchart
2012-12-18  5:04 ` Dave Airlie
2012-12-18  5:04   ` Dave Airlie
2012-12-18  5:04   ` Dave Airlie
2012-12-18  6:21   ` Rob Clark
2012-12-18  6:21     ` Rob Clark
2012-12-18  8:30     ` Daniel Vetter
2012-12-18  8:30       ` Daniel Vetter
2012-12-18  9:38       ` Inki Dae
2012-12-19 20:13         ` Stéphane Marchesin
2012-12-19 20:13           ` Stéphane Marchesin
2012-12-24 14:08         ` Laurent Pinchart
2012-12-24 14:08           ` Laurent Pinchart
2012-12-24 13:39       ` Laurent Pinchart
2012-12-24 13:39         ` Laurent Pinchart
2012-12-18 10:59     ` Sylwester Nawrocki
2012-12-18 10:59       ` Sylwester Nawrocki
2012-12-24 17:19       ` Laurent Pinchart
2012-12-24 17:19         ` Laurent Pinchart
2012-12-19 20:05     ` Stéphane Marchesin
2012-12-19 20:05       ` Stéphane Marchesin
2012-12-24 13:37     ` Laurent Pinchart
2012-12-24 13:37       ` Laurent Pinchart
2012-12-27 15:54       ` Rob Clark
2012-12-27 15:54         ` Rob Clark
2012-12-27 19:18         ` Sascha Hauer
2012-12-27 19:18           ` Sascha Hauer
2012-12-27 19:57           ` Rob Clark
2012-12-27 19:57             ` Rob Clark
2012-12-28  0:04             ` Sascha Hauer
2012-12-28  0:04               ` Sascha Hauer
2013-01-08  8:33               ` Laurent Pinchart
2013-01-08  8:33                 ` Laurent Pinchart
2013-01-08  8:25         ` Laurent Pinchart
2013-01-08  8:25           ` Laurent Pinchart
2013-01-08 16:13           ` Rob Clark
2013-01-08 16:13             ` Rob Clark
2013-01-09  8:23             ` Rahul Sharma
2013-01-09  8:35               ` Rahul Sharma
2013-01-09  8:23               ` Rahul Sharma
2013-02-01 23:42               ` Laurent Pinchart
2013-02-01 23:42                 ` Laurent Pinchart
2013-02-02 10:08                 ` Rob Clark
2013-02-02 10:08                   ` Rob Clark
2012-12-18 10:39   ` Marcus Lorentzon
2012-12-18 10:39     ` Marcus Lorentzon
2012-12-18 10:39     ` Marcus Lorentzon
2012-12-24 17:09     ` Laurent Pinchart
2012-12-24 17:09       ` Laurent Pinchart
2012-12-24 17:09       ` Laurent Pinchart
2012-12-27 15:57       ` Rob Clark
2012-12-27 15:57         ` Rob Clark
2012-12-27 15:57         ` Rob Clark
2013-01-06 17:46         ` Daniel Vetter
2013-01-06 17:46           ` Daniel Vetter
2013-01-06 17:46           ` Daniel Vetter
2013-01-08  8:41           ` Laurent Pinchart
2013-01-08  8:41             ` Laurent Pinchart
2012-12-24 13:24   ` Laurent Pinchart
2012-12-24 13:24     ` Laurent Pinchart
2012-12-14  4:57 Vikas Sajjan
2012-12-17 22: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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.