Hi Robert, On Tue, Jul 16, 2019 at 04:54:50PM +0200, Guido Günther wrote:
Hi Robert, On Fri, Jul 12, 2019 at 08:15:32AM +0000, Robert Chiras wrote:
Hi Guido,
On Jo, 2019-07-11 at 17:04 +0200, Guido Günther wrote:
Hi Robert, On Wed, Jun 26, 2019 at 04:32:08PM +0300, Robert Chiras wrote:
This patch-set improves the use of eLCDIF block on iMX 8 SoCs (like 8MQ, 8MM and 8QXP). Following, are the new features added and fixes from this patch-set:
- Add support for drm_bridge
On 8MQ and 8MM, the LCDIF block is not directly connected to a parallel display connector, where an LCD panel can be attached, but instead it is connected to DSI controller. Since this DSI stands between the display controller (eLCDIF) and the physical connector, the DSI can be implemented as a DRM bridge. So, in order to be able to connect the mxsfb driver to the DSI driver, the support for a drm_bridge was needed in mxsfb DRM driver (the actual driver for the eLCDIF block).
So I wanted to test this but with both my somewhat cleaned up nwl driver¹ and the nwl driver forward ported from the nxp vendor tree I'm looking at a black screen with current mainline - while my dcss forward port gives me nice output on mipi dsi. Do you have a tree that uses mipi dsi on imx8mq where I could look at to check for differences?
Somewhere on the pixel path (between the display controller and the DSI) there is a block that inverts the polarity. I can't remember exactly what was the role of this block, but the polarity is inverted when eLCDIF is used in combination with the DSI. If you take a look at my DSI driver from NXP releases (I guess you have them), you will see there is a hack in mode_fixup:
unsigned int *flags = &mode->flags; if (dsi->sync_pol { *flags |= DRM_MODE_FLAG_PHSYNC; *flags |= DRM_MODE_FLAG_PVSYNC; *flags &= ~DRM_MODE_FLAG_NHSYNC; *flags &= ~DRM_MODE_FLAG_NVSYNC; } else { *flags &= ~DRM_MODE_FLAG_PHSYNC; *flags &= ~DRM_MODE_FLAG_PVSYNC; *flags |= DRM_MODE_FLAG_NHSYNC; *flags |= DRM_MODE_FLAG_NVSYNC; }
Thanks for the suggestion! I'll try that.
I know it's not clean, but it works for now. You can try this in your driver and see if it helps. These days I will also take your nwl-dsi driver and test it, and also add support for bridge and eLCDIF to see if I can make it work.
I have hacky bridge support over here already. Give me some days to clean it up and it might safe you some work.
Your suggestion above (plus some other fixes) worked and mxsfb+nwl+mixel-dphy works over here. I'll try to send a v1 of the nwl driver out during the week. Cheers, -- Guido
Cheers, -- Guido
linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel