From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Subject: =?UTF-8?Q?Re=3a_=5bPATCH_v2_5/5=5d_drm/tegra=3a_plane=3a_Support_18?= =?UTF-8?Q?0=c2=b0_rotation?= Date: Tue, 16 Jun 2020 14:25:38 +0300 Message-ID: References: <20200614200121.14147-1-digetx@gmail.com> <20200614200121.14147-6-digetx@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Emil Velikov 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 16.06.2020 00:47, Emil Velikov пишет: > Hi all, > > Perhaps a silly question: > > On Mon, 15 Jun 2020 at 08:28, Dmitry Osipenko wrote: >> >> Combining horizontal and vertical reflections gives us 180 degrees of >> rotation. >> >> Signed-off-by: Dmitry Osipenko >> --- >> drivers/gpu/drm/tegra/dc.c | 13 ++++++++++++- >> 1 file changed, 12 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c >> index f31bca27cde4..ddd9b88f8fce 100644 >> --- a/drivers/gpu/drm/tegra/dc.c >> +++ b/drivers/gpu/drm/tegra/dc.c > >> + if (rotation & DRM_MODE_ROTATE_180) { >> + plane_state->reflect_x = !plane_state->reflect_x; >> + plane_state->reflect_y = !plane_state->reflect_y; >> + } >> + > As mentioned by Ville the above is already handled by > drm_rotation_simplify() ... although it makes me wonder: > > >> err = drm_plane_create_rotation_property(&plane->base, >> DRM_MODE_ROTATE_0, >> DRM_MODE_ROTATE_0 | >> + DRM_MODE_ROTATE_180 | >> DRM_MODE_REFLECT_X | >> DRM_MODE_REFLECT_Y); > > Would it make sense for drm_plane_create_rotation_property() itself, > to add DRM_MODE_ROTATE_180, when both reflections are supported? Hello Emil, That's a good point! All DRM_MODE_ROTATE_180 should be removed because Tegra can't do 180° + reflected-x. The DRM core takes care of 180° rotation when both x/y reflections are supported.