linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: devicetree <devicetree@vger.kernel.org>,
	"Laurentiu Palcu" <laurentiu.palcu@nxp.com>,
	"Guido Günther" <agx@sigxcpu.org>,
	lukas@mntmn.com,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"NXP Linux Team" <linux-imx@nxp.com>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Sam Ravnborg" <sam@ravnborg.org>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	"Lucas Stach" <l.stach@pengutronix.de>
Subject: Re: [PATCH v9 0/5] Add support for iMX8MQ Display Controller Subsystem
Date: Thu, 10 Sep 2020 11:04:32 +0300	[thread overview]
Message-ID: <20200910080432.26dleo5wxybsacvl@fsr-ub1864-141> (raw)
In-Reply-To: <CAKMK7uG7s1j+k0WPq8H4OcTD0jP2_LpTy0SBw0RtP-ij1OS7Mw@mail.gmail.com>

Hi Daniel,

On Thu, Sep 10, 2020 at 08:47:34AM +0200, Daniel Vetter wrote:
> On Wed, Sep 9, 2020 at 5:03 PM Lucas Stach <l.stach@pengutronix.de> wrote:
> >
> > Hi Laurentiu,
> >
> > On Mo, 2020-08-31 at 14:24 +0300, Laurentiu Palcu wrote:
> > > Hi Lucas, Sam,
> > >
> > > On Mon, Aug 31, 2020 at 12:37:23PM +0200, Lucas Stach wrote:
> > > > Hi Laurentiu,
> > > >
> > > > On Fr, 2020-08-28 at 11:36 +0300, Laurentiu Palcu wrote:
> > > > > Hi Lucas,
> > > > >
> > > > > I was wondering about the plans to merge this series. Since not many
> > > > > people can test it properly due to lack of DCSS support in the upstream
> > > > > NWL driver (which I heard it's coming soon) and a completely nonexistent
> > > > > HDP driver, are we going to take a leap of faith and merge it as is? Or
> > > > > should we wait?
> > > >
> > > > I think even if the bridges aren't ready yet, the driver is in a good
> > > > enough shape to merge it. There's no point in letting it accumulate
> > > > bitrot while waiting for the bridges to land. Also I guess it will make
> > > > bridge driver development a lot easier when the DCSS driver is in-tree.
> > >
> > > OK, fair enough.
> > >
> > > > > As to who is going to do the actual merge, I know we had a brief
> > > > > discussion about it some time ago and I was supposed to apply for
> > > > > drm-misc rights, however it feels a little awkward to merge my own
> > > > > code... :) Though, I might not even qualify for drm-misc rights anyway,
> > > > > considering I haven't been very active in this area... :/
> > > >
> > > > Please consider applying for drm-misc merge rights. Even if you don't
> > > > do the initial merge I think it will come in handy in the long run.
> > >
> > > OK, I'll apply for drm-misc rights. Sam also encouraged me to do this in
> > > a previous email. Since this series will be followed by a bunch of other
> > > patches, enabling support for video planes, among other things, I guess
> > > I'll need the rights anyway.
> > >
> > > > > On that note, I will probably need help with the merging, provided it's
> > > > > still happenning. Will you be able to help me out with this?
> > > >
> > > > Sure, I'm having some time available this week. I'll give this v9
> > > > another spin on my boards and will do the merge after that.
> > >
> > > Thanks Lucas. As a matter of fact, after Sam's email, I was preparing a
> > > v10 after rebasing to latest drm-next. However, no conflicts were encountered
> > > and the v9 series applied cleanly. Let me know if you encounter any
> > > issues and I can resend it.
> >
> > I've tested this together with a hacked up eDP bridge driver stack on
> > my boards. The testing hasn't been really in-depth, but things seem to
> > work fine. I have now pushed the whole series into drm-misc-next.
> 
> Something doesn't compile too well
> 
> ERROR: modpost: "__aeabi_ldivmod"
> [drivers/gpu/drm/imx/dcss/imx-dcss.ko] undefined!
> ERROR: modpost: "__aeabi_uldivmod"
> [drivers/gpu/drm/imx/dcss/imx-dcss.ko] undefined!

Oops... :/ I guess we need an ARM64 dependency in Kconfig. No
32bit NXP SoC uses this particular display controller. So, that should
fix the compilation issue on 32bit.

I'll send a fix shortly.

Thanks,
laurentiu

> 
> Cheers, Daniel
> >
> > Regards,
> > Lucas
> >
> > > Thanks,
> > > Laurentiu
> > >
> > > > Regards,
> > > > Lucas
> > > >
> > > > > Thanks,
> > > > > laurentiu
> > > > >
> > > > > On Fri, Jul 31, 2020 at 11:18:28AM +0300, Laurentiu Palcu wrote:
> > > > > > From: Laurentiu Palcu <laurentiu.palcu@nxp.com>
> > > > > >
> > > > > > Hi,
> > > > > >
> > > > > > This patchset adds initial DCSS support for iMX8MQ chip. Initial support
> > > > > > includes only graphics plane support (no video planes), no HDR10 capabilities,
> > > > > > no graphics decompression (only linear, tiled and super-tiled buffers allowed).
> > > > > >
> > > > > > Support for the rest of the features will be added incrementally, in subsequent
> > > > > > patches.
> > > > > >
> > > > > > The patchset was tested with both HDP driver (in the downstream tree) and the upstream
> > > > > > MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS).
> > > > > >
> > > > > > Thanks,
> > > > > > Laurentiu
> > > > > >
> > > > > > Changes in v9:
> > > > > >  * Fixed a compilation issue found by Guido in his setup: 'select
> > > > > >    VIDEOMODE_HELPERS' was missing from Kconfig;
> > > > > >  * Use imx8mq-clock.h in the bindings file so one can understand what
> > > > > >    those clock values mean;
> > > > > >  * no other changes done. Couldn't address the hang Guido reported as
> > > > > >    it's not happening in my setup. However, in my tree, there are some
> > > > > >    extra NWL and ADV patches applied on top of upstream ones... Also,
> > > > > >    removing them and testing only with upstream, even if there's no
> > > > > >    image out, does not produce a hang... :/
> > > > > >
> > > > > > Changes in v8:
> > > > > >  * Removed 'select RESET_CONTROLLER" from Kconfig as Philipp pointed
> > > > > >    out. SRC is not used in DCSS driver;
> > > > > >  * Nothing else changed;
> > > > > >
> > > > > > Changes in v7:
> > > > > >  * Added a patch to initialize the connector using the drm_bridge_connector
> > > > > >    API as Sam suggested. Tested it using NWL_DSI and ADV7535 with
> > > > > >    Guido's patch [1] applied and one fix for ADV [2]. Also, some extra
> > > > > >    patches for ADV and NWL were needed, from our downstream tree, which
> > > > > >    will be upstreamed soon by their author;
> > > > > >  * Rest of the patches are untouched;
> > > > > >
> > > > > > [1] https://lists.freedesktop.org/archives/dri-devel/2020-July/273025.html
> > > > > > [2] https://lists.freedesktop.org/archives/dri-devel/2020-July/273132.html
> > > > > >
> > > > > > Changes in v6:
> > > > > >  * Addressed Rob's comment and added "additionalProperties: false" at
> > > > > >    the end of the bindings' properties. However, this change surfaced
> > > > > >    an issue with the assigned-clock* properties not being documented in
> > > > > >    the properties section. Added the descriptions and the bindings patch
> > > > > >    will need another review;
> > > > > >  * Added an entry for DCSS driver in the MAINTAINERS file;
> > > > > >  * Removed the component framework patch altogether;
> > > > > >
> > > > > > Changes in v5:
> > > > > >  * Rebased to latest;
> > > > > >  * Took out component framework support and made it a separate patch so
> > > > > >    that people can still test with HDP driver, which makes use of it.
> > > > > >    But the idea is to get rid of it once HDP driver's next versions
> > > > > >    will remove component framework as well;
> > > > > >  * Slight improvement to modesetting: avoid cutting off the pixel clock
> > > > > >    if the new mode and the old one are equal. Also, in this case, is
> > > > > >    not necessary to wait for DTG to shut off. This would allow to switch
> > > > > >    from 8b RGB to 12b YUV422, for example, with no interruptions (at least
> > > > > >    from DCSS point of view);
> > > > > >  * Do not fire off CTXLD when going to suspend, unless it still has
> > > > > >    entries that need to be committed to DCSS;
> > > > > >  * Addressed Rob's comments on bindings;
> > > > > >
> > > > > > Changes in v4:
> > > > > >  * Addressed Lucas and Philipp's comments:
> > > > > >    * Added DRM_KMS_CMA_HELPER dependency in Kconfig;
> > > > > >    * Removed usage of devm_ functions since I'm already doing all the
> > > > > >      clean-up in the submodules_deinit();
> > > > > >    * Moved the drm_crtc_arm_vblank_event() in dcss_crtc_atomic_flush();
> > > > > >    * Removed en_completion variable from dcss_crtc since this was
> > > > > >      introduced mainly to avoid vblank timeout warnings which were fixed
> > > > > >      by arming the vblank event in flush() instead of begin();
> > > > > >    * Removed clks_on and irq_enabled flags since all the calls to
> > > > > >      enabling/disabling clocks and interrupts were balanced;
> > > > > >    * Removed the custom atomic_commit callback and used the DRM core
> > > > > >      helper and, in the process, got rid of a workqueue that wasn't
> > > > > >      necessary anymore;
> > > > > >    * Fixed some minor DT binding issues flagged by Philipp;
> > > > > >    * Some other minor changes suggested by Lucas;
> > > > > >  * Removed YUV formats from the supported formats as these cannot work
> > > > > >    without the HDR10 module CSCs and LUTs. Will add them back when I
> > > > > >    will add support for video planes;
> > > > > >
> > > > > > Changes in v3:
> > > > > >  * rebased to latest linux-next and made it compile as drmP.h was
> > > > > >    removed;
> > > > > >  * removed the patch adding the VIDEO2_PLL clock. It's already applied;
> > > > > >  * removed an unnecessary 50ms sleep in the dcss_dtg_sync_set();
> > > > > >  * fixed a a spurious hang reported by Lukas Hartmann and encountered
> > > > > >    by me several times;
> > > > > >  * mask DPR and DTG interrupts by default, as they may come enabled from
> > > > > >    U-boot;
> > > > > >
> > > > > > Changes in v2:
> > > > > >  * Removed '0x' in node's unit-address both in DT and yaml;
> > > > > >  * Made the address region size lowercase, to be consistent;
> > > > > >  * Removed some left-over references to P010;
> > > > > >  * Added a Kconfig dependency of DRM && ARCH_MXC. This will also silence compilation
> > > > > >    issues reported by kbuild for other architectures;
> > > > > >
> > > > > >
> > > > > > Laurentiu Palcu (5):
> > > > > >   drm/imx: compile imx directory by default
> > > > > >   drm/imx: Add initial support for DCSS on iMX8MQ
> > > > > >   drm/imx/dcss: use drm_bridge_connector API
> > > > > >   MAINTAINERS: Add entry for i.MX 8MQ DCSS driver
> > > > > >   dt-bindings: display: imx: add bindings for DCSS
> > > > > >
> > > > > >  .../bindings/display/imx/nxp,imx8mq-dcss.yaml | 108 +++
> > > > > >  MAINTAINERS                                   |   8 +
> > > > > >  drivers/gpu/drm/Makefile                      |   2 +-
> > > > > >  drivers/gpu/drm/imx/Kconfig                   |   2 +
> > > > > >  drivers/gpu/drm/imx/Makefile                  |   1 +
> > > > > >  drivers/gpu/drm/imx/dcss/Kconfig              |   9 +
> > > > > >  drivers/gpu/drm/imx/dcss/Makefile             |   6 +
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-blkctl.c        |  70 ++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-crtc.c          | 219 +++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-ctxld.c         | 424 +++++++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-dev.c           | 325 +++++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-dev.h           | 177 ++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-dpr.c           | 562 ++++++++++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-drv.c           | 138 +++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-dtg.c           | 409 +++++++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-kms.c           | 198 +++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-kms.h           |  44 +
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-plane.c         | 405 +++++++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-scaler.c        | 826 ++++++++++++++++++
> > > > > >  drivers/gpu/drm/imx/dcss/dcss-ss.c            | 180 ++++
> > > > > >  20 files changed, 4112 insertions(+), 1 deletion(-)
> > > > > >  create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/Kconfig
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/Makefile
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-blkctl.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-crtc.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ctxld.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.h
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dpr.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-drv.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dtg.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.h
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-plane.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-scaler.c
> > > > > >  create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ss.c
> > > > > >
> > > > > > --
> > > > > > 2.23.0
> > > > > >
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> 
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-09-10  8:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-31  8:18 [PATCH v9 0/5] Add support for iMX8MQ Display Controller Subsystem Laurentiu Palcu
2020-07-31  8:18 ` [PATCH v9 3/5] drm/imx/dcss: use drm_bridge_connector API Laurentiu Palcu
2020-07-31  8:18 ` [PATCH v9 5/5] dt-bindings: display: imx: add bindings for DCSS Laurentiu Palcu
2020-07-31  8:52   ` Guido Günther
2020-07-31 19:34   ` Rob Herring
2020-07-31  8:54 ` [PATCH v9 0/5] Add support for iMX8MQ Display Controller Subsystem Guido Günther
2020-09-05 11:49   ` Guido Günther
2020-08-28  8:36 ` Laurentiu Palcu
2020-08-29  7:25   ` Sam Ravnborg
2020-08-31 10:37   ` Lucas Stach
2020-08-31 11:24     ` Laurentiu Palcu
2020-09-09 15:02       ` Lucas Stach
2020-09-10  6:47         ` Daniel Vetter
2020-09-10  8:04           ` Laurentiu Palcu [this message]
2020-09-10 18:41             ` Sam Ravnborg

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=20200910080432.26dleo5wxybsacvl@fsr-ub1864-141 \
    --to=laurentiu.palcu@oss.nxp.com \
    --cc=agx@sigxcpu.org \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kernel@pengutronix.de \
    --cc=l.stach@pengutronix.de \
    --cc=laurentiu.palcu@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukas@mntmn.com \
    --cc=sam@ravnborg.org \
    /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).