Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp3891465rdh; Fri, 29 Sep 2023 05:39:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHsUDzyWQXEvuCyIK9pEnWJ/NAlgI18jz9qiEb9c4Stj3THW4htc6jKafcslR/4IZOsqTKu X-Received: by 2002:a05:6358:6f8f:b0:143:70a1:afcd with SMTP id s15-20020a0563586f8f00b0014370a1afcdmr4338607rwn.1.1695991189103; Fri, 29 Sep 2023 05:39:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695991189; cv=none; d=google.com; s=arc-20160816; b=Q9nunjlh++TJggnu6XtApq5gtgfuT6cSoaX0bdms7HV6Cj6Iy9b1kdVawP76QE9L5Y rr2wP37VlzBake3PgVhVSvhzJ+8VEiqPKFgiAV4+t/bCCz4SFeK3U6JrozwRIMTwKARD 5NvByIXsUBJaWZUWTkq93FnIDWZD0J2sq+YZnF/M2nfrlqx4PkgcmabpSiAgGmkfKg8M 2RbEy354y4b9YoO1uH8fKK+zN6gl3MPXix1g89idIivqTRxW8cnzmDKhfr1Nb5d3ozwU MWy0aM9JzYAwoFVloEKjfK2DSTcbWEV2ELTKSEoI5JROVb0WxLV0oYCAp+l3+ePDJ4+g lS7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:content-transfer-encoding:mime-version :message-id:date:subject:from; bh=Ho+NVM+by4NtK1I9KaBsyNifN4bsNA3sS/ws81xDlGE=; fh=TXb4sxSpirnToU4aNF6zdhiupTyrFxReKgxrxv7rACA=; b=0iTC5Dqp6vDDQH7VrWx1iHjUCCH1l2eaAZqeJ7ZYRk7GMHV/sWkzUfxcmJ7OizS+sa 8TnrpCT8Bp3QZQLiGIad5qwJPQCYJk3RjW8VJF9cM94MrKo4eUDUE1wWp33lpFGLsJGF PmuusxVrq2syhUXCvtEqEu4o36RZ/bn+OXMwS5kIVtKuxuz/yKPnE72mA/kuPwv89x+U zlOqcYebrbMKq1rpvbbrDK9zdCOtEwTCDu9V24KQuzDSKNb6qtBa0387Nn7b/J1eeqD2 SS7O4l6zMbhIFHX5lbNKMfKB3JLNYBc0VA8+fMF/luYlk59PZNHanh0jC6T+Vm8bOcd5 GmGg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id v1-20020a654601000000b0056a290addadsi21477117pgq.787.2023.09.29.05.39.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 05:39:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 8696C811C156; Fri, 29 Sep 2023 05:34:32 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232990AbjI2MeD (ORCPT + 99 others); Fri, 29 Sep 2023 08:34:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35754 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232911AbjI2MeC (ORCPT ); Fri, 29 Sep 2023 08:34:02 -0400 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2427E1AC for ; Fri, 29 Sep 2023 05:33:59 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qmCgq-0008Sc-Fg; Fri, 29 Sep 2023 14:33:52 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qmCgp-009oFQ-GF; Fri, 29 Sep 2023 14:33:51 +0200 Received: from localhost ([::1] helo=dude03.red.stw.pengutronix.de) by dude03.red.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qmCgp-009S7x-4i; Fri, 29 Sep 2023 14:33:51 +0200 From: Johannes Zink Subject: [PATCH v5 0/3] Support non-default LVDS data mapping for simple panel Date: Fri, 29 Sep 2023 14:33:30 +0200 Message-Id: <20230523-simplepanel_support_nondefault_datamapping-v5-0-0d7928edafab@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIABrEFmUC/53OTW7DIBAF4KtErEuCAf+kq96jqqyxGWwkGxBgl Cry3YuzqtSuvHwjzffek0QMBiN5vzxJwGyicbaE+u1CxhnshNSokglnXLCaCxrN6hf0YHHp4+a 9C6m3zirUsC2pV5BgBe+NnWglRqE5Au90Rwo4QEQ6BLDjfJC5uYpbct6Mt18oHbZItQsrpOPHB 9Tm8Rr4+VXybGJy4fu1N/Pjempa5pTRrq3ujWaKDY388GinLQVnzeOqkBxdWZz3RfHbDhWKViq h7v/68rwvi48NtqyqtJBD/cff9/0HMNnJf90BAAA= To: David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Laurent Pinchart , Thierry Reding , Neil Armstrong , Sam Ravnborg Cc: kernel test robot , Dan Carpenter , patchwork-jzi@pengutronix.de, kernel@pengutronix.de, Laurent Pinchart , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Johannes Zink , Conor Dooley X-Mailer: b4 0.12.2 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: j.zink@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Fri, 29 Sep 2023 05:34:32 -0700 (PDT) Some LVDS panels, such as the innolux,g101ice-l01 support multiple LVDS data mapping modes, which can be configured by strapping a dataformat pin on the display to a specific voltage. This can be particularly useful for using the jeida-18 format, which requires only 3 instead of 4 LVDS lanes. This series moves the data-mapping property for LVDS panels in a separate file and optionally adds it to simple-panel when matching to the innolux,g101ice-l01 compatible. This property allows to override the default data mapping set in the panel description in simple-panel. The last patch in this series actually adds the driver support for parsing the data format override device tree property and modifying the corresponding values for bit per color and media bus format in the panel descriptor. Best regards Johannes --- Changelog: v4 -> v5: - no changes, but added the reviewed-by-tags from v3 that were lost in v3/v4 - Link to v4: https://lore.kernel.org/r/20230523-simplepanel_support_nondefault_datamapping-v4-0-e6e7011f34b5@pengutronix.de v3 -> v4: - driver: worked in Dan's Feedback: - return with proper error in case the call into panel_simple_override_nondefault_lvds_datamapping() failed - drop the unneeded and ambiguous ret local value - Link to v3: https://lore.kernel.org/r/20230523-simplepanel_support_nondefault_datamapping-v3-0-78ede374d3d9@pengutronix.de v2 -> v3: - dt bindings: Worked in Conor's and Laurent's Feedback (thanks for your review): Drop the chomping indicator - dt bindings: Worked in Laurent's Feedback: fix typos - driver: worked in Laurent's review findings: - extract function for fixing up the bus format - only call this function on LVDS panels - fix typo - Link to v2: https://lore.kernel.org/r/20230523-simplepanel_support_nondefault_datamapping-v2-0-87196f0d0b64@pengutronix.de v1 -> v2: - dt bindings: Worked in Rob's review findings (thanks for your review), refactored to use common include instead of duplication - driver: added missing error unwinding goto, as found by Dan Carpenter's test robot: Reported-by: kernel test robot Reported-by: Dan Carpenter Link: https://lore.kernel.org/r/202304160359.4LHmFOlU-lkp@intel.com/ To: David Airlie To: Daniel Vetter To: Rob Herring To: Krzysztof Kozlowski To: Conor Dooley To: Laurent Pinchart To: Thierry Reding To: Neil Armstrong To: Sam Ravnborg Cc: patchwork-jzi@pengutronix.de Cc: kernel@pengutronix.de Cc: Laurent Pinchart Cc: dri-devel@lists.freedesktop.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Johannes Zink --- --- Johannes Zink (3): dt-bindings: display: move LVDS data-mapping definition to separate file dt-bindings: display: simple: support non-default data-mapping drm/panel-simple: allow LVDS format override .../bindings/display/lvds-data-mapping.yaml | 84 ++++++++++++++++++++++ .../devicetree/bindings/display/lvds.yaml | 77 +++----------------- .../bindings/display/panel/panel-simple.yaml | 26 ++++++- drivers/gpu/drm/panel/panel-simple.c | 53 ++++++++++++++ 4 files changed, 171 insertions(+), 69 deletions(-) --- base-commit: 79fb229b8810071648b65c37382aea7819a5f935 change-id: 20230523-simplepanel_support_nondefault_datamapping-13c3f2ea28f8 Best regards, -- Johannes Zink