linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Robert Chiras <robert.chiras@nxp.com>
To: "agx@sigxcpu.org" <agx@sigxcpu.org>
Cc: "marex@denx.de" <marex@denx.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"airlied@linux.ie" <airlied@linux.ie>,
	"shawnguo@kernel.org" <shawnguo@kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"stefan@agner.ch" <stefan@agner.ch>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>,
	"daniel@ffwll.ch" <daniel@ffwll.ch>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [EXT] Re: [PATCH 00/10] Improvements and fixes for mxsfb DRM driver
Date: Fri, 12 Jul 2019 08:15:32 +0000	[thread overview]
Message-ID: <1562919331.3209.11.camel@nxp.com> (raw)
In-Reply-To: <20190711150403.GB23195@bogon.m.sigxcpu.org>

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;
}

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.

Best regards,
Robert
> 
> Cheers,
>  -- Guido
> 
> > 
> > 
> > 2. Add support for additional pixel formats
> > Some of the pixel formats needed by Android were not implemented in
> > this
> > driver, but they were actually supported. So, add support for them.
> > 
> > 3. Add support for horizontal stride
> > Having support for horizontal stride allows the use of eLCDIF with
> > a GPU
> > (for example) that can only output resolution sizes multiple of a
> > power of
> > 8. For example, 1080 is not a power of 16, so in order to support
> > 1920x1080
> > output from GPUs that can produce linear buffers only in sizes
> > multiple to 16,
> > this feature is needed.
> > 
> > 3. Few minor features and bug-fixing
> > The addition of max-res DT property was actually needed in order to
> > limit
> > the bandwidth usage of the eLCDIF block. This is need on systems
> > where
> > multiple display controllers are presend and the memory bandwidth
> > is not
> > enough to handle all of them at maximum capacity (like it is the
> > case on
> > 8MQ, where there are two display controllers: DCSS and eLCDIF).
> > The rest of the patches are bug-fixes.
> > 
> > Mirela Rabulea (1):
> >   drm/mxsfb: Signal mode changed when bpp changed
> > 
> > Robert Chiras (9):
> >   drm/mxsfb: Update mxsfb to support a bridge
> >   drm/mxsfb: Update mxsfb with additional pixel formats
> >   drm/mxsfb: Fix the vblank events
> >   dt-bindings: display: Add max-res property for mxsfb
> >   drm/mxsfb: Add max-res property for MXSFB
> >   drm/mxsfb: Update mxsfb to support LCD reset
> >   drm/mxsfb: Improve the axi clock usage
> >   drm/mxsfb: Clear OUTSTANDING_REQS bits
> >   drm/mxsfb: Add support for horizontal stride
> > 
> >  .../devicetree/bindings/display/mxsfb.txt          |   6 +
> >  drivers/gpu/drm/mxsfb/mxsfb_crtc.c                 | 290
> > ++++++++++++++++++---
> >  drivers/gpu/drm/mxsfb/mxsfb_drv.c                  | 189
> > +++++++++++---
> >  drivers/gpu/drm/mxsfb/mxsfb_drv.h                  |  10 +-
> >  drivers/gpu/drm/mxsfb/mxsfb_out.c                  |  26 +-
> >  drivers/gpu/drm/mxsfb/mxsfb_regs.h                 | 128 ++++++---
> >  6 files changed, 531 insertions(+), 118 deletions(-)
> > 
> > --
> > 2.7.4
> > 
> > 
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fli
> > sts.infradead.org%2Fmailman%2Flistinfo%2Flinux-arm-
> > kernel&amp;data=02%7C01%7Crobert.chiras%40nxp.com%7C7dc01a0bdf9245b
> > 8d87008d70611055b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6369
> > 84542481903425&amp;sdata=ySInO6H1B4kJtJUwRs2uTIUve0SSNZF0s%2Bv%2FDU
> > 0Vy1E%3D&amp;reserved=0
> > 
> ¹ https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fl
> ists.freedesktop.org%2Farchives%2Fdri-devel%2F2019-
> March%2F209685.html&amp;data=02%7C01%7Crobert.chiras%40nxp.com%7C7dc0
> 1a0bdf9245b8d87008d70611055b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7
> C0%7C636984542481913416&amp;sdata=ucYDQLiK7RalRF%2B5MeB3%2F76cFLGWa7C
> mxCFLEg4Wvqc%3D&amp;reserved=0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-07-12  8:15 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-26 13:32 [PATCH 00/10] Improvements and fixes for mxsfb DRM driver Robert Chiras
2019-06-26 13:32 ` [PATCH 01/10] drm/mxsfb: Update mxsfb to support a bridge Robert Chiras
2019-07-21 10:26   ` Guido Günther
2019-06-26 13:32 ` [PATCH 02/10] drm/mxsfb: Update mxsfb with additional pixel formats Robert Chiras
2019-07-21 10:27   ` Guido Günther
2019-06-26 13:32 ` [PATCH 03/10] drm/mxsfb: Fix the vblank events Robert Chiras
2019-06-26 13:32 ` [PATCH 04/10] drm/mxsfb: Signal mode changed when bpp changed Robert Chiras
2019-06-26 13:32 ` [PATCH 05/10] dt-bindings: display: Add max-res property for mxsfb Robert Chiras
2019-07-22 17:48   ` Rob Herring
2019-08-14  8:05     ` [EXT] " Robert Chiras
2019-06-26 13:32 ` [PATCH 06/10] drm/mxsfb: Add max-res property for MXSFB Robert Chiras
2019-06-26 13:32 ` [PATCH 07/10] drm/mxsfb: Update mxsfb to support LCD reset Robert Chiras
2019-06-26 13:32 ` [PATCH 08/10] drm/mxsfb: Improve the axi clock usage Robert Chiras
2019-06-26 13:32 ` [PATCH 09/10] drm/mxsfb: Clear OUTSTANDING_REQS bits Robert Chiras
2019-06-26 13:32 ` [PATCH 10/10] drm/mxsfb: Add support for horizontal stride Robert Chiras
2019-07-11 15:04 ` [PATCH 00/10] Improvements and fixes for mxsfb DRM driver Guido Günther
2019-07-12  8:15   ` Robert Chiras [this message]
2019-07-16 14:54     ` [EXT] " Guido Günther
2019-07-20 21:09       ` Guido Günther
2019-08-13 10:23 ` Guido Günther
2019-08-13 10:36   ` [EXT] " Robert Chiras

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=1562919331.3209.11.camel@nxp.com \
    --to=robert.chiras@nxp.com \
    --cc=agx@sigxcpu.org \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=stefan@agner.ch \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).