From patchwork Mon Mar 26 16:21:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benoit Parrot X-Patchwork-Id: 10308185 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 8B8CA60212 for ; Mon, 26 Mar 2018 16:21:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C65429776 for ; Mon, 26 Mar 2018 16:21:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7132F2977A; Mon, 26 Mar 2018 16:21:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 6E6B529776 for ; Mon, 26 Mar 2018 16:21:51 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A19446E4D5; Mon, 26 Mar 2018 16:21:46 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from lelnx193.ext.ti.com (lelnx193.ext.ti.com [198.47.27.77]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5722F6E4CC for ; Mon, 26 Mar 2018 16:21:39 +0000 (UTC) Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by lelnx193.ext.ti.com (8.15.1/8.15.1) with ESMTP id w2QGLZ5O006182; Mon, 26 Mar 2018 11:21:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ti.com; s=ti-com-17Q1; t=1522081295; bh=dGHZkKZX38nSs4MnZ8dpcaHHy5OlNVGxe6665j+QWlA=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=S0I2RRqDdGs0QsXMa00HZLFiebnI5Ko4H0jugfzH6834HgqI++WiIn8/pAjUuSoAp 2hVx0VvVS2hpzwzRw9cfNlxG5pdUAYeuVakhZuHBU4IPln9Xjr5Ps0NYgc0sUZBLN8 Jsl7d40liXde8yaZTtcTm7946NceLKXrL7hKUxNQ= Received: from DFLE109.ent.ti.com (dfle109.ent.ti.com [10.64.6.30]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id w2QGLZnQ032029; Mon, 26 Mar 2018 11:21:35 -0500 Received: from DFLE102.ent.ti.com (10.64.6.23) by DFLE109.ent.ti.com (10.64.6.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.35; Mon, 26 Mar 2018 11:21:35 -0500 Received: from dflp33.itg.ti.com (10.64.6.16) by DFLE102.ent.ti.com (10.64.6.23) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1261.35 via Frontend Transport; Mon, 26 Mar 2018 11:21:35 -0500 Received: from uda0869644a.dhcp.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by dflp33.itg.ti.com (8.14.3/8.13.8) with ESMTP id w2QGLUBh002276; Mon, 26 Mar 2018 11:21:35 -0500 From: Benoit Parrot To: , , Laurent Pinchart Subject: [Patch v2 3/6] dt-bindings: display/ti: Add plane binding to dispc node Date: Mon, 26 Mar 2018 11:21:25 -0500 Message-ID: <20180326162128.8740-4-bparrot@ti.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20180326162128.8740-1-bparrot@ti.com> References: <20180326162128.8740-1-bparrot@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Ujfalusi , Tomi Valkeinen , Jyri Sarha Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Currently all available display pipelines (i.e. plane) and output port resources are exposed to user-space. In some cases it is needed to be able to restrict which resources are actually visible from user-space. Also in cases where a display wider than 2048 pixels is to be supported more than one video pipeline is needed. In this case the 2nd hardware pipeline needed is not visible to user space applications. These video pipeline definitions must be statically defined so that the number of visible pipelines does not change from the user-space perspective. In order to allow this we are adding an optional 'plane' sub-node to the generic DISPC node. Signed-off-by: Benoit Parrot --- .../devicetree/bindings/display/ti/ti,omap-dss.txt | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt b/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt index 249e588d7865..2dd411cb5a83 100644 --- a/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt +++ b/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt @@ -28,6 +28,36 @@ Optional properties: - max-memory-bandwidth: Input memory (from main memory to dispc) bandwidth limit in bytes per second +Optional Subnode: +- plane: Child node(s) which defines which video planes are available to + the system. If at least one plane child node is defined then + only planes defined by these nodes will be available to the system. + Plane nodes must be sequential starting with reg = <0> as DT parsing + will stop on the first missing numbered node. + This means if plane #1 is defined but plane #0 is not then it will + be as if none of the plane nodes were defined. + + Each plane node contains the following properties: + Required properties: + - reg: Used to identify the plane + - video-pipelines: One or two HW pipeline number(s). + When 2 numbers are present this indicates a virtual wide + plane composed of two physical planes intended to be used + when the display is larger then the capacity of a + single plane i.e. wider than 2048 pixels. + The first number in the pair will dictate the capabilities + of the plane. This means that for proper + operation the virtual plane should be composed of HW + planes of the same capabilities. + If GFX pipeline is used in a virtual plane it should be + specified first, otherwise unexpected behavior would + be encountered. + Optional property: + - video-outputs: One or more HW output number(s). + Describe the list of video output on which this plane + is available. If this node is not present then the + plane will be available on all available video output. + Video Ports ----------- @@ -216,3 +246,38 @@ OMAP HDMI --(HDMI)--> TPD12S015 --(HDMI)--> HDMI Connector }; }; }; + +A short example on how to define a virtual plane configuration +to enable wide display support. +Here we define: +- plane#0 to be the HW pipeline #0 (i.e. GFX pipeline) + only available on video output #0 +- plane#1 to be a virtual wide plane composed of HW pipeline #1 and #2 + (i.e. VID1 & VID2) available on video output #0 & #1 +- plane#2 to be the HW pipeline #3 (i.e. VID3 pipeline) + only available on video output #0 + +&dss { + dispc@58001000 { + #address-cells = <1>; + #size-cells = <0>; + + plane@0 { + reg = <0>; + video-pipelines = <0>; + video-outputs = <0>; + }; + + plane@1 { + reg = <1>; + video-pipelines = <1 2>; + video-outputs = <0 1>; + }; + + plane@2 { + reg = <2>; + video-pipelines = <3>; + video-outputs = <0>; + }; + }; +};