Thread (9 messages) flat view 9 messages, 5 authors, 2021-12-15

Re: [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge

From: Tim Harvey <tharvey@gateworks.com>
Date: 2021-12-09 17:57:13
Also in: dri-devel, linux-arm-kernel, linux-samsung-soc

On Thu, Dec 9, 2021 at 9:09 AM Michael Nazzareno Trimarchi
[off-list ref] wrote:
Hi Tim

On Thu, Dec 9, 2021 at 5:40 PM Tim Harvey [off-list ref] wrote:
quoted
On Thu, Dec 9, 2021 at 12:36 AM Michael Nazzareno Trimarchi
[off-list ref] wrote:
quoted
Hi Tim

On Tue, Oct 5, 2021 at 11:43 PM Tim Harvey [off-list ref] wrote:
quoted
On Sun, Jul 25, 2021 at 10:14 AM Jagan Teki [off-list ref] wrote:
quoted
Hi Sam,

On Sun, Jul 25, 2021 at 10:35 PM Sam Ravnborg [off-list ref] wrote:
quoted
Hi Jagan,

On Sun, Jul 04, 2021 at 02:32:13PM +0530, Jagan Teki wrote:
quoted
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
quoted
What do you mean by etnaviv not being stable?

I did some limited testing with etnaviv on imx8mm with 5.15 + dsi

quoted
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
Do you have an imx8mm to compare with? Unfortunately I do not have an
imx8mn with a MIPI DSI connector and can only test with imx8mm.

What software (other than kernel which you will share) do you have
installed above and how is it configured or run to show the issue?

Best regards,

Tim
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help