From: Maxime Ripard <mripard@kernel.org>
To: Hans de Goede <hdegoede@redhat.com>
Cc: "David Airlie" <airlied@linux.ie>,
dri-devel@lists.freedesktop.org,
"Sean Paul" <seanpaul@chromium.org>,
"Daniel Vetter" <daniel.vetter@intel.com>,
"Mathieu Alexandre-Tétreault" <alexandretm@amotus.ca>
Subject: Re: [PATCH 09/12] drm/modes: parse_cmdline: Add support for specifying panel_orientation
Date: Wed, 13 Nov 2019 17:12:23 +0100 [thread overview]
Message-ID: <20191113161223.GJ4345@gilmour.lan> (raw)
In-Reply-To: <7f0bf3c5-50cb-108a-fbb0-d3933b12643c@redhat.com>
[-- Attachment #1.1: Type: text/plain, Size: 3724 bytes --]
On Mon, Nov 11, 2019 at 06:25:33PM +0100, Hans de Goede wrote:
> Hi,
>
> On 11-11-2019 13:53, Maxime Ripard wrote:
> > Hi Hans,
> >
> > Thanks for this series (and thanks for bouncing the mails too).
> >
> > All the previous patches are
> > Acked-by: Maxime Ripard <mripard@kernel.org>
>
> Thank you for the review.
>
> > On Sun, Nov 10, 2019 at 04:40:58PM +0100, Hans de Goede wrote:
> > > Sometimes we want to override a connector's panel_orientation from the
> > > kernel commandline. Either for testing and for special cases, e.g. a kiosk
> > > like setup which uses a TV mounted in portrait mode.
> > >
> > > Users can already specify a "rotate" option through a video= kernel cmdline
> > > option. But that only supports 0/180 degrees (see drm_client_modeset TODO)
> > > and only works for in kernel modeset clients, not for userspace kms users.
> > >
> > > The "panel-orientation" connector property OTOH does support 90/270 degrees
> > > as it leaves dealing with the rotation up to userspace and this does work
> > > for userspace kms clients (at least those which support this property).
> > >
> > > BugLink: https://gitlab.freedesktop.org/plymouth/plymouth/merge_requests/83
> > > Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> > > ---
> > > Documentation/fb/modedb.rst | 3 ++
> > > drivers/gpu/drm/drm_modes.c | 32 +++++++++++++++++++
> > > .../gpu/drm/selftests/drm_cmdline_selftests.h | 1 +
> > > .../drm/selftests/test-drm_cmdline_parser.c | 22 +++++++++++++
> > > include/drm/drm_connector.h | 8 +++++
> > > 5 files changed, 66 insertions(+)
> > >
> > > diff --git a/Documentation/fb/modedb.rst b/Documentation/fb/modedb.rst
> > > index 9c4e3fd39e6d..624d08fd2856 100644
> > > --- a/Documentation/fb/modedb.rst
> > > +++ b/Documentation/fb/modedb.rst
> > > @@ -65,6 +65,9 @@ Valid options are::
> > > - reflect_y (boolean): Perform an axial symmetry on the Y axis
> > > - rotate (integer): Rotate the initial framebuffer by x
> > > degrees. Valid values are 0, 90, 180 and 270.
> > > + - panel_orientation, one of "normal", "upside_down", "left_side_up", or
> > > + "right_side_up". For KMS drivers only, this sets the "panel orientation"
> > > + property on the kms connector as hint for kms users.
> >
> > Even though the semantic is a bit different, I think we should remain
> > consistent and have the same argument than for rotate (ie, steps in
> > clockwise rotation in steps of 90 degrees).
>
> Well the kernel kms defines for rotation also talk about 90 / 180 / 270":
>
> #define DRM_MODE_ROTATE_0 (1<<0)
> #define DRM_MODE_ROTATE_90 (1<<1)
> #define DRM_MODE_ROTATE_180 (1<<2)
> #define DRM_MODE_ROTATE_270 (1<<3)
>
> Where as the panel orientation uses strings like right_side_up, which means
> that the side of the panel which normally is the right side of the panel
> is now pointing up as the panel is mounted 90 degrees rotated with its
> original right side now pointing up. This IMHO is much clearer then
> 90 / 270 degrees which are ambiguous and perhaps more importantly this
> matches the kernel defines for panel-orientation and matches the
> String values enumerated by the enum type panel-orientation connector
> property:
>
> static const struct drm_prop_enum_list drm_panel_orientation_enum_list[] = {
> { DRM_MODE_PANEL_ORIENTATION_NORMAL, "Normal" },
> { DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP, "Upside Down" },
> { DRM_MODE_PANEL_ORIENTATION_LEFT_UP, "Left Side Up" },
> { DRM_MODE_PANEL_ORIENTATION_RIGHT_UP, "Right Side Up" },
> };
>
> So I would prefer to stick to the strings.
Ok, that works for me then
Maxime
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-11-13 16:12 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-10 15:40 [PATCH 00/12] drm/modes: parse_cmdline: Add support for specifying panel_orientation on the kernel cmdline Hans de Goede
2019-11-10 15:40 ` [PATCH 01/12] drm/modes: parse_cmdline: Fix possible reference past end of string Hans de Goede
2019-11-10 15:40 ` [PATCH 02/12] drm/modes: parse_cmdline: Make various char pointers const Hans de Goede
2019-11-10 15:40 ` [PATCH 03/12] drm/modes: parse_cmdline: Stop parsing extras after bpp / refresh at ', ' Hans de Goede
2019-11-10 15:40 ` [PATCH 04/12] drm/modes: parse_cmdline: Accept extras directly after mode combined with options Hans de Goede
2019-11-10 15:40 ` [PATCH 05/12] drm/modes: parse_cmdline: Rework drm_mode_parse_cmdline_options() Hans de Goede
2019-11-10 15:40 ` [PATCH 06/12] drm/modes: parse_cmdline: Add freestanding argument to drm_mode_parse_cmdline_options() Hans de Goede
2019-11-10 15:40 ` [PATCH 07/12] drm/modes: parse_cmdline: Set bpp/refresh_specified after successful parsing Hans de Goede
2019-11-10 15:40 ` [PATCH 08/12] drm/modes: parse_cmdline: Allow specifying stand-alone options Hans de Goede
2019-11-10 15:40 ` [PATCH 09/12] drm/modes: parse_cmdline: Add support for specifying panel_orientation Hans de Goede
2019-11-11 12:53 ` Maxime Ripard
2019-11-11 17:25 ` Hans de Goede
2019-11-13 16:12 ` Maxime Ripard [this message]
2019-11-13 3:50 ` kbuild test robot
2019-11-13 3:50 ` kbuild test robot
2019-11-13 3:50 ` kbuild test robot
2019-11-10 15:40 ` [PATCH 10/12] drm/modes: parse_cmdline: Remove some unnecessary code Hans de Goede
2019-11-12 9:44 ` Daniel Vetter
2019-11-12 10:39 ` Hans de Goede
2019-11-10 15:41 ` [PATCH 11/12] drm/connector: Split out orientation quirk detection (v2) Hans de Goede
2019-11-10 15:41 ` [PATCH 12/12] drm/connector: Hookup the new drm_cmdline_mode panel_orientation member Hans de Goede
2019-11-12 9:47 ` Daniel Vetter
2019-11-12 10:43 ` Hans de Goede
2019-11-12 13:32 ` Daniel Vetter
2019-11-12 13:39 ` Hans de Goede
2019-11-12 13:47 ` Daniel Vetter
2019-11-13 15:54 ` Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191113161223.GJ4345@gilmour.lan \
--to=mripard@kernel.org \
--cc=airlied@linux.ie \
--cc=alexandretm@amotus.ca \
--cc=daniel.vetter@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hdegoede@redhat.com \
--cc=seanpaul@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.