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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BFADAFCD0B3 for ; Wed, 18 Mar 2026 05:48:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CFC5910E07B; Wed, 18 Mar 2026 05:48:02 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZrUg3WmB"; dkim-atps=neutral Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5285410E697 for ; Wed, 18 Mar 2026 05:48:02 +0000 (UTC) Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-354bc7c2c46so3700298a91.0 for ; Tue, 17 Mar 2026 22:48:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773812882; x=1774417682; darn=lists.freedesktop.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=RTBJ3ZdbKmtxUEiIDKVG3F9qt5sUaMf7IHNuSeINr0s=; b=ZrUg3WmBxILfDjbT+YKrnxo6ka7k1LR5UBIobwt+K+mo6cpK0kNnKci3P5dCkepk5o Hdn3ABeNf4NT/ebsfnUMKZCW4W0mr6tB6kiKBfG4FDP4sjwBBTI41RMN217olON34G9G rPVb13OCixterqXZcijmfV/1GOs4Jq9taQMhKVFyCw4LTdjefKIDYC5Tth7mgNjBQLt9 WWh2m6dDNeFZKGh2YZJSijsX2MmhirqOYe1+sGb1r6KFoRV6pkrov2ebXfF1Q7wHRh/E Z4JLas06zgrJdcL9JtJaSXlXUwHEOK0OrlMHUsZ4mmoSwqpdod4bJ9uVdn694xNjXJPj hGZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773812882; x=1774417682; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RTBJ3ZdbKmtxUEiIDKVG3F9qt5sUaMf7IHNuSeINr0s=; b=joCgS8qou3rKlmfa3HfhAS+j2RxfefBlsJzfd2j4Cbg6Gza/mUKHtspfoTgbQAkS8+ nPcNlqqph3/0VmtoyIGQoYX3aSFjxtGLTSM3MMtXQCs8HWfaV6W80p5yIM9S945VWi87 evAktv30Gw3EG+cTZq+Uif6BAqfbTocS5uewHcMTJeK4n640eIOStpDq8aN1XDT0V5b/ 4Hv7CT9Baw+5lQw8m0SDiib0AIwLPVVN0lRdeexmvUh7DFAJPkQ1Ye1TSp/BYRAcCSGR doWd6RYbKEBrNUDYg7QslWG4I6mxhKhcI3bkh2WVyNkB3c3iL7jXJ6UWwwjkKu9d30Q6 6hmA== X-Forwarded-Encrypted: i=1; AJvYcCUjCTR1kM1qeYKhrID26f4srlDWcmrPJ4adeAcfr/UJSwcp2NljCQkJeZrtyAd1XDosxYj2MEL7xxI=@lists.freedesktop.org X-Gm-Message-State: AOJu0Ywi9WmassZRiWJnpaLUPj93bzwZTdXRePX50ZVOUkNDQYbH9pgi ClZ1cOYi6omlvZZncJFkyXrnL8KsD+a5zG1vL85eAQ6RJSSv1g3z+EJE X-Gm-Gg: ATEYQzx6MIDoTf2nm522Y1ngXxCaMJq/5umXOvtYPC496lTHBpBRWrVFMJVsAbcBfZ3 14jWFVqcOj99jwZN+eMfOlZsg0SpiLrG1P/B0HZ3NRxuH2yFWIXsb1yCJ72dkI+a1EBAKc2gObv JxMP1NrLswxpCc8QI38gHfwSwh5aiCIlBpMgcnqOc5twokMqhAKgLMsooZjAR4Zb03t+OmCWLQz 4XGFDqd6mNJRlFN/oB50QG8JlC7k47aQRUPjaUTYUKeQVbDIDexddKM3U/XEvbT6sF4Wwk4WHqS pkzIRvaOcNfdS/EC2xOELWHoZ1OdiEW2bbHiIb3thLwYr/MsPbumRgAGO7FXppxGVrxw+SMumYB ZUgXizcoOf3n2czeV4xwwiHOUWSYRTgOOccdeR3zH71lWjfJgbDnR18vUzjp+YP4/CEQow/smn/ TxQ1woGoHt815dEsdhDdayz7vPHrovVS8= X-Received: by 2002:a17:903:1a67:b0:2ae:3b9b:db34 with SMTP id d9443c01a7336-2b06e41a91emr21042325ad.42.1773812881632; Tue, 17 Mar 2026 22:48:01 -0700 (PDT) Received: from [172.16.20.13] ([136.226.252.245]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e419a31sm16508845ad.4.2026.03.17.22.47.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Mar 2026 22:48:01 -0700 (PDT) Message-ID: <2b1c6372-7fba-47db-89f6-c376b4a1dbdd@gmail.com> Date: Wed, 18 Mar 2026 11:18:20 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: tessolveupstream@gmail.com Subject: Re: [PATCH v2 1/2] dt-bindings: display: bridge: ti, sn65dsi83: Add dual-link video mode property To: Luca Ceresoli , andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org Cc: Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, marex@denx.de, valentin@compulab.co.il, philippe.schenker@toradex.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, dri-devel References: <20260312043743.261475-1-tessolveupstream@gmail.com> <20260312043743.261475-2-tessolveupstream@gmail.com> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On 12-03-2026 21:16, Luca Ceresoli wrote: > Hello Sudarshan, > > On Thu Mar 12, 2026 at 5:37 AM CET, Sudarshan Shetty wrote: >> Add a new optional device tree property `ti,dual-link-video-mode` >> to indicate that the bridge should configure the device for >> dual-link LVDS video mode. >> >> In dual-link configurations, some panels require the horizontal >> timing parameters to be adjusted before programming them into >> the device. In such cases, the horizontal timing values must be >> divided by two when operating in dual-link mode. >> >> Signed-off-by: Sudarshan Shetty > > This is not needed. Dual link mode is already implied by the presence of > port@2 and port@3. > > Also, the driver implements that already, and handles even/odd pixel swap > as well: > > ctx->lvds_dual_link = false; > ctx->lvds_dual_link_even_odd_swap = false; > if (model != MODEL_SN65DSI83) { > struct device_node *port2, *port3; > int dual_link; > > port2 = of_graph_get_port_by_id(dev->of_node, 2); > port3 = of_graph_get_port_by_id(dev->of_node, 3); > dual_link = drm_of_lvds_get_dual_link_pixel_order(port2, port3); > of_node_put(port2); > of_node_put(port3); > > if (dual_link == DRM_LVDS_DUAL_LINK_ODD_EVEN_PIXELS) { > ctx->lvds_dual_link = true; > /* Odd pixels to LVDS Channel A, even pixels to B */ > ctx->lvds_dual_link_even_odd_swap = false; > } else if (dual_link == DRM_LVDS_DUAL_LINK_EVEN_ODD_PIXELS) { > ctx->lvds_dual_link = true; > /* Even pixels to LVDS Channel A, odd pixels to B */ > ctx->lvds_dual_link_even_odd_swap = true; > } > } > > (https://elixir.bootlin.com/linux/v7.0-rc3/source/drivers/gpu/drm/bridge/ti-sn65dsi83.c#L895-L916) > Thanks for the clarification. For reference, the DTS currently used on our platform already describes the two LVDS output ports as follows: lvds_bridge: bridge@2c { compatible = "ti,sn65dsi84"; reg = <0x2c>; enable-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>; ti,dual-link-video-mode; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; sn65dsi84_in: endpoint { data-lanes = <1 2 3 4>; remote-endpoint = <&mdss_dsi0_out>; }; }; port@2 { reg = <2>; sn65dsi84_out_a: endpoint { data-lanes = <1 2 3 4>; remote-endpoint = <&lvds_panel_out_a>; }; }; port@3 { reg = <3>; sn65dsi84_out_b: endpoint { data-lanes = <1 2 3 4>; remote-endpoint = <&lvds_panel_out_b>; }; }; }; > Luca > > -- > Luca Ceresoli, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com