Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp2963537rwb; Mon, 16 Jan 2023 01:40:30 -0800 (PST) X-Google-Smtp-Source: AMrXdXvErPQsFpmFpU476y16MzKBH7opb7cj95QJavwmeZaDULZYOL11YqizKlSMva6LtWX3DtZL X-Received: by 2002:a17:902:f70c:b0:194:75d6:c95d with SMTP id h12-20020a170902f70c00b0019475d6c95dmr13046308plo.37.1673862030604; Mon, 16 Jan 2023 01:40:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673862030; cv=none; d=google.com; s=arc-20160816; b=aVRDEMYIdtLaptzFxViQUpXzbGlJMFFBvZS8qFyWHaEtFbzIQleGR3piiMND356qMs 2poybjRjkcEZot76Ab0Z8GSYeaRPkf9h2XQX1WubrET3hBvGm9r6EEZTtYaSemXmQwAu OcxUskTX6G7qC+Gs2EyI3bVF6LUrqdtaLOffFU7DNZ3/S6DZp8h/t4FAVqflHxKBfp3a L5I5ZCxEw3seNxpYUkDbbfYYB9KhA9oRkpoOzexFH+CmWYqQzzzyGFAYJUSxHRx5Z7Yg /wwQgxv5KR6kNT5egkNzvIR0uaLIlFWCCr2ASZp+McNRVor+F0xaI0RueNFjPfV2+OG8 J7uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=S/vL4aRvWzvT5+Y6H7kqvKR2yDJTWXuyhGu5Hgl5QSk=; b=sJxpmKbe0GI2KlVrtWDllMGi8qg9ajY+D6kWD9CAZ6DoEcHEH2mdTlHJ921oJsdC4X PdaKbUMJK/6t9mcQLWyN0L9jjlwIbjbHgjYYKOg4enK+uw7d9IMTsiECUz36uBRJQCGG 9Uz+hypEGCEaFqgcx/Bu6dWt45F4F5mzW6fGWyClHP4zENpVn9HuZGThDktvJqLhBLKo vUDyt68BV/4E1ZyWglQQkZMLsYFBa7nlw98+H3zY130dbvOzRYQQfxC/WR1Ix95BkP17 SWh4cAiIAqCxuWWnktoW5BlxPQKfUD+UCZ3+5hoN00JndY9YrTM52V8Ayc1xv5q9Up8B aR7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=N+zSHiOP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z9-20020a170902834900b0018010c3d7e3si25500389pln.404.2023.01.16.01.40.25; Mon, 16 Jan 2023 01:40:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=N+zSHiOP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231648AbjAPJbK (ORCPT + 51 others); Mon, 16 Jan 2023 04:31:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55628 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232229AbjAPJao (ORCPT ); Mon, 16 Jan 2023 04:30:44 -0500 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F89616AD5; Mon, 16 Jan 2023 01:30:42 -0800 (PST) Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id D163D802; Mon, 16 Jan 2023 10:30:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1673861440; bh=9YWn45J/ZNgJKTD6UEkGgR2mEmqJ7NYekCQW2ePfKgc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=N+zSHiOP3BPeIWVxgMUMZkbWSMpAwC7eyS7KRf00o33vAIM8HgnNlYZlsGe4NvEx+ ggan64ipd8TDap0zM7nKhc17S/7JZhs8uDIM+s21vxICnSvXcvLCGEqibqZ7MKdHAQ GpwQEr5QqXpkio0Z6yTPKSTEHMw4GfSB6ctnf2Pk= Date: Mon, 16 Jan 2023 11:30:40 +0200 From: Laurent Pinchart To: Aradhya Bhatia Cc: Rob Herring , Krzysztof Kozlowski , Tomi Valkeinen , Jyri Sarha , David Airlie , Daniel Vetter , Thierry Reding , Sam Ravnborg , Maxime Ripard , Liam Girdwood , Mark Brown , Lad Prabhakar , Paul Walmsley , Palmer Dabbelt , Albert Ou , Matthias Brugger , Guo Ren , Nishanth Menon , Devicetree List , Jayesh Choudhary , Jai Luthra , Vignesh Raghavendra , Devarsh Thakkar , Linux Kernel List , DRI Development List , Linux Mediatek List , Linux C-SKY Arch List , Linux RISC-V List , Linux ARM Kernel List , Rahul T R Subject: Re: [RFC PATCH 0/4] dt-bindings: Introduce dual-link panels & panel-vendors Message-ID: References: <20230103064615.5311-1-a-bhatia1@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230103064615.5311-1-a-bhatia1@ti.com> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Aradhya, On Tue, Jan 03, 2023 at 12:16:11PM +0530, Aradhya Bhatia wrote: > Hi all, > > Microtips Technology Solutions USA, and Lincoln Technology Solutions are > 2 display panel vendors, and the first 2 patches add their vendor > prefixes. > > The fourth patch, simply introduces the new compatible for the generic > dual-link panels in the panel-lvds driver. This new compatible is based > from a new DT binding added in the third patch explained below. > > The third patch introduces a dt-binding for generic dual-link LVDS > panels. These panels do not have any documented constraints, except for > their timing characteristics. Further, these panels have 2 pixel-sinks. > In a dual-link connection between an LVDS encoder and the panel, one > sink accepts the odd set of LVDS pixels and the other, the even set. > > A lot of this has been based from the Advantech,idk-2121wr dual-link > panel[1] and Maxime's patches for generic LVDS panels[2] (which are > single-link by default.) and the discussions that happened before they > were finally merged. > > Below are some notes and points that I want to bring forward. > > - The advantech,idk-2121wr panel binding uses 2 boolean properties > dual-link-odd/even-pixels, to signify which port sink is being used > for which set of LVDS pixels. I too have added similar support and > introduced constraints around those properties, so as to not break > the ABI... but I believe there is a better way to achieve this. > > A "pixel-type" enum property could be introduced in their stead, > which can accept one of the 2 options or > . > > This method, in my opinion, is more accurate and cleaner to > implement in the bindings as well. > > If this does sound a better I can push out a new revision where the > driver supports both these methods (to not break the ABI) and the > advantech,2121wr panel can remain as an exception. It's usually best not to change an existing system if there are no good reasons, so I'd ask why you think a pixel-type property would be better (including when taking into account the fact that we would have to maintain the advantech,2121wtr driver separately) if you want to go that way. Otherwise, if we were developing this from scratch, I would have no real preference. > - As an alternative to the previous point, if that method is not > preferred for some reason, the advantech,2121wtr panel binding > could then be merged in the panel-dual-lvds binding as part of > future work. > > > - Another tweak, I am looking forward to do as part of future work and > would like all your comments is to introduce driver-based > implementation of the panel timing parameters, like it is with > "panel-simple". The driver can then support both the panel-timing > sources (DT node or hard-coded driver structure) and the binding > can remove this from the "required" section. There's been a very long discussion in the past (multiple discussions actually) regarding whether timings should be set in DT or in drivers. There were multiple arguments supporting both sides, without (it seems) a clear winner. If you want driver-side timings for dual-link panels, I'd like to understand why you think that's better. If the reasons are the same as the ones expressed when we discussed simple panels, you should also look at whether or not any of the fears expressed on either side have materialized. > Thank you! > > [1]: https://patchwork.freedesktop.org/patch/357122/ > [2]: https://patchwork.freedesktop.org/patch/471228/ > > Aradhya Bhatia (4): > dt-bindings: vendor-prefixes: Add microtips > dt-bindings: vendor-prefixes: Add lincolntech > dt-bindings: panel: Introduce dual-link LVDS panel > drm: panel-lvds: Introduce dual-link panels > > .../display/panel/panel-dual-lvds.yaml | 157 ++++++++++++++++++ > .../devicetree/bindings/vendor-prefixes.yaml | 4 + > MAINTAINERS | 1 + > drivers/gpu/drm/panel/panel-lvds.c | 1 + > 4 files changed, 163 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml -- Regards, Laurent Pinchart