From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from wnew4-smtp.messagingengine.com (wnew4-smtp.messagingengine.com [64.147.123.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F3B0D3C26 for ; Thu, 22 Sep 2022 14:27:58 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.west.internal (Postfix) with ESMTP id CCC942B05B34; Thu, 22 Sep 2022 10:27:55 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 22 Sep 2022 10:27:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1663856875; x= 1663864075; bh=LNibWIZ1W4oFh1EO7hNOkEOkBr+JL3i1WQh0c1QOIds=; b=E qjXHEhfsFJxGnXzlHxs8AGJ/IGlCJ4Je9Vkaw37k4eA97mPZkneMuA8RWDB3HH+i MZwBj14i91lWLB07WX/zewgpoAslc0LPsYk4z3vY/zdYB4zhW+MkVl9k/bUIvwnN yrCyQYCggzoQ3BVV835DLVI7j3GsW70l7i+5Yi38mQNTXhZ6PokB80LLNyMyUl3P 0ialxYVCoDahe0/hZ0OSP/LB3t4SEp4jc0eic58DKQZzcxahSenn2ozbI5vJqcxx bHiUgi9eyZHLmlQOrxrh+vu8M13V5qpObxyoUO3kOfbgjwNLFbteJQvFYzZEmovd CAJHzGPBCpaW/yjMjUz5Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1663856875; x= 1663864075; bh=LNibWIZ1W4oFh1EO7hNOkEOkBr+JL3i1WQh0c1QOIds=; b=F sWV473P8NYYQexGGABI/U0cKKIraWEr2rHvc+4mg4mpibxWI9MR7dEVOoyx9RmQV lqaONiY4JsGgOGv0YMEuhBWmK0HUWAXOZnv7X+QpgOp0ZG/kQqbDD3jCOQ/SjATz mcgkukz3WBbtMKaPXGHVIFiidpDXSH7UIkQWQA8Q4RgRE7r+g6T5kxsjdQw8ttSn i7ODyW2dbuXMZ2srWgYmwO9Q0VrLmOkfroLAaw2tyKKc7gQ5rWd5gyWu9kYtXpJh A4BYfEhRlP7rcCxurB1KUP3Cr5HszCE9q/Fk0F16WxVwIYO2VXwCeWx8/cHX+6Mn hObr4pofH2E+uI6dpPaxQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeefgedgudejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephfffufggtgfgkfhfjgfvvefosehtkeertdertdejnecuhfhrohhmpeforgig ihhmvgcutfhiphgrrhguuceomhgrgihimhgvsegtvghrnhhordhtvggthheqnecuggftrf grthhtvghrnhepudduudfhveejteefgedvffdvvedvjedugedukeejhedtlefhffevtefh jeeltdevnecuvehluhhsthgvrhfuihiivgepfeenucfrrghrrghmpehmrghilhhfrhhomh epmhgrgihimhgvsegtvghrnhhordhtvggthh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 22 Sep 2022 10:27:53 -0400 (EDT) From: Maxime Ripard Date: Thu, 22 Sep 2022 16:25:37 +0200 Subject: [PATCH v2 20/33] drm/modes: Fill drm_cmdline mode from named modes Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20220728-rpi-analog-tv-properties-v2-20-f733a0ed9f90@cerno.tech> References: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech> To: Jernej Skrabec , Rodrigo Vivi , Ben Skeggs , David Airlie , Maxime Ripard , Joonas Lahtinen , Emma Anholt , Karol Herbst , Samuel Holland , Jani Nikula , Thomas Zimmermann , Daniel Vetter , Lyude Paul , Maarten Lankhorst , Tvrtko Ursulin , Chen-Yu Tsai Cc: Hans de Goede , nouveau@lists.freedesktop.org, Geert Uytterhoeven , Dave Stevenson , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Phil Elwell , intel-gfx@lists.freedesktop.org, Noralf Trønnes , Dom Cobley , linux-sunxi@lists.linux.dev, Maxime Ripard , Mateusz Kwiatkowski , dri-devel@lists.freedesktop.org X-Mailer: b4 0.10.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1635; i=maxime@cerno.tech; h=from:subject:message-id; bh=Vry5+OU4UmtPLlNtlWmlVT8AGNp67JVCIbgY1gO14o0=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk6BYGTBLVVDtizMWVdeij876WFp+gKK09OnYcs/uxpJWEx 4TUdpSwMYlwMsmKKLDHC5kviTs163cnGNw9mDisTyBAGLk4BmMiTEob/iX8nJmuELX3kvey/LfPp0D VTCh/6MXwXn293TJxrq91kN0aGBo0SUYm+rXEuJ4v47hucixC2K5kcGCIf1CT7u/DFfxc2AA== X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D 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 diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index 8c8b37ba37dc..5d8b6a0d96f3 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.10.0