From: Maxime Ripard <maxime@cerno.tech>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Hans de Goede <hdegoede@redhat.com>,
dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org,
linux-m68k@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/5] drm/modes: Add support for driver-specific named modes
Date: Mon, 11 Jul 2022 13:42:06 +0200 [thread overview]
Message-ID: <20220711114206.sawqdl54ibuxsxp4@houat> (raw)
In-Reply-To: <43d75dce-988a-0a95-cb0a-0d0a7c81ca63@suse.de>
[-- Attachment #1: Type: text/plain, Size: 3537 bytes --]
On Mon, Jul 11, 2022 at 01:11:14PM +0200, Thomas Zimmermann wrote:
> Hi Maxime
>
> Am 11.07.22 um 11:35 schrieb Maxime Ripard:
> > Hi Thomas,
> >
> > On Mon, Jul 11, 2022 at 11:03:38AM +0200, Thomas Zimmermann wrote:
> > > Am 08.07.22 um 20:21 schrieb Geert Uytterhoeven:
> > > > The mode parsing code recognizes named modes only if they are explicitly
> > > > listed in the internal whitelist, which is currently limited to "NTSC"
> > > > and "PAL".
> > > >
> > > > Provide a mechanism for drivers to override this list to support custom
> > > > mode names.
> > > >
> > > > Ideally, this list should just come from the driver's actual list of
> > > > modes, but connector->probed_modes is not yet populated at the time of
> > > > parsing.
> > >
> > > I've looked for code that uses these names, couldn't find any. How is this
> > > being used in practice? For example, if I say "PAL" on the command line, is
> > > there DRM code that fills in the PAL mode parameters?
> >
> > We have some code to deal with this in sun4i:
> > https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/sun4i/sun4i_tv.c#L292
> >
> > It's a bit off topic, but for TV standards, I'm still not sure what the
> > best course of action is. There's several interactions that make this a
> > bit troublesome:
> >
> > * Some TV standards differ by their mode (ie, PAL vs NSTC), but some
> > other differ by parameters that are not part of drm_display_mode
> > (NTSC vs NSTC-J where the only difference is the black and blanking
> > signal levels for example).
> >
> > * The mode names allow to provide a fairly convenient way to add that
> > extra information, but the userspace is free to create its own mode
> > and might omit the mode name entirely.
> >
> > So in the code above, if the name has been preserved we match by name,
> > but we fall back to matching by mode if it hasn't been, which in this
> > case means that we have no way to differentiate between NTSC, NTSC-J,
> > PAL-M in this case.
> >
> > We have some patches downstream for the RaspberryPi that has the TV
> > standard as a property. There's a few extra logic required for the
> > userspace (like setting the PAL property, with the NTSC mode) so I'm not
> > sure it's preferable.
> >
> > Or we could do something like a property to try that standard, and
> > another that reports the one we actually chose.
> >
> > > And another question I have is whether this whitelist belongs into the
> > > driver at all. Standard modes exist independent from drivers or hardware.
> > > Shouldn't there simply be a global list of all possible mode names? Drivers
> > > would filter out the unsupported modes anyway.
> >
> > We should totally do something like that, yeah
>
> That sun code already looks like sometihng the DRM core/helpers should be
> doing. And if we want to support named modes well, there's a long list of
> modes in Wikipedia.
>
> https://en.wikipedia.org/wiki/Video_Graphics_Array#/media/File:Vector_Video_Standards2.svg
Yeah, and NTSC is missing :)
Thinking about this some more, I'm not sure how we would do that. Like I
said, we would need some extra parameters to drm_display_mode (like
blanking levels) that the core would need to pass to the driver.
If we go through the property route, I think the core could just look at
the name, with the new mode and state, and the driver should deal with
it. I'm not sure we can do more than that.
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2022-07-11 11:45 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-08 18:21 [PATCH 0/5] drm/modes: Command line mode selection fixes and improvements Geert Uytterhoeven
2022-07-08 18:21 ` [PATCH 1/5] drm/modes: parse_cmdline: Handle empty mode name part Geert Uytterhoeven
2022-07-08 19:28 ` Hans de Goede
2022-07-08 20:06 ` Geert Uytterhoeven
2022-07-08 20:09 ` Geert Uytterhoeven
2022-07-08 18:21 ` [PATCH 2/5] drm/modes: Extract drm_mode_parse_cmdline_named_mode() Geert Uytterhoeven
2022-07-08 19:45 ` Hans de Goede
2022-07-08 20:14 ` Geert Uytterhoeven
2022-07-08 18:21 ` [PATCH 3/5] drm/modes: parse_cmdline: Make mode->*specified handling more uniform Geert Uytterhoeven
2022-07-08 18:21 ` [PATCH 4/5] drm/modes: Add support for driver-specific named modes Geert Uytterhoeven
2022-07-11 9:03 ` Thomas Zimmermann
2022-07-11 9:35 ` Maxime Ripard
2022-07-11 11:11 ` Thomas Zimmermann
2022-07-11 11:42 ` Maxime Ripard [this message]
2022-07-11 11:59 ` Geert Uytterhoeven
2022-07-11 12:02 ` Maxime Ripard
2022-07-11 12:08 ` Geert Uytterhoeven
2022-07-13 9:37 ` Maxime Ripard
2022-07-14 8:42 ` Geert Uytterhoeven
2022-07-11 9:35 ` Geert Uytterhoeven
2022-07-11 11:03 ` Thomas Zimmermann
2022-07-08 18:21 ` [PATCH 5/5] drm/modes: parse_cmdline: Add support for named modes containing dashes Geert Uytterhoeven
2022-07-08 19:36 ` [PATCH 0/5] drm/modes: Command line mode selection fixes and improvements Hans de Goede
2022-07-11 9:04 ` Thomas Zimmermann
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=20220711114206.sawqdl54ibuxsxp4@houat \
--to=maxime@cerno.tech \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=geert@linux-m68k.org \
--cc=hdegoede@redhat.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=tzimmermann@suse.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®