From patchwork Fri Jul 15 06:53:38 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Meng Yi X-Patchwork-Id: 9231277 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 A0C2160865 for ; Fri, 15 Jul 2016 07:51:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 921DE2816B for ; Fri, 15 Jul 2016 07:51:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 86EF428307; Fri, 15 Jul 2016 07:51:56 +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.2 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 13E4D2816B for ; Fri, 15 Jul 2016 07:51:56 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AC8176E95E; Fri, 15 Jul 2016 07:51:50 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org X-Greylist: delayed 69923 seconds by postgrey-1.35 at gabe; Fri, 15 Jul 2016 07:04:36 UTC Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0074.outbound.protection.outlook.com [104.47.34.74]) by gabe.freedesktop.org (Postfix) with ESMTPS id E51306E94C for ; Fri, 15 Jul 2016 07:04:36 +0000 (UTC) Received: from BN3PR0301CA0082.namprd03.prod.outlook.com (10.160.152.178) by DM5PR03MB2506.namprd03.prod.outlook.com (10.168.233.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.523.12; Fri, 15 Jul 2016 07:04:35 +0000 Received: from BL2FFO11FD021.protection.gbl (2a01:111:f400:7c09::106) by BN3PR0301CA0082.outlook.office365.com (2a01:111:e400:401e::50) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.528.16 via Frontend Transport; Fri, 15 Jul 2016 07:04:35 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD021.mail.protection.outlook.com (10.173.161.100) with Microsoft SMTP Server (TLS) id 15.1.523.9 via Frontend Transport; Fri, 15 Jul 2016 07:04:34 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u6F74Sdk001742; Fri, 15 Jul 2016 00:04:32 -0700 From: Meng Yi To: Subject: [PATCH v5 2/2] drm/fsl-dcu: add support for drm bridge Date: Fri, 15 Jul 2016 14:53:38 +0800 Message-ID: <1468565618-27124-2-git-send-email-meng.yi@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1468565618-27124-1-git-send-email-meng.yi@nxp.com> References: <1468565618-27124-1-git-send-email-meng.yi@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131130398746576693; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(7846002)(6806005)(8666005)(50466002)(48376002)(36756003)(586003)(81166006)(97736004)(19580405001)(19580395003)(85426001)(8676002)(5003940100001)(81156014)(104016004)(5890100001)(4326007)(68736007)(47776003)(110136002)(11100500001)(87936001)(305945005)(86362001)(77096005)(2950100001)(189998001)(33646002)(76176999)(50986999)(92566002)(50226002)(106466001)(2351001)(229853001)(105606002)(2906002)(356003)(8936002)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2506; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD021; 1:TeyOWhwCPch3yeYqte0PNfOrxqnv3UbVDiDGLeGmxUcNsdlzGW//J+D4SxpiCj9qBaYfkg9MFsLOTe94vDKZDczFdlKcbyLstbC8Faecyq9hQVEKsEs2cj0uEmWH9Arz494mu8QN8UnAup99vvd/ksemratYpVW4wrYK64avjOCS/DlFfEJLRFgS6z/DsMa9U6rq2hq5gGf29136lsyUfdTu0SWF6xOLEgpb5I7zunrz+cgS+LTtjacaVzL72Ipwo5eK8XBuabcoiI3TnOcf/pBc8IA/E/MJppMiXsDI7hGW+9H7BTkf7H5a+n5OcXNzmKqjt/qofpOi0NJ8Uflm9YiqyETgyHR8HHrNzj+ZM4b9bQhnRHaVvvE0zZS9MQRCSSZhs0Dv7gEv7BCjj2TUpTIr6XgUaNxS8S3aK2ACQrRh3Kdtg7epZpoKrKL6U7HPUC6ZQ+odHTJ7t3xvKALlH0zGH5ExkkniL3XuFMPyJ1GrRArbkwEe+tiShZfi/vaCI8jANEuC+WXCdWY60da88nPSyH7hkl0Pg4hZrGli3UlwQ2o6d4Jxjc96cJfHcLRlNhUbJ/e+NgCYGbegXBFUNzBZxN7lVp+3Xzb4zxH3NsL4KKzyF+pv+PYcaz3cEAUQSZmIdiRK4+8fYvMU67T94rnRI2K1MW7WkMPLd3rAa1eXT0b5elLKQovPIy9hbQBMairmRa1j0JjNCT0kWPg1QvPx9fduS/xb3ZIXyxTz8BA= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 03e7439f-fd9c-4f29-8735-08d3ac7e4702 X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2506; 2:o4M6MTg+6X9gUPtHnEuEEoorNxlppP/XqKrVaopVEpJM8AvxtZnGVxURSqPNPHUrtRfeemGWHcezOR3TIowB6bcIYMP44Eg+N0O7OlzHwQd5CsmmPO34TP8ttPlawgJqvOX8qLPWiG7vGu6+DDdm+BCZ153TRKdCTjuPXIZCKvjvdWX1twa7nU1X6NtqE4A2; 3:UE9omZptTZvXiEpjWjFC3hGtFjV6KXG0R2+ee83U3LijCsMV8sYbfTkE9RKIms5RuqUP6O0rl5RCEVvhrRzNJhUWntet50Z47xhpmpglSB0yPkYcl/AgyPb9rKZIIN518sKiEr0z5s8FCMZUS7iSvq32n3ekuKJFIyUBOqa2t37QCpEwfMF2KY5dOSOBH2V+SCIoFb4EeRfUZuGEczUcVTigQV59d51d+K7eblGRGDU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM5PR03MB2506; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2506; 25:3ZYjoUkbuAvTRWtgBVuPxPOvQ6Ui/s7G/80679YeBeu0AiyyUXsT5p9nhVnRb1dun25xZL8m9cjCcT7GD5USgOXtfjrkFtOs7MCXVluQgvHwy8zZoiRoxXi4q0y42cazJjoiII9oO4x6UT+Y5ko+oY3DXAHT5WGL0WLg3zklWQdxS/kQl/1yn4a2/U6LX8K1Wr9RHuJfsGaOSG8XQfs8PnuAiqqmIvKx436c6lK7+RUY2m8uDD+321FavQRY7mUni5o0MOBpcMqvzWCm56Y7fCx8ds/WvhyQKmOxLD0uDFriCSDc7pFATcar17zvlxgvMRxINnCNxVFa4AvhH6Wsj9wt8fKquSrUvU2rWy2whrc/UEgNs9G/B1qHdVn8NxmON08Qd8c7JrNnx1pdKDhc1z/PAWjPu+SS1Emaf7YFOFkyXiwJqSbWq+USgugiEzzL3S9JvQL58+D1r60GZbj3IfNjEhvseLWbqMU+rKqYSROXPH3S+QlxOV4b+LLBNz7Yx78M70Ul/DsEubEQ6lVj58pui0sCcgt17bQSnO8qd2xyTQsWTG2U2+ewwdrCGLwd6sLNQdaOJuWxkVtIrEQSlyI5Ul2odQ05w+KZmNjHhJqhf6lOfBYy+JeSHy8KsckifjSfBCyxZ4gQkrHGg8YnQq2DZ6hf54y+Cb5YdRr21XCgqVAQhXMAvUuFi3t5DaB0hQg25gBOZoDeT1pSy9VxvYh7jX5B9YHPfQaPN54JOy0dnCroiEm4l076tyZ6nzbu X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13023025)(5005006)(8121501046)(13017025)(13015025)(13018025)(13024025)(10201501046)(3002001)(6055026); SRVR:DM5PR03MB2506; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2506; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2506; 4:nqLgHNzpFjB64AK2uIx4rDMgJ+Ge/QoWGbZw7ilUNVTX/71xofRCFXpFrq/0E6QGpGHK3zrCoXIbe3NafvkBvWSR2CXh/vEZ7kiDtGZR+4Jacd4FXh1XPViYD4L1i2uDX0hoKegwAZE0+9CIfkh7Knjfl7TREskK+LVEgfZjWlA7HkALvXYcRZhWIp1WMu8KVEbpi9nccEiun4CDhT0s5iTArngvVh/07G0SZn6T1Pk+Ais34lGd7xsHjf6OnUYIUWayCVKD2ElESM7+PoVvz/LDmCkiJYWfKi9HHjYsGxBNv4D3eS7LIuQKv8IaeHNN5RZm292I/e/ypIOIGnpNC7W/eD3BUjE2Uy5TvPZgIgNcmKIbew2sptq7Swvb/mr5S8y95rganSaELNnD9KYtS/EHvo/v4uxs56yx741X8fRxWhonE0Vq+9k2lOFXR0vr+U+ZgnCmaWHttp19pNKhSN6jLe2oyTlZGPsL+YMwnyxw1HmmdjiaIqT2V18Z2SLzspn1PM8x9TSjpfIn75Am9A== X-Forefront-PRVS: 00046D390F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB2506; 23:nIrnTjJVFZemswRDnn3pK1+XK0YWJLc2/BCqpzeOr?= =?us-ascii?Q?5RLYOyGuSVEBDwvb5iy0nIwfQeA+4eqcwfLCW8ZW8GmMGh36jT1oF2Ep+RCI?= =?us-ascii?Q?3bZLraJsqZAb3llUy7WOHIDiKv+WUX7gBdkkJmUQB0CZKM5gYRVC2cQ48p9T?= =?us-ascii?Q?RmU+NrTX2IKJLF4XZa5jWBOPlqBZpoScdFzWk5/lFNfXVAJXDcROULchdcMG?= =?us-ascii?Q?GbcNgwkCFEMomCVtCngVejusUqHAMh0t9wW9vu3YLm4WQJUuZPEhhUM+gANc?= =?us-ascii?Q?0X7u4wRsDDvzmMPewKQY6QttPLbS3a5mN7LSe5AocxEQD3x/DrRGxSH2vVMk?= =?us-ascii?Q?H7DrEPGihKottiprTPIfHxCyc3Da2hjvq4N4fIN4HJAPPW6g08IQ+h0b4A+Y?= =?us-ascii?Q?QRlQ9HTSVqP0PgcIao1LQRWOuAQsT+0pyFwh0sKSPyTxDtHcGgIFAKjvzjlk?= =?us-ascii?Q?tTdpNRbmXFFusoJJp2ypK6DTHuss/wFHBcedKRhSvwLQuu28Pm3C32Z9l64x?= =?us-ascii?Q?U7CqNeJrBxsxgZmyf57kcU4J/VqKeYgS73gB7zC7IQ4XzKVYHq0kH3TFHtAX?= =?us-ascii?Q?dHTniNOyn7qcEb0vrRNkPMGPOk+20EbB7JBjumFTAvvc+fMVrA2jwY5JV3UR?= =?us-ascii?Q?1vwJ1yL8KOvbYvB6i4Ml0Bt0QHUQB6eDiKj18ExXSJVxbD0guiufz0GVhhZm?= =?us-ascii?Q?kdgzRn6Z+BsEsHAaN4TrmULAan6p45QfAyrjL+xMeW6qJZQEjzC1mYS37F2t?= =?us-ascii?Q?nyJw21JY36QkGPEPMHeMad84xzaQ+xsxaaVi7ItdzDuWq/oey2Uykb1kMqcg?= =?us-ascii?Q?byK8l8w1vS8Rs5h28cyF0PVIyVbmEi3Qh5d6NBOSQy/99IUTBoZUewOAollb?= =?us-ascii?Q?PEyn49h4P+KB7Z1irTmBU1gO+InYJzr7v1vLQbDmc8OFrLX4+aiJTanOQv5z?= =?us-ascii?Q?RdaoCzMa/oPz/8PwpK4uAanlhSJM9G/Pn9/ikQRhXxI7Bp9pz29nT+V/RufE?= =?us-ascii?Q?ys0n0I4lemUWIUMbfDqxRNqnhRRuh55Xo0/5NRnRpuvcHartUCRmYJfnUXNs?= =?us-ascii?Q?7tMnfRScq0oLpFsU64ASZMSmvK7gniFFilNnaV7wM1Ed+SEfwBgBZnWj04o2?= =?us-ascii?Q?3WJ8N0W9yJqC7X+xn+f5pI0foEQjTLGx3HSSbeCvZmIw9c1lazj1lw9sI05X?= =?us-ascii?Q?zRexOPlcd47A14=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2506; 6:8zEHSeiFmicbz3X5VSwZN41HHvNDxFBJLR0kZHz4V6Wmaa4vr0lCL1UcL0P8Rc5lfqAMK8mWk0faeernBPGtqacW9YgZOYivhH+851C8VYeQgF8qMM5u1So6LKHaClmg/PVrKs2biyqWMfj+TT+YewJG4YaVtCcTaZWUwiChKYOSceF/ZUJ1bN3/byyRkeQvGRtExU6IaFxV1WUqhjMJvNKo7rfxicrcuTMzTpBMzmEOCDwP50dtdr1yhgiWiBL4lruO/s47+xpl2T4AUO8lHB9FWq0vMEoWkRX8NYwrCO0=; 5:XrMzOVPE5WBXLQc5JPIad+dL23u6wUoqgzf9AQru1YgpOkAgoNQOHSyM9ZzA1ZuUAF/ZrRER4BVt0Tlhur37JeVkAI5p7694a6tl3Hi59F/nwWd6pJjhbM3H5lMFzWk3om9GCYI9o0PoSgiWQET6Bh2b8C2AI9okp8y2Uv8BKoA=; 24:dHRC9vG/kREhZE4hIi2ITBJcr4v/ppElsLof0zvbxXE9LOJkF/WPU1L0ICUysBmpVbW/WnlMqJcFrPLpPF/iHwpRnvB3OCnAcnB3yZ9/jT8=; 7:SCTIRaiWrHDCj7vskR8ruXtQAmon2f8EsnJafDi7zlUGHk/aG/4RBXiv4CgRy1KGWTRrzizvBqyH+B6sBeWEPhF72767vI6mKkumt5hq3AiH70cfcfAZMm2fAtSQGBAUVp+6pmt8oR6xnEyOZan8hTOmmvEmj/YmxgVI9C+kKxjUUNc0s+4+OZs31fDgo01nlB0DkMKKnMbIbBbhiwO75V50DPrpb9O2BpYS/qbuQzyP/ZoFOBY0gMaAm8oFXEx6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2016 07:04:34.4860 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2506 X-Mailman-Approved-At: Fri, 15 Jul 2016 07:51:48 +0000 Cc: Meng Yi , emil.l.velikov@gmail.com, dri-devel@lists.freedesktop.org, alexander.stein@systec-electronic.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 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" X-Virus-Scanned: ClamAV using ClamSMTP The current output code only supports connection to drm panels. Add code to support drm bridge, to support connections to external connectors. Signed-off-by: Meng Yi --- Changes since V1: -no change --- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c index ba1edb1..cc19e1c 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c @@ -180,16 +180,26 @@ err_cleanup: static int fsl_dcu_attach_endpoint(struct fsl_dcu_drm_device *fsl_dev, const struct of_endpoint *ep) { + struct drm_bridge *bridge; struct device_node *np; np = of_graph_get_remote_port_parent(ep->local_node); fsl_dev->connector.panel = of_drm_find_panel(np); - of_node_put(np); - if (fsl_dev->connector.panel) + if (fsl_dev->connector.panel) { + of_node_put(np); return fsl_dcu_attach_panel(fsl_dev, fsl_dev->connector.panel); + } + + bridge = of_drm_find_bridge(np); + of_node_put(np); + if (!bridge) + return -ENODEV; + + fsl_dev->encoder.bridge = bridge; + bridge->encoder = &fsl_dev->encoder; - return -ENODEV; + return drm_bridge_attach(fsl_dev->drm, bridge); } int fsl_dcu_create_outputs(struct fsl_dcu_drm_device *fsl_dev)