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: > > > > > > > > 1. 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@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >