linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime@cerno.tech>
To: Karol Herbst <kherbst@redhat.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Daniel Vetter <daniel@ffwll.ch>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	David Airlie <airlied@linux.ie>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Lyude Paul <lyude@redhat.com>, Maxime Ripard <mripard@kernel.org>,
	Emma Anholt <emma@anholt.net>, Chen-Yu Tsai <wens@csie.org>,
	Samuel Holland <samuel@sholland.org>,
	Ben Skeggs <bskeggs@redhat.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Dom Cobley <dom@raspberrypi.com>,
	Maxime Ripard <maxime@cerno.tech>,
	linux-sunxi@lists.linux.dev,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	Noralf Trønnes <noralf@tronnes.org>,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	linux-arm-kernel@lists.infradead.org,
	Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>,
	dri-devel@lists.freedesktop.org,
	Hans de Goede <hdegoede@redhat.com>,
	Phil Elwell <phil@raspberrypi.com>
Subject: [PATCH v5 10/22] drm/modes: Fill drm_cmdline mode from named modes
Date: Thu, 13 Oct 2022 15:18:54 +0200	[thread overview]
Message-ID: <20220728-rpi-analog-tv-properties-v5-10-d841cc64fe4b@cerno.tech> (raw)
In-Reply-To: <20220728-rpi-analog-tv-properties-v5-0-d841cc64fe4b@cerno.tech>

The current code to deal with named modes will only set the mode name, and
then it's up to drivers to try to match that name to whatever mode or
configuration they see fit.

The plan is to remove that need and move the named mode handling out of
drivers and into the core, and only rely on modes and properties. Let's
start by properly filling drm_cmdline_mode from a named mode.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 drivers/gpu/drm/drm_modes.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 7ed3fb839db7..99453aca9a83 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -2226,11 +2226,22 @@ static int drm_mode_parse_cmdline_options(const char *str,
 
 struct drm_named_mode {
 	const char *name;
+	unsigned int xres;
+	unsigned int yres;
+	unsigned int flags;
 };
 
+#define NAMED_MODE(_name, _x, _y, _flags)		\
+	{						\
+		.name = _name,				\
+		.xres = _x,				\
+		.yres = _y,				\
+		.flags = _flags,			\
+	}
+
 static const struct drm_named_mode drm_named_modes[] = {
-	{ "NTSC", },
-	{ "PAL", },
+	NAMED_MODE("NTSC", 720, 480, DRM_MODE_FLAG_INTERLACE),
+	NAMED_MODE("PAL", 720, 576, DRM_MODE_FLAG_INTERLACE),
 };
 
 static int drm_mode_parse_cmdline_named_mode(const char *name,
@@ -2275,6 +2286,9 @@ static int drm_mode_parse_cmdline_named_mode(const char *name,
 			continue;
 
 		strcpy(cmdline_mode->name, mode->name);
+		cmdline_mode->xres = mode->xres;
+		cmdline_mode->yres = mode->yres;
+		cmdline_mode->interlace = !!(mode->flags & DRM_MODE_FLAG_INTERLACE);
 		cmdline_mode->specified = true;
 
 		return 1;

-- 
b4 0.11.0-dev-7da52

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-10-13 13:28 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-13 13:18 [PATCH v5 00/22] drm: Analog TV Improvements Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 01/22] drm/tests: Add Kunit Helpers Maxime Ripard
2022-10-15 15:06   ` Noralf Trønnes
2022-10-13 13:18 ` [PATCH v5 02/22] drm/connector: Rename legacy TV property Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 03/22] drm/connector: Only register TV mode property if present Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 04/22] drm/connector: Rename drm_mode_create_tv_properties Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 05/22] drm/connector: Add TV standard property Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 06/22] drm/modes: Add a function to generate analog display modes Maxime Ripard
2022-10-16 17:34   ` Mateusz Kwiatkowski
2022-10-18  8:08     ` Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 07/22] drm/client: Add some tests for drm_connector_pick_cmdline_mode() Maxime Ripard
2022-10-15 16:58   ` Noralf Trønnes
2022-10-20  7:55   ` Michał Winiarski
2022-10-13 13:18 ` [PATCH v5 08/22] drm/modes: Move named modes parsing to a separate function Maxime Ripard
2022-10-16 16:11   ` Noralf Trønnes
2022-10-18  7:57     ` Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 09/22] drm/modes: Switch to named mode descriptors Maxime Ripard
2022-10-13 13:18 ` Maxime Ripard [this message]
2022-10-13 13:18 ` [PATCH v5 11/22] drm/connector: Add pixel clock to cmdline mode Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 12/22] drm/connector: Add a function to lookup a TV mode by its name Maxime Ripard
2022-10-17 10:44   ` Noralf Trønnes
2022-10-18  9:33     ` Maxime Ripard
2022-10-18 12:29       ` Noralf Trønnes
2022-10-19  8:48         ` Maxime Ripard
2022-10-19 10:43           ` Noralf Trønnes
2022-10-20 11:29             ` maxime
2022-10-13 13:18 ` [PATCH v5 13/22] drm/modes: Introduce the tv_mode property as a command-line option Maxime Ripard
2022-10-16 17:51   ` Mateusz Kwiatkowski
2022-10-17 10:21     ` Noralf Trønnes
2022-10-13 13:18 ` [PATCH v5 14/22] drm/modes: Properly generate a drm_display_mode from a named mode Maxime Ripard
2022-10-13 13:18 ` [PATCH v5 15/22] drm/modes: Introduce more named modes Maxime Ripard
2022-10-13 13:19 ` [PATCH v5 16/22] drm/atomic-helper: Add a TV properties reset helper Maxime Ripard
2022-10-17 10:36   ` Noralf Trønnes
2022-10-13 13:19 ` [PATCH v5 17/22] drm/atomic-helper: Add an analog TV atomic_check implementation Maxime Ripard
2022-10-13 13:19 ` [PATCH v5 18/22] drm/vc4: vec: Use TV Reset implementation Maxime Ripard
2022-10-13 13:19 ` [PATCH v5 19/22] drm/vc4: vec: Check for VEC output constraints Maxime Ripard
2022-10-16 18:12   ` Mateusz Kwiatkowski
2022-10-16 18:16     ` Mateusz Kwiatkowski
2022-10-18  8:27       ` Maxime Ripard
2022-10-13 13:19 ` [PATCH v5 20/22] drm/vc4: vec: Convert to the new TV mode property Maxime Ripard
2022-10-16 18:52   ` Mateusz Kwiatkowski
2022-10-16 18:56     ` Mateusz Kwiatkowski
2022-10-17 10:31     ` Noralf Trønnes
2022-10-18 10:00       ` Maxime Ripard
     [not found]         ` <da2b4cb4-5d12-3161-64e3-e87a8cc63e81@gmail.com>
2022-10-20 11:58           ` maxime
2022-10-17 11:39   ` Noralf Trønnes
2022-10-13 13:19 ` [PATCH v5 21/22] drm/vc4: vec: Add support for more analog TV standards Maxime Ripard
2022-10-16 19:02   ` Mateusz Kwiatkowski
2022-10-16 19:46   ` [PATCH] drm/vc4: vec: Add support for PAL-60 Mateusz Kwiatkowski
2022-10-18  8:31     ` Maxime Ripard
2022-10-18 20:57       ` Mateusz Kwiatkowski
2022-10-20 15:34         ` maxime
2022-10-13 13:19 ` [PATCH v5 22/22] drm/sun4i: tv: Convert to the new TV mode property Maxime Ripard
2022-10-13 18:23   ` Jernej Škrabec
2022-10-14  7:38     ` Maxime Ripard
2022-10-15  8:59       ` Jernej Škrabec

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=20220728-rpi-analog-tv-properties-v5-10-d841cc64fe4b@cerno.tech \
    --to=maxime@cerno.tech \
    --cc=airlied@linux.ie \
    --cc=bskeggs@redhat.com \
    --cc=daniel@ffwll.ch \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=dom@raspberrypi.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emma@anholt.net \
    --cc=geert@linux-m68k.org \
    --cc=hdegoede@redhat.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=kfyatek+publicgit@gmail.com \
    --cc=kherbst@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=lyude@redhat.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=noralf@tronnes.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=phil@raspberrypi.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=samuel@sholland.org \
    --cc=tvrtko.ursulin@linux.intel.com \
    --cc=tzimmermann@suse.de \
    --cc=wens@csie.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).