[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190716145450.GA609@bogon.m.sigxcpu.org>
Date: Tue, 16 Jul 2019 16:54:50 +0200
From: Guido Günther <agx@...xcpu.org>
To: Robert Chiras <robert.chiras@....com>
Cc: "marex@...x.de" <marex@...x.de>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"airlied@...ux.ie" <airlied@...ux.ie>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"stefan@...er.ch" <stefan@...er.ch>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
dl-linux-imx <linux-imx@....com>,
"daniel@...ll.ch" <daniel@...ll.ch>,
"mark.rutland@....com" <mark.rutland@....com>,
"festevam@...il.com" <festevam@...il.com>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [EXT] Re: [PATCH 00/10] Improvements and fixes for mxsfb DRM
driver
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.
Cheers,
-- Guido
Powered by blists - more mailing lists