devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adam Ford <aford173@gmail.com>
To: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Cc: Lucas Stach <dev@lynxeye.de>, Marek Vasut <marex@denx.de>,
	devicetree <devicetree@vger.kernel.org>,
	linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Joonyoung Shim <jy0922.shim@samsung.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Frieder Schrempf <frieder.schrempf@kontron.de>,
	Andrzej Hajda <a.hajda@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	NXP Linux Team <Linux-imx@nxp.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Robert Foss <robert.foss@linaro.org>,
	linux-amarula <linux-amarula@amarulasolutions.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Jagan Teki <jagan@amarulasolutions.com>
Subject: Re: [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge
Date: Wed, 15 Dec 2021 07:34:05 -0600	[thread overview]
Message-ID: <CAHCN7x+aQ3g3pb_w_DJ1oDcE6gRgpYDayemQrj-6Pn2bhKrDvA@mail.gmail.com> (raw)
In-Reply-To: <CAOf5uwnSd0fBLHRgM2qvTH+4EorYamoED+XKL7dX=gA-eFKjkQ@mail.gmail.com>

On Thu, Dec 9, 2021 at 3:24 PM Michael Nazzareno Trimarchi
<michael@amarulasolutions.com> wrote:
>
> Hi
>
> On Thu, Dec 9, 2021 at 9:24 PM Lucas Stach <dev@lynxeye.de> wrote:
> >
> > Am Donnerstag, dem 09.12.2021 um 18:09 +0100 schrieb Michael Nazzareno
> > Trimarchi:
> > > Hi Tim
> > >
> > > On Thu, Dec 9, 2021 at 5:40 PM Tim Harvey <tharvey@gateworks.com> wrote:
> > > >
> > > > On Thu, Dec 9, 2021 at 12:36 AM Michael Nazzareno Trimarchi
> > > > <michael@amarulasolutions.com> wrote:
> > > > >
> > > > > Hi Tim
> > > > >
> > > > > On Tue, Oct 5, 2021 at 11:43 PM Tim Harvey <tharvey@gateworks.com> wrote:
> > > > > >
> > > > > > On Sun, Jul 25, 2021 at 10:14 AM Jagan Teki <jagan@amarulasolutions.com> wrote:
> > > > > > >
> > > > > > > Hi Sam,
> > > > > > >
> > > > > > > On Sun, Jul 25, 2021 at 10:35 PM Sam Ravnborg <sam@ravnborg.org> wrote:
> > > > > > > >
> > > > > > > > Hi Jagan,
> > > > > > > >
> > > > > > > > On Sun, Jul 04, 2021 at 02:32:13PM +0530, Jagan Teki wrote:
> > > > > > > > > This series supports common bridge support for Samsung MIPI DSIM
> > > > > > > > > which is used in Exynos and i.MX8MM SoC's.
> > > > > > > > >
> > > > > > > > > The final bridge supports both the Exynos and i.MX8MM DSI devices.
> > > > > > > > >
> > > > > > > > > Right now bridge offers two sets of implementations.
> > > > > > > > >
> > > > > > > > > A. With component_ops and exynos specific code exclusively for
> > > > > > > > >    exynos dsi drivers and it's legacy bindings.
> > > > > > > > >
> > > > > > > > > B. Without componenet_ops for newly implemented bridges and its
> > > > > > > > >    users like i.MX8MM.
> > > > > > > > >
> > > > > > > > > The future plan is to fix the implementation A) by dropping
> > > > > > > > > component_ops and fixing exynos specific code in order to make
> > > > > > > > > the bridge more mature to use and the same is mentioned in
> > > > > > > > > drivers TODO.
> > > > > > > > >
> > > > > > > > > Patch 0001 - 0006: Bridge conversion
> > > > > > > > > Patch 0007 - 0017: Samsung MIPI DSIM bridge fixes, additions
> > > > > > > > >
> > > > > > > > > Tested in Engicam i.Core MX8M Mini SoM.
> > > > > > > > >
> > > > > > > > > Anyone interest, please have a look on this repo
> > > > > > > > > https://github.com/openedev/linux/tree/070421-imx8mm-dsim
> > > > > > > > >
> > > > > > > > > Would appreciate anyone from the exynos team to test it on
> > > > > > > > > the exynos platform?
> > > > > > > > >
> > > > > > > > > Any inputs?
> > > > > > > >
> > > > > > > > I really like where you are headign with this!
> > > > > > > > No testing - sorry. But I will try to provide a bit of feedback on the
> > > > > > > > individual patches.
> > > > > > > >
> > > > > > > > I hope you find a way to move forward with this.
> > > > > > >
> > > > > > > Thanks for the response.
> > > > > > >
> > > > > > > We have found some issues with Bridge conversion on existing exynos
> > > > > > > drivers. The component based DSI drivers(like exynos) are difficult to
> > > > > > > attach if it involves kms hotplug. kms hotplug would require drm
> > > > > > > pointer and that pointer would only available after the bind call
> > > > > > > finishes. But the bridge attach in bind call will defer till it find
> > > > > > > the attached bridge.
> > > > > > >
> > > > > > > Right now I'm trying to find the proper way to attach the bridges for
> > > > > > > component based DSI drivers which involves kms hot-plug.
> > > > > > >
> > > > > > > If you have any ideas on this, please let me know.
> > > > > > >
> > > > > >
> > > > > > Jagan,
> > > > > >
> > > > > > How is your progress on this series? Looking at your repo it looks
> > > > > > like you've rebased on top of 5.13-rc3 in your 070121-imx8mm-dsim
> > > > > > branch but you've got a lot of things there that are likely not
> > > > > > related to this series?
> > > > >
> > > > > I have a bit of work on those patches and tested on imx8mn. Basically:
> > > > >
> > > > > - add the dsi timing calculation
> > > > > - change few difference with samsung bridge
> > > > > - fix crashes of my dsi panels
> > > > > - compare with NXP driver the final results
> > > > >
> > > > > I found that I have one problem that gives me some instability. In the
> > > > > NXP original driver the panel needs to be
> > > > > enabled in bridge_enable before out the standby. If I understand
> > > > > correctly, our standby should be done after.
> > > > > I would like to have some feedback and help and testing on other
> > > > > boards/devices and some suggestions on how to handle
> > > > > some of the differences. Another big problem is etnavi that is not stable
> > > > >
> > > >
> > > > Michael,
> > > >
> > > > Where can I find your patches?
> > > >
> > >
> > > I will push on some tree and share
> > >
> > > > What do you mean by etnaviv not being stable?
> > > >
> > > > I did some limited testing with etnaviv on imx8mm with 5.15 + dsi
> > >
> > >
> > >
> > > > patches on an Ubuntu focal root filesystem by:
> > > > apt update
> > > > apt install gnome-session gnome-terminal
> > > > ^^^ 2D hardware acceleration appears to be working (dragging opaque
> > > > windows around)
> > > > apt install mesa-utils glmark2
> > > > glxgears
> > > > ^^^ ~160fps on IMX8MM
> > > > glmark2
> > > > ^^^ score of 39 on IMX8MM
> > > >
> > > > I haven't seen any updates from Jagan since Nov 24
> > > > (https://www.spinics.net/lists/dri-devel/msg324059.html) and am not
> > > > sure if he's been able to work through drm/exynos issues that have
> > > > been blocking his progress.
> > >
> > > I plan to push on github
> > >
> > > [17:07:42.315] Sending ready to systemd
> > > [  214.052085] etnaviv-gpu 38000000.gpu: recover hung GPU!
> > > [  214.595998] etnaviv-gpu 38000000.gpu: recover hung GPU!

Which Nano variant do you have?  Not all Nano's have a GPU.  I know
Tim Harvey was having a similar issue, but it turns out his variant of
the Nano did not include a GPU.

> > >
> > > ** (maynard:386): WARNING **: 17:07:43.874: failed to setup mixer: Success
> > > [17:07:44.175] Added surface 0xaaab02630440, app_id (null) to pending list
> > > [17:07:44.176] Added surface 0xaaab026172b0, app_id (null) to pending list
> > > ** Message: 17:07:44.289: New advertisement app id maynard
> > > ** Message: 17:07:44.290: New advertisement app id maynard
> > > [17:07:45.171] (background) position view 0xaaab0261f860, x 0, y 0, on
> > > output DSI-1
> > > [17:07:45.171] (panel) geom.width 100, geom.height 480, geom.x 0, geom.y 0
> > > [17:07:45.171] (panel) edge 2 position view 0xaaab02634510, x 0, y 0
> > > [17:07:45.172] panel type 2 inited on output DSI-1
> > > [17:07:45.172] Usable area: 380x480+100,0
> > > [  216.932080] etnaviv-gpu 38000000.gpu: recover hung GPU!
> > > [  217.476015] etnaviv-gpu 38000000.gpu: recover hung GPU!
> > > [  218.020157] etnaviv-gpu 38000000.gpu: recover hung GPU!
> > >
> > > This is my problem on imx8mn
> >
> > Note that the GPU on the 8MN is from the GC7000 generation, which
> > genreally has bogus feature registers, as VeriSilicon stopped using
> > them in favor of a hardware database. To get the GPu working you need
> > to transcribe the entry for this specific GPU from the downstream GPU
> > driver into the etanviv HWDB format, to make the kernel and userspace
> > driver aware of how to drive this GPU.
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
> b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
> index f2fc645c7956..724f78fd37e5 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
> @@ -68,6 +68,37 @@ static const struct etnaviv_chip_identity
> etnaviv_chip_identities[] = {
>                 .minor_features10 = 0x00004040,
>                 .minor_features11 = 0x00000024,
>         },
> +       {
> +               .model = 0x7000,
> +               .revision = 0x6203,
> +               .product_id = ~0U,
> +               .customer_id = ~0U,
> +               .eco_id = 0,
> +               .stream_count = 16,
> +               .register_max = 64,
> +               .thread_count = 512,
> +               .shader_core_count = 2,
> +               .vertex_cache_size = 16,
> +               .vertex_output_buffer_size = 1024,
> +               .pixel_pipes = 1,
> +               .instruction_count = 512,
> +               .num_constants = 320,
> +               .buffer_size = 0,
> +               .varyings_count = 16,
> +               .features = 0xe0287c8c,
> +               .minor_features0 = 0xc1589eff,
> +               .minor_features1 = 0xfefbfad9,
> +               .minor_features2 = 0xeb9d4fbf,
> +               .minor_features3 = 0xedfffced,
> +               .minor_features4 = 0xdb0dafc7,
> +               .minor_features5 = 0x3b5ac333,
> +               .minor_features6 = 0xfcce6000,
> +               .minor_features7 = 0xfffbfa6f,
> +               .minor_features8 = 0x00e10ef3,
> +               .minor_features9 = 0x00c8003c,
> +               .minor_features10 = 0x00004040,
> +               .minor_features11 = 0x00000024,
> +       },
>         {
>                 .model = 0x7000,
>                 .revision = 0x6204,
>
> Ok, should something like this. Only does not know about this
> gcFEATURE_BIT_DE_2D_FAST_CLEAR. I put in features but can even a
> minor. Do you know the right mapping?
>
> Michael
>
> Michael
>
> >
> > Regards,
> > Lucas
> >
>
>
> --
> Michael Nazzareno Trimarchi
> Co-Founder & Chief Executive Officer
> M. +39 347 913 2170
> michael@amarulasolutions.com
> __________________________________
>
> Amarula Solutions BV
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> T. +31 (0)85 111 9172
> info@amarulasolutions.com
> www.amarulasolutions.com

      reply	other threads:[~2021-12-15 13:34 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-04  9:02 Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 01/17] drm/exynos: dsi: Convert to bridge driver Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 02/17] drm/exynos: dsi: Handle drm_device for bridge Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 03/17] drm/exynos: dsi: Use the drm_panel_bridge API Jagan Teki
2021-07-05 11:47   ` Marek Szyprowski
2021-07-05 12:00     ` Jagan Teki
2021-07-05 12:13       ` Marek Szyprowski
2021-07-05 12:34         ` Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 04/17] drm/exynos: dsi: Create bridge connector for encoder Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 05/17] drm/exynos: dsi: Get the mode from bridge Jagan Teki
2021-07-29 13:20   ` Robert Foss
2021-07-04  9:02 ` [RFC PATCH 06/17] drm/exynos: dsi: Handle exynos specifics via driver_data Jagan Teki
     [not found]   ` <YP2el40V3K4R7ner@ravnborg.org>
2021-07-25 17:31     ` Jagan Teki
2021-08-13  6:50     ` Inki Dae
2021-08-13 12:16       ` Laurent Pinchart
2021-08-18  6:09         ` Inki Dae
2021-07-04  9:02 ` [RFC PATCH 07/17] drm: bridge: Move exynos_drm_dsi into bridges Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 08/17] dt-bindings: display: bridge: Add Samsung MIPI DSIM bridge Jagan Teki
2021-07-12 15:13   ` Rob Herring
2021-07-12 15:23     ` Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 09/17] drm: bridge: samsung-dsim: Add module init, exit Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 10/17] drm: bridge: samsung-dsim: Update the of_node for port(s) Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 11/17] drm: bridge: samsung-dsim: Find the possible DSI devices Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 12/17] dt-bindings: display: bridge: samsung,mipi-dsim: Add i.MX8MM support Jagan Teki
2021-07-14 22:59   ` Rob Herring
2021-07-04  9:02 ` [RFC PATCH 13/17] drm: bridge: samsung-dsim: " Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 14/17] drm: bridge: samsung-dsim: Add input_bus_flags Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 15/17] drm: bridge: samsung-dsim: Move DSI init in bridge enable Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 16/17] drm: bridge: samsung-dsim: Fix PLL_P offset Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 17/17] drm: bridge: samsung-dsim: Add bridge mode_fixup Jagan Teki
     [not found] ` <YP2ZvoVQyvwTXP++@ravnborg.org>
2021-07-25 17:13   ` [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge Jagan Teki
2021-10-05 21:43     ` Tim Harvey
2021-12-09  8:36       ` Michael Nazzareno Trimarchi
2021-12-09 16:40         ` Tim Harvey
2021-12-09 17:09           ` Michael Nazzareno Trimarchi
2021-12-09 17:57             ` Tim Harvey
2021-12-09 20:24             ` Lucas Stach
2021-12-09 21:24               ` Michael Nazzareno Trimarchi
2021-12-15 13:34                 ` Adam Ford [this message]

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=CAHCN7x+aQ3g3pb_w_DJ1oDcE6gRgpYDayemQrj-6Pn2bhKrDvA@mail.gmail.com \
    --to=aford173@gmail.com \
    --cc=Linux-imx@nxp.com \
    --cc=a.hajda@samsung.com \
    --cc=daniel.vetter@intel.com \
    --cc=dev@lynxeye.de \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=frieder.schrempf@kontron.de \
    --cc=jagan@amarulasolutions.com \
    --cc=jy0922.shim@samsung.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-amarula@amarulasolutions.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=michael@amarulasolutions.com \
    --cc=narmstrong@baylibre.com \
    --cc=robert.foss@linaro.org \
    --cc=sam@ravnborg.org \
    --cc=sw0312.kim@samsung.com \
    --subject='Re: [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge' \
    /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

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).