All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Michael Tretter <m.tretter@pengutronix.de>,
	Inki Dae <inki.dae@samsung.com>,
	linux-samsung-soc@vger.kernel.org, jy0922.shim@samsung.com,
	narmstrong@baylibre.com, b.zolnierkie@samsung.com,
	sw0312.kim@samsung.com, krzk@kernel.org, a.hajda@samsung.com,
	dri-devel@lists.freedesktop.org, kernel@pengutronix.de,
	sylvester.nawrocki@gmail.com, Laurent.pinchart@ideasonboard.com
Subject: Re: [PATCH v2 00/16] drm/exynos: Convert driver to drm bridge
Date: Tue, 10 Nov 2020 19:52:43 +0100	[thread overview]
Message-ID: <20201110185243.GB2814653@ravnborg.org> (raw)
In-Reply-To: <969deb9e-d883-49a9-5631-7747f0b3e583@samsung.com>

Hi Marek,

On Tue, Nov 10, 2020 at 01:34:26PM +0100, Marek Szyprowski wrote:
> Hi Michael,
> 
> On 10.11.2020 09:13, Michael Tretter wrote:
> > On Mon, 09 Nov 2020 12:15:39 +0900, Inki Dae wrote:
> >> 20. 9. 11. 오후 10:53에 Michael Tretter 이(가) 쓴 글:
> >>> This is v2 of the series to convert the Exynos MIPI DSI driver into a drm
> >>> bridge and make it usable with other drivers. Although the driver is
> >>> converted, it still supports the component framework API to stay compliant
> >>> with the Exynos DRM driver.
> >>>
> >>> The Exynos MIPI DSI Phy is also found on the i.MX8M Mini. However, on the
> >>> i.MX8M Mini, the bridge is driven by an LCDIF display controller instead of
> >>> the Exynos Decon. The driver for the LCDIF does not use the component
> >>> framework, but uses drm bridges.
> >>>
> >>> I don't have any Exynos SoC to actually test the series. I build a dummy to
> >>> test the bridge with a component driver, to make sure that at least the
> >>> initialization is working. Furthermore, tested the driver as a bridge with a
> >>> few additional unfinished patches on the i.MX8M Mini EVK. However, somebody
> >>> should verify that the driver is still working on Exynos hardware.
> >>>
> >>> I also changed the order of the patches to first make the driver more platform
> >>> independent (patches 2 to 8), then convert to a drm bridge driver (patches 10
> >> Just a fundamental question, A MIPI-DSI(Display Serial Interface) bus device
> >> would be one of an encoder type of devices not bridge such as DSI to LVDS
> >> and LVDS to DSI bridge devices, and also image enhancer and image compressor
> >> in case of Exynos.
> > I don't understand, why the MIPI-DSI bus device would be an encoder type and
> > DSI to LVDS or MIPI-DSI to HDMI would be bridges. For example, the device tree
> > documentation for the DSIM states that the DSIM receives RGB video as input
> > and produces MIPI-DSI as output. Thus, the DSIM is basically a parallel RGB to
> > MIPI-DSI bridge and the encoder is the LCD controller that encodes the video
> > data as parallel RGB.
> >
> > On the i.MX8MM, the LCDIF is already the encoder. On Exynos, the series
> > implements the encoder in the platform glue, but in the end the encoder can
> > probably be moved to the DECON.
> 
> This is probably the historical decision. That time when Exynos DSI 
> driver has been implemented, support for DRM bridges wasn't ready enough 
> to use to for such purpose.
> 
> Frankly, I'm still not convinced that the current DRM bridge framework 
> provides everything needed to reimplement the Exynos DSI driver with all 
> its features. There are a lots of corner cases and order-specific bits 
> in turning on/off the display pipeline, which don't map nicely to the 
> bridge pre_enable (called in post-order) and enable (called in 
> pre-order) callbacks. Especially if you consider that there might be 
> another bridge before and after.
> 
> I think that Andrzej Hajda already pointed those drawbacks of the 
> current design. Last week I've spent some significant amount of time 
> playing with exynos dsi code to check how to match its operations 
> (especially the runtime power management) to this design with the 
> current boards (Arndale with additional DSI->LVDS bridge and panel, 
> Trats2 with DSI panel and TM2e with MIC 'in-bridge' and DSI panel), but 
> without a success.

Can you help by iterating the missing pieces in the current bridge
infrastructure? Maybe it is something we can work out in a way that
benefits more than one bridge driver.

It would be nice with specific issues to look into.

Thanks in advance,

	Sam

  reply	other threads:[~2020-11-10 18:52 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200911165401epcas1p3c7ee84dd01db93f472d6fa21c1100f29@epcas1p3.samsung.com>
2020-09-11 13:53 ` [PATCH v2 00/16] drm/exynos: Convert driver to drm bridge Michael Tretter
2020-09-11 13:53   ` Michael Tretter
2020-09-11 13:53   ` [PATCH v2 01/16] drm/encoder: remove obsolete documentation of bridge Michael Tretter
2020-09-11 13:53     ` Michael Tretter
2020-11-07 15:07     ` Adam Ford
2020-11-07 15:07       ` Adam Ford
2020-11-10  8:46       ` Michael Tretter
2020-11-10  8:46         ` Michael Tretter
2020-11-07 22:17     ` Sam Ravnborg
2020-11-07 22:17       ` Sam Ravnborg
2020-09-11 13:53   ` [PATCH v2 02/16] drm/exynos: remove in_bridge_node from exynos_dsi Michael Tretter
2020-09-11 13:53     ` Michael Tretter
2020-11-07 22:19     ` Sam Ravnborg
2020-11-07 22:19       ` Sam Ravnborg
2020-11-09  2:24       ` Inki Dae
2020-09-11 13:54   ` [PATCH v2 03/16] drm/exynos: use exynos_dsi as drvdata Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-11-07 22:24     ` Sam Ravnborg
2020-11-07 22:24       ` Sam Ravnborg
2020-11-09  2:24       ` Inki Dae
2020-11-09  2:24         ` Inki Dae
2020-09-11 13:54   ` [PATCH v2 04/16] drm/exynos: extract helper functions for probe Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-11-07 22:27     ` Sam Ravnborg
2020-11-07 22:27       ` Sam Ravnborg
2020-11-09  2:52       ` Inki Dae
2020-11-09  2:52         ` Inki Dae
2020-09-11 13:54   ` [PATCH v2 05/16] drm/exynos: move dsi host registration to probe Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 06/16] drm/exynos: shift register values to fields on write Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-11-07 22:39     ` Sam Ravnborg
2020-11-07 22:39       ` Sam Ravnborg
2020-11-10  8:28       ` Michael Tretter
2020-11-10  8:28         ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 07/16] drm/exynos: use identifier instead of register offsets Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 08/16] drm/exynos: add host_ops callback for platform drivers Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-15 17:07     ` Andrzej Hajda
2020-09-15 17:07       ` Andrzej Hajda
2020-09-15 18:02       ` Michael Tretter
2020-09-15 18:02         ` Michael Tretter
2020-09-16 22:01         ` Andrzej Hajda
2020-09-16 22:01           ` Andrzej Hajda
2020-09-11 13:54   ` [PATCH v2 09/16] drm/exynos: add callback for tearing effect handler Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 10/16] drm/exynos: implement a drm bridge Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-14  8:29     ` Marek Szyprowski
2020-09-14  8:29       ` Marek Szyprowski
2020-09-14 12:31       ` Marek Szyprowski
2020-09-14 12:31         ` Marek Szyprowski
2020-09-14 20:01         ` Michael Tretter
2020-09-14 20:01           ` Michael Tretter
2020-09-14 21:19           ` Andrzej Hajda
2020-09-14 21:19             ` Andrzej Hajda
2020-09-15 19:40             ` Andrzej Hajda
2020-09-15 19:40               ` Andrzej Hajda
2021-02-01 16:33               ` Michael Tretter
2021-02-01 16:33                 ` Michael Tretter
2021-02-03 20:31                 ` Michael Tretter
2021-02-03 20:31                   ` Michael Tretter
2021-02-04 10:17                   ` Daniel Vetter
2021-02-04 10:17                     ` Daniel Vetter
2021-02-04 10:56                     ` Michael Tretter
2021-02-04 10:56                       ` Michael Tretter
2021-02-04 16:05                       ` Daniel Vetter
2021-02-04 16:05                         ` Daniel Vetter
2021-02-04 16:28                         ` Andrzej Hajda
2021-02-04 16:28                           ` Andrzej Hajda
2021-02-04 17:19                           ` Daniel Vetter
2021-02-04 17:19                             ` Daniel Vetter
2021-02-04 17:26                             ` Laurent Pinchart
2021-02-04 17:26                               ` Laurent Pinchart
2021-02-04 17:46                               ` Daniel Vetter
2021-02-04 17:46                                 ` Daniel Vetter
2021-02-10  9:10                                 ` Frieder Schrempf
2021-02-10  9:10                                   ` Frieder Schrempf
2021-02-18  8:04                                   ` Michael Tretter
2021-02-18  8:04                                     ` Michael Tretter
2021-02-18 16:02                                     ` Andrzej Hajda
2021-02-18 16:02                                       ` Andrzej Hajda
2021-02-23 12:07                                       ` Daniel Vetter
2021-02-23 12:07                                         ` Daniel Vetter
2021-04-20 11:42                                         ` Frieder Schrempf
2021-04-20 11:42                                           ` Frieder Schrempf
2021-04-20 14:27                                           ` Laurent Pinchart
2021-04-20 14:27                                             ` Laurent Pinchart
2020-09-11 13:54   ` [PATCH v2 11/16] drm/exynos: convert encoder functions to bridge function Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 12/16] drm/exynos: configure mode on drm bridge Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 13/16] drm/exynos: get encoder from bridge whenever possible Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 14/16] drm/exynos: add API functions for platform drivers Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 15/16] drm/exynos: split out platform specific code Michael Tretter
2020-09-11 13:54     ` Michael Tretter
2020-09-11 13:54   ` [PATCH v2 16/16] drm/exynos: move bridge driver to bridges Michael Tretter
2020-09-16  7:58     ` Daniel Vetter
2020-09-16  8:58       ` Michael Tretter
2020-09-16  9:03         ` Daniel Vetter
2020-11-09  3:15   ` [PATCH v2 00/16] drm/exynos: Convert driver to drm bridge Inki Dae
2020-11-09  3:15     ` Inki Dae
2020-11-10  8:13     ` Michael Tretter
2020-11-10  8:13       ` Michael Tretter
2020-11-10 12:34       ` Marek Szyprowski
2020-11-10 12:34         ` Marek Szyprowski
2020-11-10 18:52         ` Sam Ravnborg [this message]
2020-11-11  3:04       ` Inki Dae
2020-11-11  3:04         ` Inki Dae
2020-11-11  3:11         ` Inki Dae
2020-11-11  3:11           ` Inki Dae
2020-11-11 10:18           ` Michael Tretter
2020-11-11 10:18             ` Michael Tretter
2020-11-13  9:34             ` Inki Dae
2020-11-13  9:34               ` Inki Dae

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=20201110185243.GB2814653@ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=inki.dae@samsung.com \
    --cc=jy0922.shim@samsung.com \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=m.tretter@pengutronix.de \
    --cc=narmstrong@baylibre.com \
    --cc=sw0312.kim@samsung.com \
    --cc=sylvester.nawrocki@gmail.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 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.