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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3D8FC433EF for ; Wed, 15 Dec 2021 13:34:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242906AbhLONeT (ORCPT ); Wed, 15 Dec 2021 08:34:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242909AbhLONeT (ORCPT ); Wed, 15 Dec 2021 08:34:19 -0500 Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F651C061574; Wed, 15 Dec 2021 05:34:19 -0800 (PST) Received: by mail-ed1-x530.google.com with SMTP id y22so3830456edq.2; Wed, 15 Dec 2021 05:34:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=j83riijwkCGvjUh7Adz6XzCw5n1IEjGb/VrFZUAe4F8=; b=ZeSpMXbrIhP/htoOtQwRrekNkWMdpf3EEk1eT/8CDPHo0zVuSPCe/zjHnMdWUnZUWr stZdaBTu/q7znkoDE/+GMZ+I0fV/Q3zwGyV4ItCHSPNL934Lgfnigq/SPtZlYTBzFRLA KoRmkE+pjK/4+8x50BEq+LHgDSzS4DjCx5c95HdaBS6cqPpDNYHkatxIcgGjD7AmCYDT wgExYl9/AW5KpGegWdyQwpf6l8os4SSOD0JP8SxGkKWblzJwSt9AvmEI6BIsQZ9MwddH j1U3Mw5lTZUwsSkAzgmP2tcfAHpTheqJWu2OjuzEQUNniz7SFIRLtHXBpxoARCOh5w+z ETCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=j83riijwkCGvjUh7Adz6XzCw5n1IEjGb/VrFZUAe4F8=; b=7g4YA9Y9HRTZYfDm12EE0mjKTM4zkNzDAunICRwYPa4pOLQQlre2toRLbkdgyShxxL LwXcqk3YeOLlSRpny801e1/AMf87yjU43wBzoLZMY+j4P0WP6x0Qz6YUWWOhs//8WE3R QfZkW53F9yyB09D+Yx1D3a6zjbhxcQTXN4K2c10exFIV9CzLZ3UZVFPYocFrATDKJRqh Vv6A4W1B13E9tpmmt4nwx3C8r7CupRct7FgBiGpzgo1e0+Yx1B5KKqJv18EyL6Ew2gR0 DX1s2dESPPFzyvWrmfhMzkC9sTJWuQq/9rmwxe0yWsjcN2Y6mtZ+UVL1hJymuQ1+2hlS EXkQ== X-Gm-Message-State: AOAM530G3AqYIBS3bkyaAFe2AIQgCAPl3IaHJnTpkz12Rzq1/YVdyknR vKOuTRGxP+2ILnG0EK8mbbSTMKEJCUu2VQixJ6s= X-Google-Smtp-Source: ABdhPJx+lyo2eDU/yymI7uUr7Q0TQbS4aqYdE/gnmRWCO7rej1mxW1Okk54UFTfheTG/NmgfINc9s9Sx486rmDzuL8g= X-Received: by 2002:a17:906:6dce:: with SMTP id j14mr2997439ejt.305.1639575257245; Wed, 15 Dec 2021 05:34:17 -0800 (PST) MIME-Version: 1.0 References: <20210704090230.26489-1-jagan@amarulasolutions.com> In-Reply-To: From: Adam Ford Date: Wed, 15 Dec 2021 07:34:05 -0600 Message-ID: Subject: Re: [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge To: Michael Nazzareno Trimarchi Cc: Lucas Stach , Marek Vasut , devicetree , linux-samsung-soc , Laurent Pinchart , Joonyoung Shim , Neil Armstrong , Sam Ravnborg , Krzysztof Kozlowski , Seung-Woo Kim , dri-devel , Frieder Schrempf , Andrzej Hajda , Kyungmin Park , NXP Linux Team , Daniel Vetter , Robert Foss , linux-amarula , linux-arm-kernel , Jagan Teki Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On Thu, Dec 9, 2021 at 3:24 PM Michael Nazzareno Trimarchi wrote: > > Hi > > On Thu, Dec 9, 2021 at 9:24 PM Lucas Stach wrote: > > > > Am Donnerstag, dem 09.12.2021 um 18:09 +0100 schrieb Michael Nazzareno > > Trimarchi: > > > Hi Tim > > > > > > On Thu, Dec 9, 2021 at 5:40 PM Tim Harvey wrote: > > > > > > > > On Thu, Dec 9, 2021 at 12:36 AM Michael Nazzareno Trimarchi > > > > wrote: > > > > > > > > > > Hi Tim > > > > > > > > > > On Tue, Oct 5, 2021 at 11:43 PM Tim Harvey wrote: > > > > > > > > > > > > On Sun, Jul 25, 2021 at 10:14 AM Jagan Teki wrote: > > > > > > > > > > > > > > Hi Sam, > > > > > > > > > > > > > > On Sun, Jul 25, 2021 at 10:35 PM Sam Ravnborg wrote: > > > > > > > > > > > > > > > > Hi Jagan, > > > > > > > > > > > > > > > > On Sun, Jul 04, 2021 at 02:32:13PM +0530, Jagan Teki wrote: > > > > > > > > > This series supports common bridge support for Samsung MIPI DSIM > > > > > > > > > which is used in Exynos and i.MX8MM SoC's. > > > > > > > > > > > > > > > > > > The final bridge supports both the Exynos and i.MX8MM DSI devices. > > > > > > > > > > > > > > > > > > Right now bridge offers two sets of implementations. > > > > > > > > > > > > > > > > > > A. With component_ops and exynos specific code exclusively for > > > > > > > > > exynos dsi drivers and it's legacy bindings. > > > > > > > > > > > > > > > > > > B. Without componenet_ops for newly implemented bridges and its > > > > > > > > > users like i.MX8MM. > > > > > > > > > > > > > > > > > > The future plan is to fix the implementation A) by dropping > > > > > > > > > component_ops and fixing exynos specific code in order to make > > > > > > > > > the bridge more mature to use and the same is mentioned in > > > > > > > > > drivers TODO. > > > > > > > > > > > > > > > > > > Patch 0001 - 0006: Bridge conversion > > > > > > > > > Patch 0007 - 0017: Samsung MIPI DSIM bridge fixes, additions > > > > > > > > > > > > > > > > > > Tested in Engicam i.Core MX8M Mini SoM. > > > > > > > > > > > > > > > > > > Anyone interest, please have a look on this repo > > > > > > > > > https://github.com/openedev/linux/tree/070421-imx8mm-dsim > > > > > > > > > > > > > > > > > > Would appreciate anyone from the exynos team to test it on > > > > > > > > > the exynos platform? > > > > > > > > > > > > > > > > > > Any inputs? > > > > > > > > > > > > > > > > I really like where you are headign with this! > > > > > > > > No testing - sorry. But I will try to provide a bit of feedback on the > > > > > > > > individual patches. > > > > > > > > > > > > > > > > I hope you find a way to move forward with this. > > > > > > > > > > > > > > Thanks for the response. > > > > > > > > > > > > > > We have found some issues with Bridge conversion on existing exynos > > > > > > > drivers. The component based DSI drivers(like exynos) are difficult to > > > > > > > attach if it involves kms hotplug. kms hotplug would require drm > > > > > > > pointer and that pointer would only available after the bind call > > > > > > > finishes. But the bridge attach in bind call will defer till it find > > > > > > > the attached bridge. > > > > > > > > > > > > > > Right now I'm trying to find the proper way to attach the bridges for > > > > > > > component based DSI drivers which involves kms hot-plug. > > > > > > > > > > > > > > If you have any ideas on this, please let me know. > > > > > > > > > > > > > > > > > > > Jagan, > > > > > > > > > > > > How is your progress on this series? Looking at your repo it looks > > > > > > like you've rebased on top of 5.13-rc3 in your 070121-imx8mm-dsim > > > > > > branch but you've got a lot of things there that are likely not > > > > > > related to this series? > > > > > > > > > > I have a bit of work on those patches and tested on imx8mn. Basically: > > > > > > > > > > - add the dsi timing calculation > > > > > - change few difference with samsung bridge > > > > > - fix crashes of my dsi panels > > > > > - compare with NXP driver the final results > > > > > > > > > > I found that I have one problem that gives me some instability. In the > > > > > NXP original driver the panel needs to be > > > > > enabled in bridge_enable before out the standby. If I understand > > > > > correctly, our standby should be done after. > > > > > I would like to have some feedback and help and testing on other > > > > > boards/devices and some suggestions on how to handle > > > > > some of the differences. Another big problem is etnavi that is not stable > > > > > > > > > > > > > Michael, > > > > > > > > Where can I find your patches? > > > > > > > > > > I will push on some tree and share > > > > > > > What do you mean by etnaviv not being stable? > > > > > > > > I did some limited testing with etnaviv on imx8mm with 5.15 + dsi > > > > > > > > > > > > > patches on an Ubuntu focal root filesystem by: > > > > apt update > > > > apt install gnome-session gnome-terminal > > > > ^^^ 2D hardware acceleration appears to be working (dragging opaque > > > > windows around) > > > > apt install mesa-utils glmark2 > > > > glxgears > > > > ^^^ ~160fps on IMX8MM > > > > glmark2 > > > > ^^^ score of 39 on IMX8MM > > > > > > > > I haven't seen any updates from Jagan since Nov 24 > > > > (https://www.spinics.net/lists/dri-devel/msg324059.html) and am not > > > > sure if he's been able to work through drm/exynos issues that have > > > > been blocking his progress. > > > > > > I plan to push on github > > > > > > [17:07:42.315] Sending ready to systemd > > > [ 214.052085] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 214.595998] etnaviv-gpu 38000000.gpu: recover hung GPU! Which Nano variant do you have? Not all Nano's have a GPU. I know Tim Harvey was having a similar issue, but it turns out his variant of the Nano did not include a GPU. > > > > > > ** (maynard:386): WARNING **: 17:07:43.874: failed to setup mixer: Success > > > [17:07:44.175] Added surface 0xaaab02630440, app_id (null) to pending list > > > [17:07:44.176] Added surface 0xaaab026172b0, app_id (null) to pending list > > > ** Message: 17:07:44.289: New advertisement app id maynard > > > ** Message: 17:07:44.290: New advertisement app id maynard > > > [17:07:45.171] (background) position view 0xaaab0261f860, x 0, y 0, on > > > output DSI-1 > > > [17:07:45.171] (panel) geom.width 100, geom.height 480, geom.x 0, geom.y 0 > > > [17:07:45.171] (panel) edge 2 position view 0xaaab02634510, x 0, y 0 > > > [17:07:45.172] panel type 2 inited on output DSI-1 > > > [17:07:45.172] Usable area: 380x480+100,0 > > > [ 216.932080] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 217.476015] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 218.020157] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > > > > This is my problem on imx8mn > > > > Note that the GPU on the 8MN is from the GC7000 generation, which > > genreally has bogus feature registers, as VeriSilicon stopped using > > them in favor of a hardware database. To get the GPu working you need > > to transcribe the entry for this specific GPU from the downstream GPU > > driver into the etanviv HWDB format, to make the kernel and userspace > > driver aware of how to drive this GPU. > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > index f2fc645c7956..724f78fd37e5 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > @@ -68,6 +68,37 @@ static const struct etnaviv_chip_identity > etnaviv_chip_identities[] = { > .minor_features10 = 0x00004040, > .minor_features11 = 0x00000024, > }, > + { > + .model = 0x7000, > + .revision = 0x6203, > + .product_id = ~0U, > + .customer_id = ~0U, > + .eco_id = 0, > + .stream_count = 16, > + .register_max = 64, > + .thread_count = 512, > + .shader_core_count = 2, > + .vertex_cache_size = 16, > + .vertex_output_buffer_size = 1024, > + .pixel_pipes = 1, > + .instruction_count = 512, > + .num_constants = 320, > + .buffer_size = 0, > + .varyings_count = 16, > + .features = 0xe0287c8c, > + .minor_features0 = 0xc1589eff, > + .minor_features1 = 0xfefbfad9, > + .minor_features2 = 0xeb9d4fbf, > + .minor_features3 = 0xedfffced, > + .minor_features4 = 0xdb0dafc7, > + .minor_features5 = 0x3b5ac333, > + .minor_features6 = 0xfcce6000, > + .minor_features7 = 0xfffbfa6f, > + .minor_features8 = 0x00e10ef3, > + .minor_features9 = 0x00c8003c, > + .minor_features10 = 0x00004040, > + .minor_features11 = 0x00000024, > + }, > { > .model = 0x7000, > .revision = 0x6204, > > Ok, should something like this. Only does not know about this > gcFEATURE_BIT_DE_2D_FAST_CLEAR. I put in features but can even a > minor. Do you know the right mapping? > > Michael > > Michael > > > > > Regards, > > Lucas > > > > > -- > Michael Nazzareno Trimarchi > Co-Founder & Chief Executive Officer > M. +39 347 913 2170 > michael@amarulasolutions.com > __________________________________ > > Amarula Solutions BV > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > T. +31 (0)85 111 9172 > info@amarulasolutions.com > www.amarulasolutions.com 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 914DDC433FE for ; Wed, 15 Dec 2021 13:34:21 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C2EFA10E1A2; Wed, 15 Dec 2021 13:34:20 +0000 (UTC) Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3F0A110E250 for ; Wed, 15 Dec 2021 13:34:19 +0000 (UTC) Received: by mail-ed1-x534.google.com with SMTP id y13so74486382edd.13 for ; Wed, 15 Dec 2021 05:34:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=j83riijwkCGvjUh7Adz6XzCw5n1IEjGb/VrFZUAe4F8=; b=ZeSpMXbrIhP/htoOtQwRrekNkWMdpf3EEk1eT/8CDPHo0zVuSPCe/zjHnMdWUnZUWr stZdaBTu/q7znkoDE/+GMZ+I0fV/Q3zwGyV4ItCHSPNL934Lgfnigq/SPtZlYTBzFRLA KoRmkE+pjK/4+8x50BEq+LHgDSzS4DjCx5c95HdaBS6cqPpDNYHkatxIcgGjD7AmCYDT wgExYl9/AW5KpGegWdyQwpf6l8os4SSOD0JP8SxGkKWblzJwSt9AvmEI6BIsQZ9MwddH j1U3Mw5lTZUwsSkAzgmP2tcfAHpTheqJWu2OjuzEQUNniz7SFIRLtHXBpxoARCOh5w+z ETCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=j83riijwkCGvjUh7Adz6XzCw5n1IEjGb/VrFZUAe4F8=; b=iNuUyzZwuYUhU120Sfi+uBFtjDhLzSsp7ceOeYCLUXf1PjblxGsCGpBeafy4ePeNV5 vgG4LLk5KZjuCyaZMDcCtkUrufMCbi6IRrULKepi64YxO1ChKT6fmUk3OpYJ0aTQppiY xeeiW4qJ4OaENqgIY5C9mrANWFGoQNfbQLluWZRYut+FMqpqeXnJQwT3iS/dJnkiFYNi aQDun+GfOoMrIKVNRxyuox/n1t+aaKVKcDn3OHGFIMGVc68JBFHBD8AiTl0phNo4IHLD TSqPYXF/yKBpLyPcuprJ0SNy0KHkzHt20BSAuHKVpPj+DU5M4YreWRmDtgMTDTKShyKj vFlA== X-Gm-Message-State: AOAM533tk8pD6cih/H4q3MdbRVbLX8keLijcZ8ZJBzwMbRkL91NWs9YN +PrHw/IEehXb7mcqFTUCNsvaj/q0QvAuKeEDxBY= X-Google-Smtp-Source: ABdhPJx+lyo2eDU/yymI7uUr7Q0TQbS4aqYdE/gnmRWCO7rej1mxW1Okk54UFTfheTG/NmgfINc9s9Sx486rmDzuL8g= X-Received: by 2002:a17:906:6dce:: with SMTP id j14mr2997439ejt.305.1639575257245; Wed, 15 Dec 2021 05:34:17 -0800 (PST) MIME-Version: 1.0 References: <20210704090230.26489-1-jagan@amarulasolutions.com> In-Reply-To: From: Adam Ford Date: Wed, 15 Dec 2021 07:34:05 -0600 Message-ID: Subject: Re: [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge To: Michael Nazzareno Trimarchi Content-Type: text/plain; charset="UTF-8" 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: , Cc: Marek Vasut , devicetree , linux-samsung-soc , Joonyoung Shim , Neil Armstrong , Robert Foss , Krzysztof Kozlowski , Seung-Woo Kim , dri-devel , Frieder Schrempf , Andrzej Hajda , Kyungmin Park , Jagan Teki , Laurent Pinchart , Daniel Vetter , Sam Ravnborg , linux-amarula , linux-arm-kernel , NXP Linux Team Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, Dec 9, 2021 at 3:24 PM Michael Nazzareno Trimarchi wrote: > > Hi > > On Thu, Dec 9, 2021 at 9:24 PM Lucas Stach wrote: > > > > Am Donnerstag, dem 09.12.2021 um 18:09 +0100 schrieb Michael Nazzareno > > Trimarchi: > > > Hi Tim > > > > > > On Thu, Dec 9, 2021 at 5:40 PM Tim Harvey wrote: > > > > > > > > On Thu, Dec 9, 2021 at 12:36 AM Michael Nazzareno Trimarchi > > > > wrote: > > > > > > > > > > Hi Tim > > > > > > > > > > On Tue, Oct 5, 2021 at 11:43 PM Tim Harvey wrote: > > > > > > > > > > > > On Sun, Jul 25, 2021 at 10:14 AM Jagan Teki wrote: > > > > > > > > > > > > > > Hi Sam, > > > > > > > > > > > > > > On Sun, Jul 25, 2021 at 10:35 PM Sam Ravnborg wrote: > > > > > > > > > > > > > > > > Hi Jagan, > > > > > > > > > > > > > > > > On Sun, Jul 04, 2021 at 02:32:13PM +0530, Jagan Teki wrote: > > > > > > > > > This series supports common bridge support for Samsung MIPI DSIM > > > > > > > > > which is used in Exynos and i.MX8MM SoC's. > > > > > > > > > > > > > > > > > > The final bridge supports both the Exynos and i.MX8MM DSI devices. > > > > > > > > > > > > > > > > > > Right now bridge offers two sets of implementations. > > > > > > > > > > > > > > > > > > A. With component_ops and exynos specific code exclusively for > > > > > > > > > exynos dsi drivers and it's legacy bindings. > > > > > > > > > > > > > > > > > > B. Without componenet_ops for newly implemented bridges and its > > > > > > > > > users like i.MX8MM. > > > > > > > > > > > > > > > > > > The future plan is to fix the implementation A) by dropping > > > > > > > > > component_ops and fixing exynos specific code in order to make > > > > > > > > > the bridge more mature to use and the same is mentioned in > > > > > > > > > drivers TODO. > > > > > > > > > > > > > > > > > > Patch 0001 - 0006: Bridge conversion > > > > > > > > > Patch 0007 - 0017: Samsung MIPI DSIM bridge fixes, additions > > > > > > > > > > > > > > > > > > Tested in Engicam i.Core MX8M Mini SoM. > > > > > > > > > > > > > > > > > > Anyone interest, please have a look on this repo > > > > > > > > > https://github.com/openedev/linux/tree/070421-imx8mm-dsim > > > > > > > > > > > > > > > > > > Would appreciate anyone from the exynos team to test it on > > > > > > > > > the exynos platform? > > > > > > > > > > > > > > > > > > Any inputs? > > > > > > > > > > > > > > > > I really like where you are headign with this! > > > > > > > > No testing - sorry. But I will try to provide a bit of feedback on the > > > > > > > > individual patches. > > > > > > > > > > > > > > > > I hope you find a way to move forward with this. > > > > > > > > > > > > > > Thanks for the response. > > > > > > > > > > > > > > We have found some issues with Bridge conversion on existing exynos > > > > > > > drivers. The component based DSI drivers(like exynos) are difficult to > > > > > > > attach if it involves kms hotplug. kms hotplug would require drm > > > > > > > pointer and that pointer would only available after the bind call > > > > > > > finishes. But the bridge attach in bind call will defer till it find > > > > > > > the attached bridge. > > > > > > > > > > > > > > Right now I'm trying to find the proper way to attach the bridges for > > > > > > > component based DSI drivers which involves kms hot-plug. > > > > > > > > > > > > > > If you have any ideas on this, please let me know. > > > > > > > > > > > > > > > > > > > Jagan, > > > > > > > > > > > > How is your progress on this series? Looking at your repo it looks > > > > > > like you've rebased on top of 5.13-rc3 in your 070121-imx8mm-dsim > > > > > > branch but you've got a lot of things there that are likely not > > > > > > related to this series? > > > > > > > > > > I have a bit of work on those patches and tested on imx8mn. Basically: > > > > > > > > > > - add the dsi timing calculation > > > > > - change few difference with samsung bridge > > > > > - fix crashes of my dsi panels > > > > > - compare with NXP driver the final results > > > > > > > > > > I found that I have one problem that gives me some instability. In the > > > > > NXP original driver the panel needs to be > > > > > enabled in bridge_enable before out the standby. If I understand > > > > > correctly, our standby should be done after. > > > > > I would like to have some feedback and help and testing on other > > > > > boards/devices and some suggestions on how to handle > > > > > some of the differences. Another big problem is etnavi that is not stable > > > > > > > > > > > > > Michael, > > > > > > > > Where can I find your patches? > > > > > > > > > > I will push on some tree and share > > > > > > > What do you mean by etnaviv not being stable? > > > > > > > > I did some limited testing with etnaviv on imx8mm with 5.15 + dsi > > > > > > > > > > > > > patches on an Ubuntu focal root filesystem by: > > > > apt update > > > > apt install gnome-session gnome-terminal > > > > ^^^ 2D hardware acceleration appears to be working (dragging opaque > > > > windows around) > > > > apt install mesa-utils glmark2 > > > > glxgears > > > > ^^^ ~160fps on IMX8MM > > > > glmark2 > > > > ^^^ score of 39 on IMX8MM > > > > > > > > I haven't seen any updates from Jagan since Nov 24 > > > > (https://www.spinics.net/lists/dri-devel/msg324059.html) and am not > > > > sure if he's been able to work through drm/exynos issues that have > > > > been blocking his progress. > > > > > > I plan to push on github > > > > > > [17:07:42.315] Sending ready to systemd > > > [ 214.052085] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 214.595998] etnaviv-gpu 38000000.gpu: recover hung GPU! Which Nano variant do you have? Not all Nano's have a GPU. I know Tim Harvey was having a similar issue, but it turns out his variant of the Nano did not include a GPU. > > > > > > ** (maynard:386): WARNING **: 17:07:43.874: failed to setup mixer: Success > > > [17:07:44.175] Added surface 0xaaab02630440, app_id (null) to pending list > > > [17:07:44.176] Added surface 0xaaab026172b0, app_id (null) to pending list > > > ** Message: 17:07:44.289: New advertisement app id maynard > > > ** Message: 17:07:44.290: New advertisement app id maynard > > > [17:07:45.171] (background) position view 0xaaab0261f860, x 0, y 0, on > > > output DSI-1 > > > [17:07:45.171] (panel) geom.width 100, geom.height 480, geom.x 0, geom.y 0 > > > [17:07:45.171] (panel) edge 2 position view 0xaaab02634510, x 0, y 0 > > > [17:07:45.172] panel type 2 inited on output DSI-1 > > > [17:07:45.172] Usable area: 380x480+100,0 > > > [ 216.932080] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 217.476015] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 218.020157] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > > > > This is my problem on imx8mn > > > > Note that the GPU on the 8MN is from the GC7000 generation, which > > genreally has bogus feature registers, as VeriSilicon stopped using > > them in favor of a hardware database. To get the GPu working you need > > to transcribe the entry for this specific GPU from the downstream GPU > > driver into the etanviv HWDB format, to make the kernel and userspace > > driver aware of how to drive this GPU. > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > index f2fc645c7956..724f78fd37e5 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > @@ -68,6 +68,37 @@ static const struct etnaviv_chip_identity > etnaviv_chip_identities[] = { > .minor_features10 = 0x00004040, > .minor_features11 = 0x00000024, > }, > + { > + .model = 0x7000, > + .revision = 0x6203, > + .product_id = ~0U, > + .customer_id = ~0U, > + .eco_id = 0, > + .stream_count = 16, > + .register_max = 64, > + .thread_count = 512, > + .shader_core_count = 2, > + .vertex_cache_size = 16, > + .vertex_output_buffer_size = 1024, > + .pixel_pipes = 1, > + .instruction_count = 512, > + .num_constants = 320, > + .buffer_size = 0, > + .varyings_count = 16, > + .features = 0xe0287c8c, > + .minor_features0 = 0xc1589eff, > + .minor_features1 = 0xfefbfad9, > + .minor_features2 = 0xeb9d4fbf, > + .minor_features3 = 0xedfffced, > + .minor_features4 = 0xdb0dafc7, > + .minor_features5 = 0x3b5ac333, > + .minor_features6 = 0xfcce6000, > + .minor_features7 = 0xfffbfa6f, > + .minor_features8 = 0x00e10ef3, > + .minor_features9 = 0x00c8003c, > + .minor_features10 = 0x00004040, > + .minor_features11 = 0x00000024, > + }, > { > .model = 0x7000, > .revision = 0x6204, > > Ok, should something like this. Only does not know about this > gcFEATURE_BIT_DE_2D_FAST_CLEAR. I put in features but can even a > minor. Do you know the right mapping? > > Michael > > Michael > > > > > Regards, > > Lucas > > > > > -- > Michael Nazzareno Trimarchi > Co-Founder & Chief Executive Officer > M. +39 347 913 2170 > michael@amarulasolutions.com > __________________________________ > > Amarula Solutions BV > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > T. +31 (0)85 111 9172 > info@amarulasolutions.com > www.amarulasolutions.com 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 4BE74C433F5 for ; Wed, 15 Dec 2021 13:35:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=QXU3ohqjT6l3/0Bt2Iwwm4AEU4XA0Iwn+VSF/N/4+g0=; b=jXla4k40+ETWbJ S9SSjuZEkHdX1SYn8by5AyRTf+L50eViDRtmQ47uFc36GCdfdta80ytHE5PYaO5MZhkhl3mWkLZAZ LeQpggqn2ji2DQg5tE+Dgp/a/FUAPpUywY5Hz0bTEHEH9LdAI4Nl3IOgzkztxWXKhlP7c/SttiOiX T26wa/DUnHh4RypyUMSw8XjA8y4sCs1rCVZ+9upUbzmC0oFeiJJmJb1PyodC9lGE/P979LLeldjBU RRpYkKxF5GNIfWASVEf6znrq+yJ5xSF9Yb9fvq90Po1Hy25D3CiZ+s13idlMqzXyB3OpzeTnzvxfE IkAOJetGR2lQ//hHxtEA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mxUQM-000w9m-5s; Wed, 15 Dec 2021 13:34:26 +0000 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mxUQH-000w8H-Dw for linux-arm-kernel@lists.infradead.org; Wed, 15 Dec 2021 13:34:24 +0000 Received: by mail-ed1-x534.google.com with SMTP id t5so74647103edd.0 for ; Wed, 15 Dec 2021 05:34:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=j83riijwkCGvjUh7Adz6XzCw5n1IEjGb/VrFZUAe4F8=; b=ZeSpMXbrIhP/htoOtQwRrekNkWMdpf3EEk1eT/8CDPHo0zVuSPCe/zjHnMdWUnZUWr stZdaBTu/q7znkoDE/+GMZ+I0fV/Q3zwGyV4ItCHSPNL934Lgfnigq/SPtZlYTBzFRLA KoRmkE+pjK/4+8x50BEq+LHgDSzS4DjCx5c95HdaBS6cqPpDNYHkatxIcgGjD7AmCYDT wgExYl9/AW5KpGegWdyQwpf6l8os4SSOD0JP8SxGkKWblzJwSt9AvmEI6BIsQZ9MwddH j1U3Mw5lTZUwsSkAzgmP2tcfAHpTheqJWu2OjuzEQUNniz7SFIRLtHXBpxoARCOh5w+z ETCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=j83riijwkCGvjUh7Adz6XzCw5n1IEjGb/VrFZUAe4F8=; b=AXRJGRvQRn2X3+n8z2icCe00To2NX+XC4O2W6CsekgB//+U0PRPZulK0AwlBbNk9Hf EjhLrSp8rrsCiBzfLL7fOXCnFldyQuN7R14u0bGywrvB+TXS49OgYJ1U+XnziLM7WpsO xhkPD0c1+jeBXX256p9wcXoFOU/7N2MloPv1DrV9kD4P1/dJQ4v6dOboPscJtKMcVs07 GeQSeJXkvTJnZSYghy7tomE+ogYwWC6YCXKzvTACQtS11Z2PK5zoItKJT79N4r6WnMXF +G9rXBvV4FBc7iUXRSNdgQ0QXl1fDogWgLxYJ4lDM4xZ0/wgH+bUGDeP4kOmMfCBXbKn xVJg== X-Gm-Message-State: AOAM532TFFe5FSRLMLQ6OgQ5XPG5iHiYcCjEU+iUt5/5G/JUvvHbrYqO pGcyanU7T05cIc0E+mVdzCcQtGzE7XdwoLJvPAQ= X-Google-Smtp-Source: ABdhPJx+lyo2eDU/yymI7uUr7Q0TQbS4aqYdE/gnmRWCO7rej1mxW1Okk54UFTfheTG/NmgfINc9s9Sx486rmDzuL8g= X-Received: by 2002:a17:906:6dce:: with SMTP id j14mr2997439ejt.305.1639575257245; Wed, 15 Dec 2021 05:34:17 -0800 (PST) MIME-Version: 1.0 References: <20210704090230.26489-1-jagan@amarulasolutions.com> In-Reply-To: From: Adam Ford Date: Wed, 15 Dec 2021 07:34:05 -0600 Message-ID: Subject: Re: [RFC PATCH 00/17] drm: bridge: Samsung MIPI DSIM bridge To: Michael Nazzareno Trimarchi Cc: Lucas Stach , Marek Vasut , devicetree , linux-samsung-soc , Laurent Pinchart , Joonyoung Shim , Neil Armstrong , Sam Ravnborg , Krzysztof Kozlowski , Seung-Woo Kim , dri-devel , Frieder Schrempf , Andrzej Hajda , Kyungmin Park , NXP Linux Team , Daniel Vetter , Robert Foss , linux-amarula , linux-arm-kernel , Jagan Teki X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211215_053421_499981_34E398CE X-CRM114-Status: GOOD ( 64.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, Dec 9, 2021 at 3:24 PM Michael Nazzareno Trimarchi wrote: > > Hi > > On Thu, Dec 9, 2021 at 9:24 PM Lucas Stach wrote: > > > > Am Donnerstag, dem 09.12.2021 um 18:09 +0100 schrieb Michael Nazzareno > > Trimarchi: > > > Hi Tim > > > > > > On Thu, Dec 9, 2021 at 5:40 PM Tim Harvey wrote: > > > > > > > > On Thu, Dec 9, 2021 at 12:36 AM Michael Nazzareno Trimarchi > > > > wrote: > > > > > > > > > > Hi Tim > > > > > > > > > > On Tue, Oct 5, 2021 at 11:43 PM Tim Harvey wrote: > > > > > > > > > > > > On Sun, Jul 25, 2021 at 10:14 AM Jagan Teki wrote: > > > > > > > > > > > > > > Hi Sam, > > > > > > > > > > > > > > On Sun, Jul 25, 2021 at 10:35 PM Sam Ravnborg wrote: > > > > > > > > > > > > > > > > Hi Jagan, > > > > > > > > > > > > > > > > On Sun, Jul 04, 2021 at 02:32:13PM +0530, Jagan Teki wrote: > > > > > > > > > This series supports common bridge support for Samsung MIPI DSIM > > > > > > > > > which is used in Exynos and i.MX8MM SoC's. > > > > > > > > > > > > > > > > > > The final bridge supports both the Exynos and i.MX8MM DSI devices. > > > > > > > > > > > > > > > > > > Right now bridge offers two sets of implementations. > > > > > > > > > > > > > > > > > > A. With component_ops and exynos specific code exclusively for > > > > > > > > > exynos dsi drivers and it's legacy bindings. > > > > > > > > > > > > > > > > > > B. Without componenet_ops for newly implemented bridges and its > > > > > > > > > users like i.MX8MM. > > > > > > > > > > > > > > > > > > The future plan is to fix the implementation A) by dropping > > > > > > > > > component_ops and fixing exynos specific code in order to make > > > > > > > > > the bridge more mature to use and the same is mentioned in > > > > > > > > > drivers TODO. > > > > > > > > > > > > > > > > > > Patch 0001 - 0006: Bridge conversion > > > > > > > > > Patch 0007 - 0017: Samsung MIPI DSIM bridge fixes, additions > > > > > > > > > > > > > > > > > > Tested in Engicam i.Core MX8M Mini SoM. > > > > > > > > > > > > > > > > > > Anyone interest, please have a look on this repo > > > > > > > > > https://github.com/openedev/linux/tree/070421-imx8mm-dsim > > > > > > > > > > > > > > > > > > Would appreciate anyone from the exynos team to test it on > > > > > > > > > the exynos platform? > > > > > > > > > > > > > > > > > > Any inputs? > > > > > > > > > > > > > > > > I really like where you are headign with this! > > > > > > > > No testing - sorry. But I will try to provide a bit of feedback on the > > > > > > > > individual patches. > > > > > > > > > > > > > > > > I hope you find a way to move forward with this. > > > > > > > > > > > > > > Thanks for the response. > > > > > > > > > > > > > > We have found some issues with Bridge conversion on existing exynos > > > > > > > drivers. The component based DSI drivers(like exynos) are difficult to > > > > > > > attach if it involves kms hotplug. kms hotplug would require drm > > > > > > > pointer and that pointer would only available after the bind call > > > > > > > finishes. But the bridge attach in bind call will defer till it find > > > > > > > the attached bridge. > > > > > > > > > > > > > > Right now I'm trying to find the proper way to attach the bridges for > > > > > > > component based DSI drivers which involves kms hot-plug. > > > > > > > > > > > > > > If you have any ideas on this, please let me know. > > > > > > > > > > > > > > > > > > > Jagan, > > > > > > > > > > > > How is your progress on this series? Looking at your repo it looks > > > > > > like you've rebased on top of 5.13-rc3 in your 070121-imx8mm-dsim > > > > > > branch but you've got a lot of things there that are likely not > > > > > > related to this series? > > > > > > > > > > I have a bit of work on those patches and tested on imx8mn. Basically: > > > > > > > > > > - add the dsi timing calculation > > > > > - change few difference with samsung bridge > > > > > - fix crashes of my dsi panels > > > > > - compare with NXP driver the final results > > > > > > > > > > I found that I have one problem that gives me some instability. In the > > > > > NXP original driver the panel needs to be > > > > > enabled in bridge_enable before out the standby. If I understand > > > > > correctly, our standby should be done after. > > > > > I would like to have some feedback and help and testing on other > > > > > boards/devices and some suggestions on how to handle > > > > > some of the differences. Another big problem is etnavi that is not stable > > > > > > > > > > > > > Michael, > > > > > > > > Where can I find your patches? > > > > > > > > > > I will push on some tree and share > > > > > > > What do you mean by etnaviv not being stable? > > > > > > > > I did some limited testing with etnaviv on imx8mm with 5.15 + dsi > > > > > > > > > > > > > patches on an Ubuntu focal root filesystem by: > > > > apt update > > > > apt install gnome-session gnome-terminal > > > > ^^^ 2D hardware acceleration appears to be working (dragging opaque > > > > windows around) > > > > apt install mesa-utils glmark2 > > > > glxgears > > > > ^^^ ~160fps on IMX8MM > > > > glmark2 > > > > ^^^ score of 39 on IMX8MM > > > > > > > > I haven't seen any updates from Jagan since Nov 24 > > > > (https://www.spinics.net/lists/dri-devel/msg324059.html) and am not > > > > sure if he's been able to work through drm/exynos issues that have > > > > been blocking his progress. > > > > > > I plan to push on github > > > > > > [17:07:42.315] Sending ready to systemd > > > [ 214.052085] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 214.595998] etnaviv-gpu 38000000.gpu: recover hung GPU! Which Nano variant do you have? Not all Nano's have a GPU. I know Tim Harvey was having a similar issue, but it turns out his variant of the Nano did not include a GPU. > > > > > > ** (maynard:386): WARNING **: 17:07:43.874: failed to setup mixer: Success > > > [17:07:44.175] Added surface 0xaaab02630440, app_id (null) to pending list > > > [17:07:44.176] Added surface 0xaaab026172b0, app_id (null) to pending list > > > ** Message: 17:07:44.289: New advertisement app id maynard > > > ** Message: 17:07:44.290: New advertisement app id maynard > > > [17:07:45.171] (background) position view 0xaaab0261f860, x 0, y 0, on > > > output DSI-1 > > > [17:07:45.171] (panel) geom.width 100, geom.height 480, geom.x 0, geom.y 0 > > > [17:07:45.171] (panel) edge 2 position view 0xaaab02634510, x 0, y 0 > > > [17:07:45.172] panel type 2 inited on output DSI-1 > > > [17:07:45.172] Usable area: 380x480+100,0 > > > [ 216.932080] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 217.476015] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > [ 218.020157] etnaviv-gpu 38000000.gpu: recover hung GPU! > > > > > > This is my problem on imx8mn > > > > Note that the GPU on the 8MN is from the GC7000 generation, which > > genreally has bogus feature registers, as VeriSilicon stopped using > > them in favor of a hardware database. To get the GPu working you need > > to transcribe the entry for this specific GPU from the downstream GPU > > driver into the etanviv HWDB format, to make the kernel and userspace > > driver aware of how to drive this GPU. > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > index f2fc645c7956..724f78fd37e5 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c > @@ -68,6 +68,37 @@ static const struct etnaviv_chip_identity > etnaviv_chip_identities[] = { > .minor_features10 = 0x00004040, > .minor_features11 = 0x00000024, > }, > + { > + .model = 0x7000, > + .revision = 0x6203, > + .product_id = ~0U, > + .customer_id = ~0U, > + .eco_id = 0, > + .stream_count = 16, > + .register_max = 64, > + .thread_count = 512, > + .shader_core_count = 2, > + .vertex_cache_size = 16, > + .vertex_output_buffer_size = 1024, > + .pixel_pipes = 1, > + .instruction_count = 512, > + .num_constants = 320, > + .buffer_size = 0, > + .varyings_count = 16, > + .features = 0xe0287c8c, > + .minor_features0 = 0xc1589eff, > + .minor_features1 = 0xfefbfad9, > + .minor_features2 = 0xeb9d4fbf, > + .minor_features3 = 0xedfffced, > + .minor_features4 = 0xdb0dafc7, > + .minor_features5 = 0x3b5ac333, > + .minor_features6 = 0xfcce6000, > + .minor_features7 = 0xfffbfa6f, > + .minor_features8 = 0x00e10ef3, > + .minor_features9 = 0x00c8003c, > + .minor_features10 = 0x00004040, > + .minor_features11 = 0x00000024, > + }, > { > .model = 0x7000, > .revision = 0x6204, > > Ok, should something like this. Only does not know about this > gcFEATURE_BIT_DE_2D_FAST_CLEAR. I put in features but can even a > minor. Do you know the right mapping? > > Michael > > Michael > > > > > Regards, > > Lucas > > > > > -- > Michael Nazzareno Trimarchi > Co-Founder & Chief Executive Officer > M. +39 347 913 2170 > michael@amarulasolutions.com > __________________________________ > > Amarula Solutions BV > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > T. +31 (0)85 111 9172 > info@amarulasolutions.com > www.amarulasolutions.com _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel