All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
To: Lucas Stach <dev@lynxeye.de>
Cc: Tim Harvey <tharvey@gateworks.com>, Marek Vasut <marex@denx.de>,
	devicetree <devicetree@vger.kernel.org>,
	linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	Joonyoung Shim <jy0922.shim@samsung.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Neil Armstrong <narmstrong@baylibre.com>,
	linux-amarula <linux-amarula@amarulasolutions.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	NXP Linux Team <Linux-imx@nxp.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>,
	Jagan Teki <jagan@amarulasolutions.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Robert Foss <robert.foss@linaro.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge
Date: Thu, 9 Dec 2021 22:24:14 +0100	[thread overview]
Message-ID: <CAOf5uwnSd0fBLHRgM2qvTH+4EorYamoED+XKL7dX=gA-eFKjkQ@mail.gmail.com> (raw)
In-Reply-To: <ad3feb990ea73d258075e9bf3d3034189266bad2.camel@lynxeye.de>

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!
> >
> > ** (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

WARNING: multiple messages have this Message-ID (diff)
From: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
To: Lucas Stach <dev@lynxeye.de>
Cc: 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: Thu, 9 Dec 2021 22:24:14 +0100	[thread overview]
Message-ID: <CAOf5uwnSd0fBLHRgM2qvTH+4EorYamoED+XKL7dX=gA-eFKjkQ@mail.gmail.com> (raw)
In-Reply-To: <ad3feb990ea73d258075e9bf3d3034189266bad2.camel@lynxeye.de>

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!
> >
> > ** (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

WARNING: multiple messages have this Message-ID (diff)
From: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
To: Lucas Stach <dev@lynxeye.de>
Cc: Tim Harvey <tharvey@gateworks.com>, Marek Vasut <marex@denx.de>,
	 devicetree <devicetree@vger.kernel.org>,
	 linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	 Joonyoung Shim <jy0922.shim@samsung.com>,
	 linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	 Neil Armstrong <narmstrong@baylibre.com>,
	 linux-amarula <linux-amarula@amarulasolutions.com>,
	 Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	 NXP Linux Team <Linux-imx@nxp.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>,
	Jagan Teki <jagan@amarulasolutions.com>,
	 Daniel Vetter <daniel.vetter@intel.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	 Robert Foss <robert.foss@linaro.org>,
	 Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge
Date: Thu, 9 Dec 2021 22:24:14 +0100	[thread overview]
Message-ID: <CAOf5uwnSd0fBLHRgM2qvTH+4EorYamoED+XKL7dX=gA-eFKjkQ@mail.gmail.com> (raw)
In-Reply-To: <ad3feb990ea73d258075e9bf3d3034189266bad2.camel@lynxeye.de>

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!
> >
> > ** (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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-12-09 21:24 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-04  9:02 [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge Jagan Teki
2021-07-04  9:02 ` Jagan Teki
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   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-25 17:08   ` Sam Ravnborg
2021-07-25 17:08     ` Sam Ravnborg
2021-07-04  9:02 ` [RFC PATCH 02/17] drm/exynos: dsi: Handle drm_device for bridge Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-25 17:09   ` Sam Ravnborg
2021-07-25 17:09     ` Sam Ravnborg
2021-07-04  9:02 ` [RFC PATCH 03/17] drm/exynos: dsi: Use the drm_panel_bridge API Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-05 11:47   ` Marek Szyprowski
2021-07-05 11:47     ` Marek Szyprowski
2021-07-05 11:47     ` Marek Szyprowski
2021-07-05 12:00     ` Jagan Teki
2021-07-05 12:00       ` Jagan Teki
2021-07-05 12:00       ` Jagan Teki
2021-07-05 12:13       ` Marek Szyprowski
2021-07-05 12:13         ` Marek Szyprowski
2021-07-05 12:13         ` Marek Szyprowski
2021-07-05 12:34         ` Jagan Teki
2021-07-05 12:34           ` Jagan Teki
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   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-04  9:02 ` [RFC PATCH 05/17] drm/exynos: dsi: Get the mode from bridge Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-25 17:17   ` Sam Ravnborg
2021-07-25 17:17     ` Sam Ravnborg
2021-07-29 13:20   ` Robert Foss
2021-07-29 13:20     ` Robert Foss
2021-07-29 13:20     ` Robert Foss
2021-07-29 16:50     ` Sam Ravnborg
2021-07-29 16:50       ` Sam Ravnborg
2021-07-04  9:02 ` [RFC PATCH 06/17] drm/exynos: dsi: Handle exynos specifics via driver_data Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-25 17:25   ` Sam Ravnborg
2021-07-25 17:25     ` Sam Ravnborg
2021-07-25 17:31     ` Jagan Teki
2021-07-25 17:31       ` Jagan Teki
2021-07-25 17:31       ` Jagan Teki
2021-08-13  6:50     ` Inki Dae
2021-08-13  6:50       ` Inki Dae
2021-08-13 12:16       ` Laurent Pinchart
2021-08-13 12:16         ` Laurent Pinchart
2021-08-18  6:09         ` Inki Dae
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   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-04 13:26   ` kernel test robot
2021-07-04  9:02 ` [RFC PATCH 08/17] dt-bindings: display: bridge: Add Samsung MIPI DSIM bridge Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-12 15:13   ` Rob Herring
2021-07-12 15:13     ` Rob Herring
2021-07-12 15:13     ` Rob Herring
2021-07-12 15:23     ` Jagan Teki
2021-07-12 15:23       ` Jagan Teki
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   ` Jagan Teki
2021-07-04  9:02   ` 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   ` Jagan Teki
2021-07-04  9:02   ` 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   ` Jagan Teki
2021-07-04  9:02   ` 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-04  9:02   ` [RFC PATCH 12/17] dt-bindings: display: bridge: samsung, mipi-dsim: " Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-14 22:59   ` [RFC PATCH 12/17] dt-bindings: display: bridge: samsung,mipi-dsim: " Rob Herring
2021-07-14 22:59     ` Rob Herring
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   ` Jagan Teki
2021-07-04  9:02   ` 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   ` Jagan Teki
2021-07-04  9:02   ` 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   ` Jagan Teki
2021-07-04  9:02   ` 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   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-25 17:48   ` Sam Ravnborg
2021-07-25 17:48     ` Sam Ravnborg
2021-07-04  9:02 ` [RFC PATCH 17/17] drm: bridge: samsung-dsim: Add bridge mode_fixup Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-04  9:02   ` Jagan Teki
2021-07-25 17:50   ` Sam Ravnborg
2021-07-25 17:50     ` Sam Ravnborg
2021-07-25 17:05 ` [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge Sam Ravnborg
2021-07-25 17:05   ` Sam Ravnborg
2021-07-25 17:13   ` Jagan Teki
2021-07-25 17:13     ` Jagan Teki
2021-07-25 17:13     ` Jagan Teki
2021-10-05 21:43     ` Tim Harvey
2021-10-05 21:43       ` Tim Harvey
2021-12-09  8:36       ` Michael Nazzareno Trimarchi
2021-12-09  8:36         ` Michael Nazzareno Trimarchi
2021-12-09  8:36         ` Michael Nazzareno Trimarchi
2021-12-09 16:40         ` Tim Harvey
2021-12-09 16:40           ` Tim Harvey
2021-12-09 16:40           ` Tim Harvey
2021-12-09 17:09           ` Michael Nazzareno Trimarchi
2021-12-09 17:09             ` Michael Nazzareno Trimarchi
2021-12-09 17:09             ` Michael Nazzareno Trimarchi
2021-12-09 17:57             ` Tim Harvey
2021-12-09 17:57               ` Tim Harvey
2021-12-09 17:57               ` Tim Harvey
2021-12-09 20:24             ` Lucas Stach
2021-12-09 20:24               ` Lucas Stach
2021-12-09 20:24               ` Lucas Stach
2021-12-09 21:24               ` Michael Nazzareno Trimarchi [this message]
2021-12-09 21:24                 ` Michael Nazzareno Trimarchi
2021-12-09 21:24                 ` Michael Nazzareno Trimarchi
2021-12-15 13:34                 ` Adam Ford
2021-12-15 13:34                   ` Adam Ford
2021-12-15 13:34                   ` Adam Ford

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='CAOf5uwnSd0fBLHRgM2qvTH+4EorYamoED+XKL7dX=gA-eFKjkQ@mail.gmail.com' \
    --to=michael@amarulasolutions.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=narmstrong@baylibre.com \
    --cc=robert.foss@linaro.org \
    --cc=sam@ravnborg.org \
    --cc=sw0312.kim@samsung.com \
    --cc=tharvey@gateworks.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.