Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp2515070ybg; Fri, 31 Jul 2020 01:55:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJytbtHCnGuZubyAM77fauwUeymdIkpvJ9LiRfYbw3FWz5K4BlEYADEluMKb1vNnVQt4uRnp X-Received: by 2002:aa7:d516:: with SMTP id y22mr2790058edq.221.1596185730373; Fri, 31 Jul 2020 01:55:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596185730; cv=none; d=google.com; s=arc-20160816; b=g4yr0rsutrNPa3f5XnYZAjcFm/2hL/XEQRkgUyVKPHAa7w0iDfBJFzMbBM0QPXqv0c BVWJhmGRmonPX2qntsgZU5TWTuKDI1c+w0sorT4pbXA+FGr7SKxgOjTbZU96/Fq0GySO 7+Je0s0uRVpfYoE8ABGit9FSwLWnTuqOj0arR8PDjucmMzxM2CUUBLXuqfkZjJBHks5F 2mmFbNfng9kkxFuGobg8rAXmohXdgGkvbdO0zuvrEhFvzvMPLGb4lIxiRYX7Q5j2FQMa 4vNJH4MIHdihsZosW5NohH6oLtWHd9S/xw7DeNBvjG3+p41DuPkNOakAR9b8v1vyUC99 KIog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=wc0fkJ8Ep7Ok57+h9rCXu4ZvN+XA8WjKRnrfiZrKZf4=; b=ba8L1sXg8o5+LAB63AJKjLeR9jwMJzDk2rafqB3o003hEU3AiB/0Y7Y9NCuZE+7qrW cvNAunL5dRa+odomGsvktcUFp/3PnqFW2or2aObrY2Ky2XT+ShK6Cfm7nnB7WOPluEFT aj+OQjtQYc0nnDCFgTZLiE4BA/uZJnhFhiCDsIRwRxY97FbvMDWrPrE7JvF8Zhybvy4D H2bn2lU6i+CW9rqoYUwmRvoT2MCCmt0PaPSNw66df2AsD26MaL0vV0dALFt1jlz2NQ76 QmBrNCa5KtSWZyICfcePHI6jrDQNjF410mv5slRImpBsut1lr+AqeF+OxObRuaEOBl99 LNJQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x22si4888415ejc.278.2020.07.31.01.55.07; Fri, 31 Jul 2020 01:55:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731964AbgGaIyd (ORCPT + 99 others); Fri, 31 Jul 2020 04:54:33 -0400 Received: from honk.sigxcpu.org ([24.134.29.49]:58908 "EHLO honk.sigxcpu.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728437AbgGaIyd (ORCPT ); Fri, 31 Jul 2020 04:54:33 -0400 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id A3494FB04; Fri, 31 Jul 2020 10:54:31 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at honk.sigxcpu.org Received: from honk.sigxcpu.org ([127.0.0.1]) by localhost (honk.sigxcpu.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1fj0SNQLDrPP; Fri, 31 Jul 2020 10:54:29 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id 5D1244537D; Fri, 31 Jul 2020 10:54:29 +0200 (CEST) Date: Fri, 31 Jul 2020 10:54:29 +0200 From: Guido =?iso-8859-1?Q?G=FCnther?= To: Laurentiu Palcu Cc: Lucas Stach , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Laurentiu Palcu , 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 Message-ID: <20200731085429.GD12560@bogon.m.sigxcpu.org> References: <20200731081836.3048-1-laurentiu.palcu@oss.nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200731081836.3048-1-laurentiu.palcu@oss.nxp.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Fri, Jul 31, 2020 at 11:18:28AM +0300, Laurentiu Palcu wrote: > From: Laurentiu Palcu > > 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 >