Received: by 10.223.185.111 with SMTP id b44csp1110457wrg; Fri, 9 Mar 2018 21:58:01 -0800 (PST) X-Google-Smtp-Source: AG47ELtj4cWDp9wjWn4DXHih+z07N1ELB1eQTPjcZCVhWAXGDqbMs25tNV6Z657MkFHk9I8HJ2eT X-Received: by 10.99.117.92 with SMTP id f28mr873749pgn.421.1520661481454; Fri, 09 Mar 2018 21:58:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520661481; cv=none; d=google.com; s=arc-20160816; b=wx9UjozzlCZmeEUuegLJRCHPVSN03Fw5nO5rzhmwLXpWhe/6/6284Kzkj6rPYSadfp KDgnUI+Z/4hOjj3eDH0lhG845vZ7yMe/AdD2HQaw3YGbKfPCM3eR1mVLGf8Liq+3EjKp WWz0AyUAI4Ts2VLTcx01p40ELkXIieprsxmcVdhLPk9eb5nFaMVBsquTRjgWd3PbUDNu RK/oaZ29jmSH4DS6rl+PV0gUPOqmIUcSMRi0sZVKYPmKWIWRE1y2XNYKQUszexIW2PZ7 LY79lNjKY+Q2mwuuTPt+UPa/lIOOAyf4t/yFbODpGfhLeddOeyAWkFDhvHsjG/qdvm4a gzwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dmarc-filter :dkim-signature:dkim-signature:arc-authentication-results; bh=4+hPd5vlEOgZlg4n12vqK1Xu25+FAV/roHQFXGTJl5w=; b=InI5AA5qTkowulnEtGnWC+iNwZ6FLMSb1i9qBbIxIhXjq9Pk55juSkUu/8KC+JWwrv rx3gfXCzbET2iYQYqNZBcVBkIEtNcjAQRDwCE7B4qZ3ftMItgcC1cADL/awHfLGVQFiN XYV0V62Is2Hhl8vjGtsm9dOumgdZrFg4L/bdELozs90q5AbmPuTTAoDaqqSru+DQ/Y2e 16EDFaiDuvwhPTQejY2XOnPD6IKJRUHV4aCuxMuHajRhNiFvhIiJWgyE0D17nq+OKK0I AVQxNyp+E2VJt7v1ZLajUK1UrVdeJhhWDY8Zs+vD3bLYw+QCsjXTZG9AYuowCxas6O8K j3/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=Fr6mtNBN; dkim=pass header.i=@codeaurora.org header.s=default header.b=OlHQSs0U; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o1-v6si2194933plk.138.2018.03.09.21.56.32; Fri, 09 Mar 2018 21:58:01 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=Fr6mtNBN; dkim=pass header.i=@codeaurora.org header.s=default header.b=OlHQSs0U; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751358AbeCJFxc (ORCPT + 99 others); Sat, 10 Mar 2018 00:53:32 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:37432 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750820AbeCJFxa (ORCPT ); Sat, 10 Mar 2018 00:53:30 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 15996600C1; Sat, 10 Mar 2018 05:53:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1520661210; bh=2lQ+oqXEHvsIdFMZqXjt2544YamjMGGeP5M7AZC33Ws=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=Fr6mtNBN+YTpzaoOGBz5ORDcpkTJhTHo2PRwYIez1+KbbD/Rnbp0ligUZ+Vf7L08T j/YLCMaxIME1i9s3ycNEkY8+zJhYnFk3wD1LUfZMkD8JO4lMV5RmPrfoEmydSTbDEo TOR5AhoZXH8vYXdoEVLJ9V+S1I6+FYdTpLi9yLv8= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from [192.168.2.11] (unknown [49.205.222.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: architt@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 34B04600C1; Sat, 10 Mar 2018 05:53:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1520661208; bh=2lQ+oqXEHvsIdFMZqXjt2544YamjMGGeP5M7AZC33Ws=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=OlHQSs0Ux5W6mlRWLX95YeyKsBWwpltVnj5WXUOm44YKTueZwgsKcf0sca/PBoi2I 8JUJ935iynyvO9eL+NQM51jnO7OrhtA9a8PV06qIARtLo8ZIW9vOdsupk2OGrzXfL1 m9/8Bqb0Xlw2o+BX764slEOgCZ5OJXSjHhHeJIrs= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 34B04600C1 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=architt@codeaurora.org Subject: Re: [PATCH v2 0/3] drm: Add LVDS decoder bridge To: Jacopo Mondi , a.hajda@samsung.com, Laurent.pinchart@ideasonboard.com, airlied@linux.ie, horms@verge.net.au, magnus.damm@gmail.com, geert@linux-m68k.org, niklas.soderlund@ragnatech.se, sergei.shtylyov@cogentembedded.com, robh+dt@kernel.org, mark.rutland@arm.com Cc: dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <1520603500-15218-1-git-send-email-jacopo+renesas@jmondi.org> From: Archit Taneja Message-ID: Date: Sat, 10 Mar 2018 11:23:19 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <1520603500-15218-1-git-send-email-jacopo+renesas@jmondi.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Friday 09 March 2018 07:21 PM, Jacopo Mondi wrote: > Hello, > after some discussion on the proposed bindings for generic lvds decoder and > Thine THC63LVD1024, I decided to drop the THC63 specific part and just live with > a transparent decoder that does not support any configuration from DT. > > Dropping THC63 support to avoid discussion on how to better implement support > for a DRM bridge with 2 input ports and focus on LVDS mode propagation through > bridges as explained in v1 cover letter (for DRM people: please see [1] as why > I find difficult to implement support for bridges with multiple input endpoints) > > Same base branch as v1, with same patches for V3M Eagle applied on top. > git://jmondi.org/linux v3m/v4.16-rc3/base > > Thanks > j > > v1 -> v2: > - Drop support for THC63LVD1024 > > [1] I had a quick at how to model a DRM bridge with multiple input > ports, and I see a blocker in how DRM identifies and matches bridges using > the devices node in place of the endpoint nodes. > > As THC63LVD1024 supports up to 2 LVDS inputs and 2 LVDS outputs, I see only > a few ways to support that: > 1) register 2 drm bridges from the same driver (one for each input/output pair) > but they would both be matches on the same device node when the preceding > bridge calls "of_drm_find_bridge()". I think this is the way to go. DRM doesn't say anywhere that we can't have 2 drm_bridge-s contained in a single device. About the issue with of_drm_find_bridge(), if you set the 2 bridge's 'of_node' field to the bridge1 and bridge2 nodes as shown below, wouldn't that suffice. From what I know, we don't necessarily need to set the bridge's of_node to the device (i.e, thschip) itself. thschip { ... ports { bridge1: port@0 { ... }; bridge2: port@1 { ... }; }; }; Thanks, Archit > 2) register a single bridge with multiple "next bridges", but when the bridge > gets attached I don't see a way on how to identify on which next bridge > "drm_bridge_attach()" on, as it depends on the endpoint the current bridge > has been attached on first, and we don't have that information. > 3) Register more instances of the same chip in DTS, one for each input/output > pair. They gonna share supplies and gpios, and I don't like that. > > I had a quick look at the currently in mainline bridges and none of them has > multiple input endpoints, except for HDMI audio endpoint, which I haven't found > in use in any DTS. I guess the problem has been already debated and maybe solved > in the past, so feel free to point me to other sources. > > Jacopo Mondi (3): > dt-bindings: display: bridge: Document LVDS to parallel decoder > drm: bridge: Add LVDS decoder driver > arm64: dts: renesas: Add LVDS decoder to R-Car V3M Eagle > > .../bindings/display/bridge/lvds-decoder.txt | 42 ++++++ > arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 31 +++- > drivers/gpu/drm/bridge/Kconfig | 8 ++ > drivers/gpu/drm/bridge/Makefile | 1 + > drivers/gpu/drm/bridge/lvds-decoder.c | 157 +++++++++++++++++++++ > 5 files changed, 237 insertions(+), 2 deletions(-) > create mode 100644 Documentation/devicetree/bindings/display/bridge/lvds-decoder.txt > create mode 100644 drivers/gpu/drm/bridge/lvds-decoder.c > > -- > 2.7.4 >