From: "Guido Günther" <agx@sigxcpu.org>
To: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Cc: Lucas Stach <l.stach@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
NXP Linux Team <linux-imx@nxp.com>,
Laurentiu Palcu <laurentiu.palcu@nxp.com>,
dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, lukas@mntmn.com
Subject: Re: [PATCH v9 0/5] Add support for iMX8MQ Display Controller Subsystem
Date: Fri, 31 Jul 2020 10:54:29 +0200 [thread overview]
Message-ID: <20200731085429.GD12560@bogon.m.sigxcpu.org> (raw)
In-Reply-To: <20200731081836.3048-1-laurentiu.palcu@oss.nxp.com>
Hi,
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... :/
I don't think this should hold up merging.
Cheers,
-- Guido
>
> 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
>
next prev parent reply other threads:[~2020-07-31 8:54 UTC|newest]
Thread overview: 14+ 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 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 ` Guido Günther [this message]
2020-09-05 11:49 ` [PATCH v9 0/5] Add support for iMX8MQ Display Controller Subsystem 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
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=20200731085429.GD12560@bogon.m.sigxcpu.org \
--to=agx@sigxcpu.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=l.stach@pengutronix.de \
--cc=laurentiu.palcu@nxp.com \
--cc=laurentiu.palcu@oss.nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas@mntmn.com \
/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).