From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Velikov Subject: Re: [PATCH v2 0/5] 180 degrees rotation support for NVIDIA Tegra DRM Date: Tue, 16 Jun 2020 19:54:04 +0100 Message-ID: References: <20200614200121.14147-1-digetx@gmail.com> <8f789ef5-bebf-c869-784d-afda70fc1fb8@gmail.com> <646b3f37-0f72-7f3b-388f-f71dbcdd5c84@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <646b3f37-0f72-7f3b-388f-f71dbcdd5c84-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Dmitry Osipenko Cc: Thierry Reding , Thomas Zimmermann , Derek Basehore , Sam Ravnborg , Laurent Pinchart , Sean Paul , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, "Linux-Kernel@Vger. Kernel. Org" , ML dri-devel List-Id: linux-tegra@vger.kernel.org On Tue, 16 Jun 2020 at 18:20, Dmitry Osipenko wrote: > > 16.06.2020 18:48, Emil Velikov =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > > On Tue, 16 Jun 2020 at 12:40, Dmitry Osipenko wrote: > >> > >> 16.06.2020 01:26, Emil Velikov =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > >>> Hi Dmitry, > >>> > >>> On Mon, 15 Jun 2020 at 08:28, Dmitry Osipenko wrot= e: > >>>> > >>>> Hello! > >>>> > >>>> This series adds 180=C2=B0 display plane rotation support to the NVI= DIA Tegra > >>>> DRM driver which is needed for devices that have display panel physi= cally > >>>> mounted upside-down, like Nexus 7 tablet device for example [1]. Sin= ce > >>>> DRM panel rotation is a new thing for a userspace, currently only > >>>> Opentegra Xorg driver handles the rotated display panel [2], but thi= s > >>>> is good enough for the start. > >>>> > >>>> Note that later on it should be possible to implement a transparent = 180=C2=B0 > >>>> display rotation for Tegra DRM driver which will remove the need to = have > >>>> a bleeding edge userspace that knows how to rotate display planes an= d I'm > >>>> slowly working on it. For the starter we can go with the minimal rot= ation > >>>> support, so it's not a blocker. > >>>> > >>>> This series is based on the work that was made by Derek Basehore for= the > >>>> Mediatek driver [3], his patch is included into this patchset. I add= ed > >>>> my tested-by tag to the Derek's patch. > >>>> > >>>> Please review and apply, thanks in advance! > >>>> > >>>> [1] https://patchwork.ozlabs.org/project/linux-tegra/patch/202006071= 54327.18589-3-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org/ > >>>> [2] https://github.com/grate-driver/xf86-video-opentegra/commit/28eb= 20a3959bbe5bc3a3b67e55977093fd5114ca > >>>> [3] https://lkml.org/lkml/2020/3/5/1119 > >>>> > >>>> Changelog: > >>>> > >>>> v2: - Dropped "drm/panel: Set display info in panel attach" patch, w= hich > >>>> turned out to be obsolete now. > >>>> > >>>> - Renamed the cover-latter, hopefully this will fix the bouncing= emails. > >>>> > >>>> Derek Basehore (1): > >>>> drm/panel: Add helper for reading DT rotation > >>>> > >>>> Dmitry Osipenko (4): > >>>> drm/panel: lvds: Set up panel orientation > >>> > >>> IMHO it's perfectly reasonable to report the panel orientation to > >>> userspace, which can apply plane rotation as needed. > >>> > >>> Although I see that this series, alike Derek's, has a couple of issue= s: > >>> - only a single panel driver is updated > >>> - rotation is _not_ listed as supported property, in said panel > >>> driver device-tree bindings > >>> > >>> My personal inclination is that we should aim for a comprehensive sol= ution: > >>> - wire all panel drivers, as currently documented (quick grep list b= elow) > >>> - document and wire-up the lvds and boe panels - as proposed by you > >>> and Derek respectively > >>> > >>> HTH > >>> Emil > >>> > >>> Documentation/devicetree/bindings/display/himax,hx8357d.txt:2 > >>> Documentation/devicetree/bindings/display/ilitek,ili9225.txt:2 > >>> Documentation/devicetree/bindings/display/ilitek,ili9341.txt:2 > >>> Documentation/devicetree/bindings/display/ilitek,ili9486.yaml:2 > >>> Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt:2 > >>> Documentation/devicetree/bindings/display/panel/panel-common.yaml:2 > >>> Documentation/devicetree/bindings/display/sitronix,st7586.txt:1 > >>> Documentation/devicetree/bindings/display/sitronix,st7735r.yaml:2 > >> > >> Rotation is a common DT panel property that is described in the > >> panel-common.yaml. > > The property was introduced almost exclusively for tiny drm panels. > > Those ones are a bit different from the rest (in panel/) - > > MIPI-DBI/SPI w/o (not connected at least) an actual GPU. > > > > To make it a bit better, the rotation is seemingly performed in the > > tiny driver itself ouch. > > > >> This property is supported by all panel bindings > >> because these bindings inherent the common properties from the > >> panel-common.yaml. > >> > > Seems like that was an unintentional change with the conversion to YAML= . > > Beforehand only a few selected panels had rotation. Upon closer look - > > some panels do have follow-up fixes, to remove/limit the implicit > > inclusion. > > Interesting.. my understanding that the rotation property is supposed to > be a generic property which represents physical orientation of a display > panel and hence it should be applicable to all panels. > You're spot on - it is/should be a generic property. I believe that in general many panels were mounted in the correct orientation so the property, kernel and userspace were slow to catch up. In some cases panels will use flip x+y to denote 180 rotation, yet lacking the rotation property. The s6e8aa0 is an example of the last oddity. To make it better, the two dts in-tree always set both flip x and y. Tl;Dr: Hysterical raisins > > Sam seems like you've done most of the YAML conversion. IMHO it would > > make sense to revisit the patches and inherit common properties only > > as applicable. > > > >> I don't think that it makes sense to wire up rotation property to all > >> panel drivers at once because those drivers will be untested, at least= I > >> don't know anything about those other panels and can't test them. It > >> will be much better to support the rotation on by as-needed basis for > >> each panel driver individually. > > > > How about CCing the author and reviewer asking them to test the patch? > > The only place where the patches might cause an issue is with tiny, > > although patches would still be appreciated. > > There are quite a lot of panel drivers and I'm a bit doubtful that at > least half of devices that use those panels have any real use for the > rotation property. I could write the patches.. but in the end it could > be a wasted effort if nobody needs it, so I'd prefer not to do it. That's why I mentioned the rotation introduction or "confusion" if I may. Skimming through the pre/post YAML device tree bindings and grep through the panel themselves will greatly reduce the list. In other words: if neither binding documentation/in-tree dts nor panel mentions rotation - omit it. -Emil 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 X-Spam-Level: X-Spam-Status: No, score=-5.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 93624C433E1 for ; Tue, 16 Jun 2020 18:57:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 64DCA207E8 for ; Tue, 16 Jun 2020 18:57:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ucqd3uRf" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730573AbgFPS5t (ORCPT ); Tue, 16 Jun 2020 14:57:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730543AbgFPS5s (ORCPT ); Tue, 16 Jun 2020 14:57:48 -0400 Received: from mail-ua1-x944.google.com (mail-ua1-x944.google.com [IPv6:2607:f8b0:4864:20::944]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 19A70C061573; Tue, 16 Jun 2020 11:57:48 -0700 (PDT) Received: by mail-ua1-x944.google.com with SMTP id g44so7267023uae.12; Tue, 16 Jun 2020 11:57:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=++LLNhIunq6DJtsYt7QZbdqySyg8Go49MpsG3rgmJFk=; b=ucqd3uRfFrWWfhaWf9cHHzOjFfxjf+pM4uKzNCUtF/d+yZgJyda2W8vRmNZTm1bayL ApfngBOpOMdN6PzBTFTDn5ZDvzQ+hZTx/O5Bc61BarswK4M3/TWkbP3G/EDw7yFl6FfN b0WGuUH8p94o8xa78M0Pw5GtNyBAXLSbVfEAZ3JVVtxB52wjpaXUrbWmvhrHK7amPaTC I89MkXxWZL+P9zfwnOofiMiR05w0LUtemmqwx9eF7rxbYZV5LbvLH4BW4vn5xvvlZeKa rO44opmN0Vbscb9rd2pRP5SMuncZsYxio5xx/pJuIGqU3W5RlSOKaL20wL3KjIhGOarv eIKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=++LLNhIunq6DJtsYt7QZbdqySyg8Go49MpsG3rgmJFk=; b=GRIC7JJ91raUgO2YCmNEzq1WuxJgiG5Rgj4dbdbe/LGMW4hteZwH8a4+ACGxmS+Rqt /RFK8UEoLBxDMRGmR0MkS/VaAC85aCfwh3d7P7idNbQsF12eI1DII3ylI8ROcs9mXQxl zfhIgY2JCpZBvIOh8pdGOiH8xlvZNFbC4PE5mcGail2+7MyW+EL4YAMPf0+EJabvqCxt ICglS+iRiGa6V0EGO5uRabtqnF5LA9a5gdOkmCWZ2Fgx6Dccble4GkH3xQh5kxR82aqj ucRu33D8zqyJUWw/o7xcct7l4kQVrpgkHJHYp+yhOgUtlg1ZO0U923DU0RmrmjWdIVpX 0g5w== X-Gm-Message-State: AOAM533D7f1ElUVAShSB/Yxy6wZlyGv+tB0dDCncPJqdxW5N6GJohFWq 7hL3QU2HZcv+Zuv9dhdRhy4aMc2k6/TdJlWbIQE= X-Google-Smtp-Source: ABdhPJyYmytGR8vTEkPVUPgo49cK7EQnTHmS8BVcg2vn5GTHd6Fgny/W6WxC0wlrw/Rf9G2X+D5P4Lx6cnQx09zgPeI= X-Received: by 2002:ab0:71ce:: with SMTP id n14mr3669545uao.46.1592333867137; Tue, 16 Jun 2020 11:57:47 -0700 (PDT) MIME-Version: 1.0 References: <20200614200121.14147-1-digetx@gmail.com> <8f789ef5-bebf-c869-784d-afda70fc1fb8@gmail.com> <646b3f37-0f72-7f3b-388f-f71dbcdd5c84@gmail.com> In-Reply-To: <646b3f37-0f72-7f3b-388f-f71dbcdd5c84@gmail.com> From: Emil Velikov Date: Tue, 16 Jun 2020 19:54:04 +0100 Message-ID: Subject: Re: [PATCH v2 0/5] 180 degrees rotation support for NVIDIA Tegra DRM To: Dmitry Osipenko Cc: Thierry Reding , Thomas Zimmermann , Derek Basehore , Sam Ravnborg , Laurent Pinchart , Sean Paul , linux-tegra@vger.kernel.org, "Linux-Kernel@Vger. Kernel. Org" , ML dri-devel Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 16 Jun 2020 at 18:20, Dmitry Osipenko wrote: > > 16.06.2020 18:48, Emil Velikov =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > > On Tue, 16 Jun 2020 at 12:40, Dmitry Osipenko wrote: > >> > >> 16.06.2020 01:26, Emil Velikov =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > >>> Hi Dmitry, > >>> > >>> On Mon, 15 Jun 2020 at 08:28, Dmitry Osipenko wrot= e: > >>>> > >>>> Hello! > >>>> > >>>> This series adds 180=C2=B0 display plane rotation support to the NVI= DIA Tegra > >>>> DRM driver which is needed for devices that have display panel physi= cally > >>>> mounted upside-down, like Nexus 7 tablet device for example [1]. Sin= ce > >>>> DRM panel rotation is a new thing for a userspace, currently only > >>>> Opentegra Xorg driver handles the rotated display panel [2], but thi= s > >>>> is good enough for the start. > >>>> > >>>> Note that later on it should be possible to implement a transparent = 180=C2=B0 > >>>> display rotation for Tegra DRM driver which will remove the need to = have > >>>> a bleeding edge userspace that knows how to rotate display planes an= d I'm > >>>> slowly working on it. For the starter we can go with the minimal rot= ation > >>>> support, so it's not a blocker. > >>>> > >>>> This series is based on the work that was made by Derek Basehore for= the > >>>> Mediatek driver [3], his patch is included into this patchset. I add= ed > >>>> my tested-by tag to the Derek's patch. > >>>> > >>>> Please review and apply, thanks in advance! > >>>> > >>>> [1] https://patchwork.ozlabs.org/project/linux-tegra/patch/202006071= 54327.18589-3-digetx@gmail.com/ > >>>> [2] https://github.com/grate-driver/xf86-video-opentegra/commit/28eb= 20a3959bbe5bc3a3b67e55977093fd5114ca > >>>> [3] https://lkml.org/lkml/2020/3/5/1119 > >>>> > >>>> Changelog: > >>>> > >>>> v2: - Dropped "drm/panel: Set display info in panel attach" patch, w= hich > >>>> turned out to be obsolete now. > >>>> > >>>> - Renamed the cover-latter, hopefully this will fix the bouncing= emails. > >>>> > >>>> Derek Basehore (1): > >>>> drm/panel: Add helper for reading DT rotation > >>>> > >>>> Dmitry Osipenko (4): > >>>> drm/panel: lvds: Set up panel orientation > >>> > >>> IMHO it's perfectly reasonable to report the panel orientation to > >>> userspace, which can apply plane rotation as needed. > >>> > >>> Although I see that this series, alike Derek's, has a couple of issue= s: > >>> - only a single panel driver is updated > >>> - rotation is _not_ listed as supported property, in said panel > >>> driver device-tree bindings > >>> > >>> My personal inclination is that we should aim for a comprehensive sol= ution: > >>> - wire all panel drivers, as currently documented (quick grep list b= elow) > >>> - document and wire-up the lvds and boe panels - as proposed by you > >>> and Derek respectively > >>> > >>> HTH > >>> Emil > >>> > >>> Documentation/devicetree/bindings/display/himax,hx8357d.txt:2 > >>> Documentation/devicetree/bindings/display/ilitek,ili9225.txt:2 > >>> Documentation/devicetree/bindings/display/ilitek,ili9341.txt:2 > >>> Documentation/devicetree/bindings/display/ilitek,ili9486.yaml:2 > >>> Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt:2 > >>> Documentation/devicetree/bindings/display/panel/panel-common.yaml:2 > >>> Documentation/devicetree/bindings/display/sitronix,st7586.txt:1 > >>> Documentation/devicetree/bindings/display/sitronix,st7735r.yaml:2 > >> > >> Rotation is a common DT panel property that is described in the > >> panel-common.yaml. > > The property was introduced almost exclusively for tiny drm panels. > > Those ones are a bit different from the rest (in panel/) - > > MIPI-DBI/SPI w/o (not connected at least) an actual GPU. > > > > To make it a bit better, the rotation is seemingly performed in the > > tiny driver itself ouch. > > > >> This property is supported by all panel bindings > >> because these bindings inherent the common properties from the > >> panel-common.yaml. > >> > > Seems like that was an unintentional change with the conversion to YAML= . > > Beforehand only a few selected panels had rotation. Upon closer look - > > some panels do have follow-up fixes, to remove/limit the implicit > > inclusion. > > Interesting.. my understanding that the rotation property is supposed to > be a generic property which represents physical orientation of a display > panel and hence it should be applicable to all panels. > You're spot on - it is/should be a generic property. I believe that in general many panels were mounted in the correct orientation so the property, kernel and userspace were slow to catch up. In some cases panels will use flip x+y to denote 180 rotation, yet lacking the rotation property. The s6e8aa0 is an example of the last oddity. To make it better, the two dts in-tree always set both flip x and y. Tl;Dr: Hysterical raisins > > Sam seems like you've done most of the YAML conversion. IMHO it would > > make sense to revisit the patches and inherit common properties only > > as applicable. > > > >> I don't think that it makes sense to wire up rotation property to all > >> panel drivers at once because those drivers will be untested, at least= I > >> don't know anything about those other panels and can't test them. It > >> will be much better to support the rotation on by as-needed basis for > >> each panel driver individually. > > > > How about CCing the author and reviewer asking them to test the patch? > > The only place where the patches might cause an issue is with tiny, > > although patches would still be appreciated. > > There are quite a lot of panel drivers and I'm a bit doubtful that at > least half of devices that use those panels have any real use for the > rotation property. I could write the patches.. but in the end it could > be a wasted effort if nobody needs it, so I'd prefer not to do it. That's why I mentioned the rotation introduction or "confusion" if I may. Skimming through the pre/post YAML device tree bindings and grep through the panel themselves will greatly reduce the list. In other words: if neither binding documentation/in-tree dts nor panel mentions rotation - omit it. -Emil 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 X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CCE8C433DF for ; Tue, 16 Jun 2020 18:57:50 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 46FEC207C4 for ; Tue, 16 Jun 2020 18:57:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ucqd3uRf" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 46FEC207C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C12906E929; Tue, 16 Jun 2020 18:57:49 +0000 (UTC) Received: from mail-ua1-x942.google.com (mail-ua1-x942.google.com [IPv6:2607:f8b0:4864:20::942]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1ED1D6E929 for ; Tue, 16 Jun 2020 18:57:48 +0000 (UTC) Received: by mail-ua1-x942.google.com with SMTP id z47so7271639uad.5 for ; Tue, 16 Jun 2020 11:57:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=++LLNhIunq6DJtsYt7QZbdqySyg8Go49MpsG3rgmJFk=; b=ucqd3uRfFrWWfhaWf9cHHzOjFfxjf+pM4uKzNCUtF/d+yZgJyda2W8vRmNZTm1bayL ApfngBOpOMdN6PzBTFTDn5ZDvzQ+hZTx/O5Bc61BarswK4M3/TWkbP3G/EDw7yFl6FfN b0WGuUH8p94o8xa78M0Pw5GtNyBAXLSbVfEAZ3JVVtxB52wjpaXUrbWmvhrHK7amPaTC I89MkXxWZL+P9zfwnOofiMiR05w0LUtemmqwx9eF7rxbYZV5LbvLH4BW4vn5xvvlZeKa rO44opmN0Vbscb9rd2pRP5SMuncZsYxio5xx/pJuIGqU3W5RlSOKaL20wL3KjIhGOarv eIKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=++LLNhIunq6DJtsYt7QZbdqySyg8Go49MpsG3rgmJFk=; b=SATyM/5lF6DHMfOM51ge/J0eYYP+NNbwalteytrdbd0uhFhSOSpmf8ApmuoHoLd40W GkN2wTFTNupKbtFdlWkklkzLhH0Hh1XsGisMB6jU7PAjP0/6KV2AKiNSfWmZWUcvIGrr 9SAowYeb62TsvMF6bhWHhztzKlu7GZBb0IcIRPNq4QQ70j534dlIzLGMh58VrPbI4rH6 UmDCu6E1Lpzw3QXTbOveGfZxDxrpelm4UZtpt10vWErjPu+hSFY2brsQINhR0J1bfYup Cd6JzGfNM3CqKFDV+OP//kYbpnC8emEEg5D1HKGPsPDEGi2Fthvt5GftGzMQ3KU0Pg8/ RcgA== X-Gm-Message-State: AOAM5310MsVf5r99aZaP8q3L9xl7WGFPw4Wveum0SAkNTXSwXnfkhFne 2LmMQQH0H2FSzKVsg6sRhEyA9xWxee8/Hx6IMbo= X-Google-Smtp-Source: ABdhPJyYmytGR8vTEkPVUPgo49cK7EQnTHmS8BVcg2vn5GTHd6Fgny/W6WxC0wlrw/Rf9G2X+D5P4Lx6cnQx09zgPeI= X-Received: by 2002:ab0:71ce:: with SMTP id n14mr3669545uao.46.1592333867137; Tue, 16 Jun 2020 11:57:47 -0700 (PDT) MIME-Version: 1.0 References: <20200614200121.14147-1-digetx@gmail.com> <8f789ef5-bebf-c869-784d-afda70fc1fb8@gmail.com> <646b3f37-0f72-7f3b-388f-f71dbcdd5c84@gmail.com> In-Reply-To: <646b3f37-0f72-7f3b-388f-f71dbcdd5c84@gmail.com> From: Emil Velikov Date: Tue, 16 Jun 2020 19:54:04 +0100 Message-ID: Subject: Re: [PATCH v2 0/5] 180 degrees rotation support for NVIDIA Tegra DRM To: Dmitry Osipenko 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: Sam Ravnborg , Derek Basehore , "Linux-Kernel@Vger. Kernel. Org" , ML dri-devel , Thierry Reding , Laurent Pinchart , Thomas Zimmermann , linux-tegra@vger.kernel.org, Sean Paul Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVHVlLCAxNiBKdW4gMjAyMCBhdCAxODoyMCwgRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21h aWwuY29tPiB3cm90ZToKPgo+IDE2LjA2LjIwMjAgMTg6NDgsIEVtaWwgVmVsaWtvdiDQv9C40YjQ tdGCOgo+ID4gT24gVHVlLCAxNiBKdW4gMjAyMCBhdCAxMjo0MCwgRG1pdHJ5IE9zaXBlbmtvIDxk aWdldHhAZ21haWwuY29tPiB3cm90ZToKPiA+Pgo+ID4+IDE2LjA2LjIwMjAgMDE6MjYsIEVtaWwg VmVsaWtvdiDQv9C40YjQtdGCOgo+ID4+PiBIaSBEbWl0cnksCj4gPj4+Cj4gPj4+IE9uIE1vbiwg MTUgSnVuIDIwMjAgYXQgMDg6MjgsIERtaXRyeSBPc2lwZW5rbyA8ZGlnZXR4QGdtYWlsLmNvbT4g d3JvdGU6Cj4gPj4+Pgo+ID4+Pj4gSGVsbG8hCj4gPj4+Pgo+ID4+Pj4gVGhpcyBzZXJpZXMgYWRk cyAxODDCsCBkaXNwbGF5IHBsYW5lIHJvdGF0aW9uIHN1cHBvcnQgdG8gdGhlIE5WSURJQSBUZWdy YQo+ID4+Pj4gRFJNIGRyaXZlciB3aGljaCBpcyBuZWVkZWQgZm9yIGRldmljZXMgdGhhdCBoYXZl IGRpc3BsYXkgcGFuZWwgcGh5c2ljYWxseQo+ID4+Pj4gbW91bnRlZCB1cHNpZGUtZG93biwgbGlr ZSBOZXh1cyA3IHRhYmxldCBkZXZpY2UgZm9yIGV4YW1wbGUgWzFdLiBTaW5jZQo+ID4+Pj4gRFJN IHBhbmVsIHJvdGF0aW9uIGlzIGEgbmV3IHRoaW5nIGZvciBhIHVzZXJzcGFjZSwgY3VycmVudGx5 IG9ubHkKPiA+Pj4+IE9wZW50ZWdyYSBYb3JnIGRyaXZlciBoYW5kbGVzIHRoZSByb3RhdGVkIGRp c3BsYXkgcGFuZWwgWzJdLCBidXQgdGhpcwo+ID4+Pj4gaXMgZ29vZCBlbm91Z2ggZm9yIHRoZSBz dGFydC4KPiA+Pj4+Cj4gPj4+PiBOb3RlIHRoYXQgbGF0ZXIgb24gaXQgc2hvdWxkIGJlIHBvc3Np YmxlIHRvIGltcGxlbWVudCBhIHRyYW5zcGFyZW50IDE4MMKwCj4gPj4+PiBkaXNwbGF5IHJvdGF0 aW9uIGZvciBUZWdyYSBEUk0gZHJpdmVyIHdoaWNoIHdpbGwgcmVtb3ZlIHRoZSBuZWVkIHRvIGhh dmUKPiA+Pj4+IGEgYmxlZWRpbmcgZWRnZSB1c2Vyc3BhY2UgdGhhdCBrbm93cyBob3cgdG8gcm90 YXRlIGRpc3BsYXkgcGxhbmVzIGFuZCBJJ20KPiA+Pj4+IHNsb3dseSB3b3JraW5nIG9uIGl0LiBG b3IgdGhlIHN0YXJ0ZXIgd2UgY2FuIGdvIHdpdGggdGhlIG1pbmltYWwgcm90YXRpb24KPiA+Pj4+ IHN1cHBvcnQsIHNvIGl0J3Mgbm90IGEgYmxvY2tlci4KPiA+Pj4+Cj4gPj4+PiBUaGlzIHNlcmll cyBpcyBiYXNlZCBvbiB0aGUgd29yayB0aGF0IHdhcyBtYWRlIGJ5IERlcmVrIEJhc2Vob3JlIGZv ciB0aGUKPiA+Pj4+IE1lZGlhdGVrIGRyaXZlciBbM10sIGhpcyBwYXRjaCBpcyBpbmNsdWRlZCBp bnRvIHRoaXMgcGF0Y2hzZXQuIEkgYWRkZWQKPiA+Pj4+IG15IHRlc3RlZC1ieSB0YWcgdG8gdGhl IERlcmVrJ3MgcGF0Y2guCj4gPj4+Pgo+ID4+Pj4gUGxlYXNlIHJldmlldyBhbmQgYXBwbHksIHRo YW5rcyBpbiBhZHZhbmNlIQo+ID4+Pj4KPiA+Pj4+IFsxXSBodHRwczovL3BhdGNod29yay5vemxh YnMub3JnL3Byb2plY3QvbGludXgtdGVncmEvcGF0Y2gvMjAyMDA2MDcxNTQzMjcuMTg1ODktMy1k aWdldHhAZ21haWwuY29tLwo+ID4+Pj4gWzJdIGh0dHBzOi8vZ2l0aHViLmNvbS9ncmF0ZS1kcml2 ZXIveGY4Ni12aWRlby1vcGVudGVncmEvY29tbWl0LzI4ZWIyMGEzOTU5YmJlNWJjM2EzYjY3ZTU1 OTc3MDkzZmQ1MTE0Y2EKPiA+Pj4+IFszXSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAyMC8zLzUv MTExOQo+ID4+Pj4KPiA+Pj4+IENoYW5nZWxvZzoKPiA+Pj4+Cj4gPj4+PiB2MjogLSBEcm9wcGVk ICJkcm0vcGFuZWw6IFNldCBkaXNwbGF5IGluZm8gaW4gcGFuZWwgYXR0YWNoIiBwYXRjaCwgd2hp Y2gKPiA+Pj4+ICAgICAgIHR1cm5lZCBvdXQgdG8gYmUgb2Jzb2xldGUgbm93Lgo+ID4+Pj4KPiA+ Pj4+ICAgICAtIFJlbmFtZWQgdGhlIGNvdmVyLWxhdHRlciwgaG9wZWZ1bGx5IHRoaXMgd2lsbCBm aXggdGhlIGJvdW5jaW5nIGVtYWlscy4KPiA+Pj4+Cj4gPj4+PiBEZXJlayBCYXNlaG9yZSAoMSk6 Cj4gPj4+PiAgIGRybS9wYW5lbDogQWRkIGhlbHBlciBmb3IgcmVhZGluZyBEVCByb3RhdGlvbgo+ ID4+Pj4KPiA+Pj4+IERtaXRyeSBPc2lwZW5rbyAoNCk6Cj4gPj4+PiAgIGRybS9wYW5lbDogbHZk czogU2V0IHVwIHBhbmVsIG9yaWVudGF0aW9uCj4gPj4+Cj4gPj4+IElNSE8gaXQncyBwZXJmZWN0 bHkgcmVhc29uYWJsZSB0byByZXBvcnQgdGhlIHBhbmVsIG9yaWVudGF0aW9uIHRvCj4gPj4+IHVz ZXJzcGFjZSwgd2hpY2ggY2FuIGFwcGx5IHBsYW5lIHJvdGF0aW9uIGFzIG5lZWRlZC4KPiA+Pj4K PiA+Pj4gQWx0aG91Z2ggSSBzZWUgdGhhdCB0aGlzIHNlcmllcywgYWxpa2UgRGVyZWsncywgaGFz IGEgY291cGxlIG9mIGlzc3VlczoKPiA+Pj4gIC0gb25seSBhIHNpbmdsZSBwYW5lbCBkcml2ZXIg aXMgdXBkYXRlZAo+ID4+PiAgLSByb3RhdGlvbiBpcyBfbm90XyBsaXN0ZWQgYXMgc3VwcG9ydGVk IHByb3BlcnR5LCBpbiBzYWlkIHBhbmVsCj4gPj4+IGRyaXZlciBkZXZpY2UtdHJlZSBiaW5kaW5n cwo+ID4+Pgo+ID4+PiBNeSBwZXJzb25hbCBpbmNsaW5hdGlvbiBpcyB0aGF0IHdlIHNob3VsZCBh aW0gZm9yIGEgY29tcHJlaGVuc2l2ZSBzb2x1dGlvbjoKPiA+Pj4gIC0gd2lyZSBhbGwgcGFuZWwg ZHJpdmVycywgYXMgY3VycmVudGx5IGRvY3VtZW50ZWQgKHF1aWNrIGdyZXAgbGlzdCBiZWxvdykK PiA+Pj4gIC0gZG9jdW1lbnQgYW5kIHdpcmUtdXAgdGhlIGx2ZHMgYW5kIGJvZSBwYW5lbHMgLSBh cyBwcm9wb3NlZCBieSB5b3UKPiA+Pj4gYW5kIERlcmVrIHJlc3BlY3RpdmVseQo+ID4+Pgo+ID4+ PiBIVEgKPiA+Pj4gRW1pbAo+ID4+Pgo+ID4+PiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZGlzcGxheS9oaW1heCxoeDgzNTdkLnR4dDoyCj4gPj4+IERvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L2lsaXRlayxpbGk5MjI1LnR4dDoyCj4gPj4+IERvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L2lsaXRlayxpbGk5MzQxLnR4dDoy Cj4gPj4+IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L2lsaXRlayxp bGk5NDg2LnlhbWw6Mgo+ID4+PiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlz cGxheS9tdWx0aS1pbm5vLG1pMDI4M3F0LnR4dDoyCj4gPj4+IERvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L3BhbmVsL3BhbmVsLWNvbW1vbi55YW1sOjIKPiA+Pj4gRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvc2l0cm9uaXgsc3Q3NTg2LnR4 dDoxCj4gPj4+IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L3NpdHJv bml4LHN0NzczNXIueWFtbDoyCj4gPj4KPiA+PiBSb3RhdGlvbiBpcyBhIGNvbW1vbiBEVCBwYW5l bCBwcm9wZXJ0eSB0aGF0IGlzIGRlc2NyaWJlZCBpbiB0aGUKPiA+PiBwYW5lbC1jb21tb24ueWFt bC4KPiA+IFRoZSBwcm9wZXJ0eSB3YXMgaW50cm9kdWNlZCBhbG1vc3QgZXhjbHVzaXZlbHkgZm9y IHRpbnkgZHJtIHBhbmVscy4KPiA+IFRob3NlIG9uZXMgYXJlIGEgYml0IGRpZmZlcmVudCBmcm9t IHRoZSByZXN0IChpbiBwYW5lbC8pIC0KPiA+IE1JUEktREJJL1NQSSB3L28gKG5vdCBjb25uZWN0 ZWQgYXQgbGVhc3QpIGFuIGFjdHVhbCBHUFUuCj4gPgo+ID4gVG8gbWFrZSBpdCBhIGJpdCBiZXR0 ZXIsIHRoZSByb3RhdGlvbiBpcyBzZWVtaW5nbHkgcGVyZm9ybWVkIGluIHRoZQo+ID4gdGlueSBk cml2ZXIgaXRzZWxmIG91Y2guCj4gPgo+ID4+IFRoaXMgcHJvcGVydHkgaXMgc3VwcG9ydGVkIGJ5 IGFsbCBwYW5lbCBiaW5kaW5ncwo+ID4+IGJlY2F1c2UgdGhlc2UgYmluZGluZ3MgaW5oZXJlbnQg dGhlIGNvbW1vbiBwcm9wZXJ0aWVzIGZyb20gdGhlCj4gPj4gcGFuZWwtY29tbW9uLnlhbWwuCj4g Pj4KPiA+IFNlZW1zIGxpa2UgdGhhdCB3YXMgYW4gdW5pbnRlbnRpb25hbCBjaGFuZ2Ugd2l0aCB0 aGUgY29udmVyc2lvbiB0byBZQU1MLgo+ID4gQmVmb3JlaGFuZCBvbmx5IGEgZmV3IHNlbGVjdGVk IHBhbmVscyBoYWQgcm90YXRpb24uIFVwb24gY2xvc2VyIGxvb2sgLQo+ID4gc29tZSBwYW5lbHMg ZG8gaGF2ZSBmb2xsb3ctdXAgZml4ZXMsIHRvIHJlbW92ZS9saW1pdCB0aGUgaW1wbGljaXQKPiA+ IGluY2x1c2lvbi4KPgo+IEludGVyZXN0aW5nLi4gbXkgdW5kZXJzdGFuZGluZyB0aGF0IHRoZSBy b3RhdGlvbiBwcm9wZXJ0eSBpcyBzdXBwb3NlZCB0bwo+IGJlIGEgZ2VuZXJpYyBwcm9wZXJ0eSB3 aGljaCByZXByZXNlbnRzIHBoeXNpY2FsIG9yaWVudGF0aW9uIG9mIGEgZGlzcGxheQo+IHBhbmVs IGFuZCBoZW5jZSBpdCBzaG91bGQgYmUgYXBwbGljYWJsZSB0byBhbGwgcGFuZWxzLgo+CllvdSdy ZSBzcG90IG9uIC0gaXQgaXMvc2hvdWxkIGJlIGEgZ2VuZXJpYyBwcm9wZXJ0eS4KCkkgYmVsaWV2 ZSB0aGF0IGluIGdlbmVyYWwgbWFueSBwYW5lbHMgd2VyZSBtb3VudGVkIGluIHRoZSBjb3JyZWN0 Cm9yaWVudGF0aW9uIHNvIHRoZSBwcm9wZXJ0eSwga2VybmVsIGFuZCB1c2Vyc3BhY2Ugd2VyZSBz bG93IHRvIGNhdGNoCnVwLiBJbiBzb21lIGNhc2VzIHBhbmVscyB3aWxsIHVzZSBmbGlwIHgreSB0 byBkZW5vdGUgMTgwIHJvdGF0aW9uLCB5ZXQKbGFja2luZyB0aGUgcm90YXRpb24gcHJvcGVydHku ClRoZSBzNmU4YWEwIGlzIGFuIGV4YW1wbGUgb2YgdGhlIGxhc3Qgb2RkaXR5LiBUbyBtYWtlIGl0 IGJldHRlciwgdGhlCnR3byBkdHMgaW4tdHJlZSBhbHdheXMgc2V0IGJvdGggZmxpcCB4IGFuZCB5 LgoKVGw7RHI6IEh5c3RlcmljYWwgcmFpc2lucwoKPiA+IFNhbSBzZWVtcyBsaWtlIHlvdSd2ZSBk b25lIG1vc3Qgb2YgdGhlIFlBTUwgY29udmVyc2lvbi4gSU1ITyBpdCB3b3VsZAo+ID4gbWFrZSBz ZW5zZSB0byByZXZpc2l0IHRoZSBwYXRjaGVzIGFuZCBpbmhlcml0IGNvbW1vbiBwcm9wZXJ0aWVz IG9ubHkKPiA+IGFzIGFwcGxpY2FibGUuCj4gPgo+ID4+IEkgZG9uJ3QgdGhpbmsgdGhhdCBpdCBt YWtlcyBzZW5zZSB0byB3aXJlIHVwIHJvdGF0aW9uIHByb3BlcnR5IHRvIGFsbAo+ID4+IHBhbmVs IGRyaXZlcnMgYXQgb25jZSBiZWNhdXNlIHRob3NlIGRyaXZlcnMgd2lsbCBiZSB1bnRlc3RlZCwg YXQgbGVhc3QgSQo+ID4+IGRvbid0IGtub3cgYW55dGhpbmcgYWJvdXQgdGhvc2Ugb3RoZXIgcGFu ZWxzIGFuZCBjYW4ndCB0ZXN0IHRoZW0uIEl0Cj4gPj4gd2lsbCBiZSBtdWNoIGJldHRlciB0byBz dXBwb3J0IHRoZSByb3RhdGlvbiBvbiBieSBhcy1uZWVkZWQgYmFzaXMgZm9yCj4gPj4gZWFjaCBw YW5lbCBkcml2ZXIgaW5kaXZpZHVhbGx5Lgo+ID4KPiA+IEhvdyBhYm91dCBDQ2luZyB0aGUgYXV0 aG9yIGFuZCByZXZpZXdlciBhc2tpbmcgdGhlbSB0byB0ZXN0IHRoZSBwYXRjaD8KPiA+IFRoZSBv bmx5IHBsYWNlIHdoZXJlIHRoZSBwYXRjaGVzIG1pZ2h0IGNhdXNlIGFuIGlzc3VlIGlzIHdpdGgg dGlueSwKPiA+IGFsdGhvdWdoIHBhdGNoZXMgd291bGQgc3RpbGwgYmUgYXBwcmVjaWF0ZWQuCj4K PiBUaGVyZSBhcmUgcXVpdGUgYSBsb3Qgb2YgcGFuZWwgZHJpdmVycyBhbmQgSSdtIGEgYml0IGRv dWJ0ZnVsIHRoYXQgYXQKPiBsZWFzdCBoYWxmIG9mIGRldmljZXMgdGhhdCB1c2UgdGhvc2UgcGFu ZWxzIGhhdmUgYW55IHJlYWwgdXNlIGZvciB0aGUKPiByb3RhdGlvbiBwcm9wZXJ0eS4gSSBjb3Vs ZCB3cml0ZSB0aGUgcGF0Y2hlcy4uIGJ1dCBpbiB0aGUgZW5kIGl0IGNvdWxkCj4gYmUgYSB3YXN0 ZWQgZWZmb3J0IGlmIG5vYm9keSBuZWVkcyBpdCwgc28gSSdkIHByZWZlciBub3QgdG8gZG8gaXQu CgpUaGF0J3Mgd2h5IEkgbWVudGlvbmVkIHRoZSByb3RhdGlvbiBpbnRyb2R1Y3Rpb24gb3IgImNv bmZ1c2lvbiIgaWYgSQptYXkuIFNraW1taW5nIHRocm91Z2ggdGhlIHByZS9wb3N0IFlBTUwgZGV2 aWNlIHRyZWUgYmluZGluZ3MgYW5kIGdyZXAKdGhyb3VnaCB0aGUgcGFuZWwgdGhlbXNlbHZlcyB3 aWxsIGdyZWF0bHkgcmVkdWNlIHRoZSBsaXN0LgpJbiBvdGhlciB3b3JkczogaWYgbmVpdGhlciBi aW5kaW5nIGRvY3VtZW50YXRpb24vaW4tdHJlZSBkdHMgbm9yIHBhbmVsCm1lbnRpb25zIHJvdGF0 aW9uIC0gb21pdCBpdC4KCi1FbWlsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=