From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B2594C433E6 for ; Mon, 31 Aug 2020 14:02:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 735632083E for ; Mon, 31 Aug 2020 14:02:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="EH3reSJa" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727822AbgHaOCM (ORCPT ); Mon, 31 Aug 2020 10:02:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727066AbgHaOCH (ORCPT ); Mon, 31 Aug 2020 10:02:07 -0400 Received: from mail-lf1-x141.google.com (mail-lf1-x141.google.com [IPv6:2a00:1450:4864:20::141]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9DE7C061575 for ; Mon, 31 Aug 2020 07:01:47 -0700 (PDT) Received: by mail-lf1-x141.google.com with SMTP id u27so2145375lfm.13 for ; Mon, 31 Aug 2020 07:01:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=Bb65MzNw8mojf6SZnmSelHJD70OfiSkoa+dwTtOp9t8=; b=EH3reSJaJAgXGaBNN4C68LeAnnJEEewpM+0YKFCdizmMfGMfxsLque/6dIcKkfXt/M gkZeMbEvrtmAX7dlPKiV6x/CsO6Tk6CsqRhyUVbN9KmQg7lhphGVYFdZQ6CD5723mlOu xe8pMIn7lqNnDraD/V5Q5fnK6swK4Imlt17gYswYwKbh1oxTqh15ZvMANIWlnO7chyfo eEdfVemE7HmJJKyVxzKFRkb2A+yWA7+8NISrN4DZ5sHk+7kTpXeWQBKRu2FImsSiPbqH wr1HbR1yYZDXtUjwsbDQBb/9WpclYVDaPgSA4a7lkuQMvUvxLq2mbW9/5hQp/gNzwkqn P5aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Bb65MzNw8mojf6SZnmSelHJD70OfiSkoa+dwTtOp9t8=; b=ZIeNSkZindGCCZSFkyptG7cmh1txtsEDq17SzDI66T5N1VircFmJpo0+b+gXcCumU9 euLD/riKSrL+7rh9d+se4/xbyCtnTCsemiugEcpqX2p4CaGhsbIRLeRNQNWLNSACOuCu 7H4jagjcFBvMadUPcTGuY9qSl6SBFSUUvmhg0gxqRoUQ3G95y2YhxpjRxgAlMBkQOf8+ NY3Cp6fa2/i+YElFhOln2dGwjhlijGEzDNk9v/2PdyifXHeulxyVdTolwxT33gAHpUPK 5LBVHgwbNUYg2OxaAc+ge9Fc+HlEAFhLpI/O6wLNA3ES4P5Fgpk0OPn4CfkminYGFFQA k33g== X-Gm-Message-State: AOAM532aALFq9ZjJwnQH3gfIejIDgHdDQK5jO9EpPFZUIcc3Vno12Pr+ 5YkHbuy0KP8iXOl45AyThJfo9g== X-Google-Smtp-Source: ABdhPJx1QgwKtp32DyjeDoUpdADanfg7Xu9SRoT4NHyKISm3/JqkVKOW68eFKuWCdCexSODrWq0XuA== X-Received: by 2002:a05:6512:200e:: with SMTP id a14mr750425lfb.49.1598882505875; Mon, 31 Aug 2020 07:01:45 -0700 (PDT) Received: from [192.168.1.211] ([188.162.64.19]) by smtp.gmail.com with ESMTPSA id t25sm807068ljk.71.2020.08.31.07.01.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 31 Aug 2020 07:01:44 -0700 (PDT) Subject: Re: [PATCH v2 2/3] drm: bridge: add support for lontium LT9611UXC bridge To: Sam Ravnborg Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Rob Herring , Daniel Vetter , David Airlie , Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Vinod Koul References: <20200828154906.1662611-1-dmitry.baryshkov@linaro.org> <20200828154906.1662611-3-dmitry.baryshkov@linaro.org> <20200828195844.GB668578@ravnborg.org> From: Dmitry Baryshkov Message-ID: <2ddab850-fc76-1d43-3fe4-bc7338c2b227@linaro.org> Date: Mon, 31 Aug 2020 17:01:41 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <20200828195844.GB668578@ravnborg.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On 28/08/2020 22:58, Sam Ravnborg wrote: > Hi Dmitry > > On Fri, Aug 28, 2020 at 06:49:05PM +0300, Dmitry Baryshkov wrote: >> Add support for Lontium LT9611UXC HDMI bridge. Lontium LT9611UXC is a >> DSI to HDMI bridge which supports two DSI ports and I2S port as an input >> and HDMI port as output. Despite name being similar to LT9611, these >> devices are different enough to warrant separate driver. >> >> Signed-off-by: Dmitry Baryshkov > > I have browsed the driver - most looks good but the way modes are > handled looks fishy. > > The code either relies on edid or modes returned by a panel-timings > node. The panel-timings node seems to be used to override the edid info. > We do not need this in any other bridge driver today - and thus it is > questionaable if this driver needs it. If it is needed then please > document the rationale behind it - in the source code. > The binding does not exaplin anything about a panel-timings node. > > If the panel-timins stuff is not needed, then remember to drop include > files that are no logner used. Fine with me, I'll drop panel-timings then. If there are issues with EDID handling, we can readd them back later. > > And then there is mode_valid which uses a set of modes obtained from > a static list which also looks strange. > > The last part can also be found in lontium-lt9611.c but that does > not make it correct. The lt9611uxc firmware supports only a fixed set of modes. Thus lt9611uxc driver has to check if the mode is supported by the fw. Unsupported modes would result in HDMI display not receiving valid signal. > > Please see other bridge drivers. > > The extra patch that makes connector creation optinal should be > merged with the first patch - there is no gain to split it in two. Ok, I'll squash it. > > There was also a few style issues, see comments in the following. > > Looks forward to see a new revision. > > Sam > > > >> --- >> drivers/gpu/drm/bridge/Kconfig | 13 + >> drivers/gpu/drm/bridge/Makefile | 1 + >> drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 774 +++++++++++++++++++++ >> 3 files changed, 788 insertions(+) >> create mode 100644 drivers/gpu/drm/bridge/lontium-lt9611uxc.c >> >> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig >> index 3e11af4e9f63..8343fb054652 100644 >> --- a/drivers/gpu/drm/bridge/Kconfig >> +++ b/drivers/gpu/drm/bridge/Kconfig >> @@ -61,6 +61,19 @@ config DRM_LONTIUM_LT9611 >> HDMI signals >> Please say Y if you have such hardware. >> >> +config DRM_LONTIUM_LT9611UXC >> + tristate "Lontium LT9611UXC DSI/HDMI bridge" >> + select SND_SOC_HDMI_CODEC if SND_SOC >> + depends on OF >> + select DRM_PANEL_BRIDGE >> + select DRM_KMS_HELPER >> + select REGMAP_I2C >> + help >> + Driver for Lontium LT9611UXC DSI to HDMI bridge >> + chip driver that converts dual DSI and I2S to >> + HDMI signals >> + Please say Y if you have such hardware. >> + >> config DRM_LVDS_CODEC >> tristate "Transparent LVDS encoders and decoders support" >> depends on OF >> diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile >> index c589a6a7cbe1..306850a5899b 100644 >> --- a/drivers/gpu/drm/bridge/Makefile >> +++ b/drivers/gpu/drm/bridge/Makefile >> @@ -3,6 +3,7 @@ obj-$(CONFIG_DRM_CDNS_DSI) += cdns-dsi.o >> obj-$(CONFIG_DRM_CHRONTEL_CH7033) += chrontel-ch7033.o >> obj-$(CONFIG_DRM_DISPLAY_CONNECTOR) += display-connector.o >> obj-$(CONFIG_DRM_LONTIUM_LT9611) += lontium-lt9611.o >> +obj-$(CONFIG_DRM_LONTIUM_LT9611UXC) += lontium-lt9611uxc.o >> obj-$(CONFIG_DRM_LVDS_CODEC) += lvds-codec.o >> obj-$(CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW) += megachips-stdpxxxx-ge-b850v3-fw.o >> obj-$(CONFIG_DRM_NXP_PTN3460) += nxp-ptn3460.o >> diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c >> new file mode 100644 >> index 000000000000..77c5aa5c6ad7 >> --- /dev/null >> +++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c >> @@ -0,0 +1,774 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* >> + * Copyright (c) 2018, The Linux Foundation. All rights reserved. >> + * Copyright (c) 2019-2020. Linaro Limited. >> + */ >> + >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> + >> +#include >> + >> +#include