From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: khilman@baylibre.com, dri-devel@lists.freedesktop.org,
bgolaszewski@baylibre.com, tomi.valkeinen@ti.com,
Jyri Sarha <jsarha@ti.com>
Subject: Re: [PATCH 2/4] drm/i2c: tda998x: Remove obsolete drm_connector_register() call
Date: Thu, 20 Oct 2016 10:11:22 +0100 [thread overview]
Message-ID: <20161020091122.GV1041@n2100.armlinux.org.uk> (raw)
In-Reply-To: <1862550.NH79htsjIC@avalon>
On Thu, Oct 20, 2016 at 11:20:05AM +0300, Laurent Pinchart wrote:
> Hi Russell,
>
> On Wednesday 19 Oct 2016 10:35:21 Russell King - ARM Linux wrote:
> > Moreover, as I've already said, converting tda998x to a DRM bridge
> > will not get rid of the encoder/connector part, because it _is_ a
> > connector in the DRM sense - it provides the detection and EDID
> > reading.
> >
> > So, what would we achieve by splitting the driver into a DRM bridge
> > and DRM encoder/connector?
>
> Please note that DRM bridge doesn't split the DRM connector out of the bridge,
> bridges instantiate drm_connector objects. In that sense they don't differ
> much from the model implemented by the tda998x driver.
So, we what you're saying is that we from a component based DRM encoder
plus DRM connector to a component based DRM bridge plus DRM connector
and some nebulous DRM encoder provider.
How does the DRM encoder get associated with the DRM connector? DRM
requires the presence of at least one DRM encoder for each DRM connector,
and the DRM connector needs to provide a .best_encoder method to pick
the appropriate DRM encoder.
If (as you said elsewhere in your message) that the display driver is
responsible for providing the DRM encoder in your view, how does a
bridge DRM connector get to that DRM encoder, and how does it know
which DRM encoder to pick?
> I however believe that connectors should be split out DRM bridge drivers, for
> the simple reason that bridges can be chained. The output of a bridge isn't
> guaranteed to be a connector but can be another bridge.
You've not said how that could be achieved with TDA998x, so I'm still
opposed to the idea. Remember, you're the one asking for this, you
must have a view on how to achieve it if you want it to happen.
> > We can see this with what happened to the DW-HDMI driver - that still
> > needs the component helper, and it provides a DRM bridge, DRM encoder
> > and DRM connector parts.
>
> To be precise, the DW-HDMI driver core doesn't create a DRM encoder, it's the
> glue layers implemented as part of the Rockchip and iMX display drivers that
> do. Nonetheless, that's a mistake, the encoder should be created by the
> display drivers.
If we're being precise, the "glue layer" creates the DRM encoder, but
the bridge code is responsible for binding itself to the DRM encoder,
and binding the DRM encoder to its associated DRM connector.
Let's assume it's a mistake. Please illustrate how you would solve
this mistake.
> > The only reason it made sense to split the DW-HDMI driver was due to the
> > differences between the Rockchip and Freescale implementations. Such
> > differences do not exist for TDA998x. So even here, your idea that "DRM
> > bridge" vs "non-DRM bridge component based" doesn't work - we have "DRM
> > bridge component based" because of the problem that I'm illustrating here.
> >
> > So, again, I ask: what's the point of needlessly splitting the code
> > between an encoder/connector and a bridge?
>
> We need to standardize on one model. I don't care much about how the end
> result is named, as long as it fulfils the task at hand.
I don't care about the name either, that's not what I'm asking here.
All I seem to be getting is some hand-waving "we want one model" and
"the current situation is a huge mess" (which is not a sentiment I agree
with) but with no technical response about how to achieve it. Please do
the technical response bits and stop hand-waving.
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-10-20 9:11 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-18 21:33 [PATCH 0/4] drm/tilcdc: Cleanup tilcdc (&tda998x) init sequence Jyri Sarha
2016-10-18 21:33 ` [PATCH 1/4] drm/tilcdc: Remove obsolete drm_connector_register() calls Jyri Sarha
2016-10-19 7:54 ` Laurent Pinchart
2016-10-18 21:33 ` [PATCH 2/4] drm/i2c: tda998x: Remove obsolete drm_connector_register() call Jyri Sarha
2016-10-19 7:54 ` Laurent Pinchart
2016-10-19 8:16 ` Russell King - ARM Linux
2016-10-19 8:52 ` Laurent Pinchart
2016-10-19 9:11 ` Russell King - ARM Linux
2016-10-19 9:19 ` Laurent Pinchart
2016-10-19 9:35 ` Russell King - ARM Linux
2016-10-20 8:20 ` Laurent Pinchart
2016-10-20 9:08 ` Archit Taneja
2016-10-20 9:15 ` Russell King - ARM Linux
2016-10-20 11:26 ` Archit Taneja
2016-10-21 17:28 ` Jean-Francois Moine
2016-10-22 10:36 ` Laurent Pinchart
2016-10-21 18:09 ` Russell King - ARM Linux
2016-10-24 5:09 ` Archit Taneja
2016-10-30 22:46 ` Russell King - ARM Linux
2016-10-21 18:43 ` Russell King - ARM Linux
2016-10-24 5:08 ` Archit Taneja
2016-10-21 19:04 ` Jean-Francois Moine
2016-10-22 9:55 ` Russell King - ARM Linux
2016-10-24 6:28 ` Archit Taneja
2016-10-24 6:53 ` Daniel Vetter
2016-10-31 0:09 ` Russell King - ARM Linux
2016-11-08 9:21 ` Daniel Vetter
2016-10-20 9:11 ` Russell King - ARM Linux [this message]
2016-10-19 9:46 ` Brian Starkey
2016-10-22 13:40 ` Russell King - ARM Linux
2016-10-24 14:23 ` Brian Starkey
2016-10-24 14:27 ` [PATCH] drm: tda998x: mali-dp: hdlcd: refactor connector registration Brian Starkey
2016-10-24 14:36 ` Daniel Vetter
2016-10-24 14:52 ` Brian Starkey
2016-10-24 20:24 ` Daniel Vetter
2016-10-25 9:52 ` Brian Starkey
2016-10-25 10:19 ` Daniel Vetter
2016-10-25 10:40 ` Brian Starkey
2016-10-31 9:00 ` Russell King - ARM Linux
2016-10-31 10:16 ` Russell King - ARM Linux
2016-10-31 8:58 ` Russell King - ARM Linux
2016-11-08 9:25 ` Daniel Vetter
2016-11-08 10:59 ` Russell King - ARM Linux
2016-11-08 11:27 ` Daniel Vetter
2016-11-15 9:46 ` [GIT PULL] " Russell King - ARM Linux
2016-11-16 21:31 ` Russell King - ARM Linux
2016-10-18 21:33 ` [PATCH 3/4] drm/tilcdc: Stop using struct drm_driver load() callback Jyri Sarha
2016-10-19 7:28 ` Daniel Vetter
2016-10-18 21:33 ` [PATCH 4/4] drm/tilcdc: Use unload to handle initialization failures Jyri Sarha
2016-10-19 7:50 ` 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=20161020091122.GV1041@n2100.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=bgolaszewski@baylibre.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jsarha@ti.com \
--cc=khilman@baylibre.com \
--cc=laurent.pinchart@ideasonboard.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).