From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.domeneshop.no (smtp.domeneshop.no [194.63.252.55]) (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 2CCD67F for ; Sun, 6 Nov 2022 13:05:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds202112; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Zu9AvI8pVCg+w6/C4cAjAvLV1abDQEDfDf9UUW1vxDg=; b=gB8dUXELYGglrJq7tEcE5QQsRB r+xvFlg6bVTnX5hpcR6TF1milIuxhvFHmOzcTQ+AKlmYmrlp4T7q7grZpuumOnLxEF6vqYKb5gVa2 rjqJcnxEGCRUZKvLXrkc5sku+L4Jf6QP3k05QOxJ0n65HXml/Amq2cEEnfx022V37sKMr1NKe3q9i i4UtuSeZ/UdRDUr7jYPs4FhLEL7l2H8lBg7+Hd6HC0oMSf1plM3XLZsHr/aG+8Tiuh+g86RFhOGFY wSUUtbsXJDD/3H0WxMSSP0M3nSGGSxMTzJYZC/Byx7gtbpHht/35mHg1zEXv9kSvRPi3Xh7HkbMiu o/5OseHQ==; Received: from [2a01:799:95a:cb00:a93e:4a2b:2c13:303] (port=57940) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1orfKm-0000YW-K2; Sun, 06 Nov 2022 14:05:08 +0100 Message-ID: Date: Sun, 6 Nov 2022 14:04:56 +0100 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH v6 10/23] drm/modes: Fill drm_cmdline mode from named modes To: maxime@cerno.tech, Karol Herbst , Emma Anholt , Ben Skeggs , Chen-Yu Tsai , Rodrigo Vivi , Maarten Lankhorst , Jani Nikula , Daniel Vetter , Thomas Zimmermann , Tvrtko Ursulin , Samuel Holland , Jernej Skrabec , David Airlie , Maxime Ripard , Joonas Lahtinen , Lyude Paul Cc: linux-sunxi@lists.linux.dev, intel-gfx@lists.freedesktop.org, Phil Elwell , linux-arm-kernel@lists.infradead.org, nouveau@lists.freedesktop.org, Hans de Goede , Dom Cobley , Mateusz Kwiatkowski , dri-devel@lists.freedesktop.org, Dave Stevenson , linux-kernel@vger.kernel.org, Geert Uytterhoeven , =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= In-Reply-To: <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Den 26.10.2022 17.33, skrev maxime@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. > I couldn't find any driver that does that, all I could find that cares about named modes are drm_client. Did I miss something here? Apart from that: Reviewed-by: Noralf Trønnes > 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 > --- > 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 7594b657f86a..acee23e1a8b7 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, > @@ -2271,6 +2282,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; > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 44D1DC433FE for ; Sun, 6 Nov 2022 13:05:17 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D4DE810E0C2; Sun, 6 Nov 2022 13:05:15 +0000 (UTC) Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8961D10E0C2; Sun, 6 Nov 2022 13:05:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds202112; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Zu9AvI8pVCg+w6/C4cAjAvLV1abDQEDfDf9UUW1vxDg=; b=gB8dUXELYGglrJq7tEcE5QQsRB r+xvFlg6bVTnX5hpcR6TF1milIuxhvFHmOzcTQ+AKlmYmrlp4T7q7grZpuumOnLxEF6vqYKb5gVa2 rjqJcnxEGCRUZKvLXrkc5sku+L4Jf6QP3k05QOxJ0n65HXml/Amq2cEEnfx022V37sKMr1NKe3q9i i4UtuSeZ/UdRDUr7jYPs4FhLEL7l2H8lBg7+Hd6HC0oMSf1plM3XLZsHr/aG+8Tiuh+g86RFhOGFY wSUUtbsXJDD/3H0WxMSSP0M3nSGGSxMTzJYZC/Byx7gtbpHht/35mHg1zEXv9kSvRPi3Xh7HkbMiu o/5OseHQ==; Received: from [2a01:799:95a:cb00:a93e:4a2b:2c13:303] (port=57940) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1orfKm-0000YW-K2; Sun, 06 Nov 2022 14:05:08 +0100 Message-ID: Date: Sun, 6 Nov 2022 14:04:56 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 To: maxime@cerno.tech, Karol Herbst , Emma Anholt , Ben Skeggs , Chen-Yu Tsai , Rodrigo Vivi , Maarten Lankhorst , Jani Nikula , Daniel Vetter , Thomas Zimmermann , Tvrtko Ursulin , Samuel Holland , Jernej Skrabec , David Airlie , Maxime Ripard , Joonas Lahtinen , Lyude Paul References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= In-Reply-To: <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [Nouveau] [PATCH v6 10/23] drm/modes: Fill drm_cmdline mode from named modes X-BeenThere: nouveau@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Nouveau development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dom Cobley , nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Phil Elwell , Hans de Goede , =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= , Geert Uytterhoeven , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, linux-arm-kernel@lists.infradead.org Errors-To: nouveau-bounces@lists.freedesktop.org Sender: "Nouveau" Den 26.10.2022 17.33, skrev maxime@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. > I couldn't find any driver that does that, all I could find that cares about named modes are drm_client. Did I miss something here? Apart from that: Reviewed-by: Noralf Trønnes > 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 > --- > 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 7594b657f86a..acee23e1a8b7 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, > @@ -2271,6 +2282,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; > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EB952C4332F for ; Sun, 6 Nov 2022 13:05:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AF7AE10E12F; Sun, 6 Nov 2022 13:05:17 +0000 (UTC) Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8961D10E0C2; Sun, 6 Nov 2022 13:05:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds202112; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Zu9AvI8pVCg+w6/C4cAjAvLV1abDQEDfDf9UUW1vxDg=; b=gB8dUXELYGglrJq7tEcE5QQsRB r+xvFlg6bVTnX5hpcR6TF1milIuxhvFHmOzcTQ+AKlmYmrlp4T7q7grZpuumOnLxEF6vqYKb5gVa2 rjqJcnxEGCRUZKvLXrkc5sku+L4Jf6QP3k05QOxJ0n65HXml/Amq2cEEnfx022V37sKMr1NKe3q9i i4UtuSeZ/UdRDUr7jYPs4FhLEL7l2H8lBg7+Hd6HC0oMSf1plM3XLZsHr/aG+8Tiuh+g86RFhOGFY wSUUtbsXJDD/3H0WxMSSP0M3nSGGSxMTzJYZC/Byx7gtbpHht/35mHg1zEXv9kSvRPi3Xh7HkbMiu o/5OseHQ==; Received: from [2a01:799:95a:cb00:a93e:4a2b:2c13:303] (port=57940) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1orfKm-0000YW-K2; Sun, 06 Nov 2022 14:05:08 +0100 Message-ID: Date: Sun, 6 Nov 2022 14:04:56 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH v6 10/23] drm/modes: Fill drm_cmdline mode from named modes To: maxime@cerno.tech, Karol Herbst , Emma Anholt , Ben Skeggs , Chen-Yu Tsai , Rodrigo Vivi , Maarten Lankhorst , Jani Nikula , Daniel Vetter , Thomas Zimmermann , Tvrtko Ursulin , Samuel Holland , Jernej Skrabec , David Airlie , Maxime Ripard , Joonas Lahtinen , Lyude Paul References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= In-Reply-To: <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dom Cobley , Dave Stevenson , nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Phil Elwell , Hans de Goede , =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= , Geert Uytterhoeven , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, linux-arm-kernel@lists.infradead.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Den 26.10.2022 17.33, skrev maxime@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. > I couldn't find any driver that does that, all I could find that cares about named modes are drm_client. Did I miss something here? Apart from that: Reviewed-by: Noralf Trønnes > 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 > --- > 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 7594b657f86a..acee23e1a8b7 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, > @@ -2271,6 +2282,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; > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 999D2C433FE for ; Sun, 6 Nov 2022 13:05:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 39C5C10E169; Sun, 6 Nov 2022 13:05:19 +0000 (UTC) Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8961D10E0C2; Sun, 6 Nov 2022 13:05:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds202112; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Zu9AvI8pVCg+w6/C4cAjAvLV1abDQEDfDf9UUW1vxDg=; b=gB8dUXELYGglrJq7tEcE5QQsRB r+xvFlg6bVTnX5hpcR6TF1milIuxhvFHmOzcTQ+AKlmYmrlp4T7q7grZpuumOnLxEF6vqYKb5gVa2 rjqJcnxEGCRUZKvLXrkc5sku+L4Jf6QP3k05QOxJ0n65HXml/Amq2cEEnfx022V37sKMr1NKe3q9i i4UtuSeZ/UdRDUr7jYPs4FhLEL7l2H8lBg7+Hd6HC0oMSf1plM3XLZsHr/aG+8Tiuh+g86RFhOGFY wSUUtbsXJDD/3H0WxMSSP0M3nSGGSxMTzJYZC/Byx7gtbpHht/35mHg1zEXv9kSvRPi3Xh7HkbMiu o/5OseHQ==; Received: from [2a01:799:95a:cb00:a93e:4a2b:2c13:303] (port=57940) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1orfKm-0000YW-K2; Sun, 06 Nov 2022 14:05:08 +0100 Message-ID: Date: Sun, 6 Nov 2022 14:04:56 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 To: maxime@cerno.tech, Karol Herbst , Emma Anholt , Ben Skeggs , Chen-Yu Tsai , Rodrigo Vivi , Maarten Lankhorst , Jani Nikula , Daniel Vetter , Thomas Zimmermann , Tvrtko Ursulin , Samuel Holland , Jernej Skrabec , David Airlie , Maxime Ripard , Joonas Lahtinen , Lyude Paul References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= In-Reply-To: <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [Intel-gfx] [PATCH v6 10/23] drm/modes: Fill drm_cmdline mode from named modes X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dom Cobley , Dave Stevenson , nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Phil Elwell , Hans de Goede , =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= , Geert Uytterhoeven , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, linux-arm-kernel@lists.infradead.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Den 26.10.2022 17.33, skrev maxime@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. > I couldn't find any driver that does that, all I could find that cares about named modes are drm_client. Did I miss something here? Apart from that: Reviewed-by: Noralf Trønnes > 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 > --- > 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 7594b657f86a..acee23e1a8b7 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, > @@ -2271,6 +2282,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; > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5AFB3C4332F for ; Sun, 6 Nov 2022 13:06:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=edj9rFfOphaRy101TRgINliCou6K1RLOY7o2qBFEdEk=; b=BdIcNdXFXHegVZ MeTQt0zIiDep8I8BfVp29SnKSwgJhHgic2sqBk289KpJY8C+ac2+Cgmg4O6pcs/GZyzx4DZBSNHJq Wvar9ctumeMXf9jwrMqwO/r58GU5OR3LJYKzgW48L8Gt5nwQsdxYV2X8XczDD9tylY9oH2x/P3wBI 04mbOVmIWcbD6ynR8jZjg8vj9FV1FTXai3zInk+CBdJ+MGvLYpb/vcsKwpZwtAbjC8k3JPwzly0hv gx29Wz/dSf0JHHAJ5Q4qXMBF2OX5RVFy2jGNtLFfO0nhYQvuvwcsWU3GVuOxtObphGAcL2gC2Z0MI e5K0aMLP5XGbdT38HUqw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1orfKu-008H1B-Cu; Sun, 06 Nov 2022 13:05:16 +0000 Received: from smtp.domeneshop.no ([2a01:5b40:0:3005::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1orfKr-008H0c-OK for linux-arm-kernel@lists.infradead.org; Sun, 06 Nov 2022 13:05:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds202112; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Zu9AvI8pVCg+w6/C4cAjAvLV1abDQEDfDf9UUW1vxDg=; b=gB8dUXELYGglrJq7tEcE5QQsRB r+xvFlg6bVTnX5hpcR6TF1milIuxhvFHmOzcTQ+AKlmYmrlp4T7q7grZpuumOnLxEF6vqYKb5gVa2 rjqJcnxEGCRUZKvLXrkc5sku+L4Jf6QP3k05QOxJ0n65HXml/Amq2cEEnfx022V37sKMr1NKe3q9i i4UtuSeZ/UdRDUr7jYPs4FhLEL7l2H8lBg7+Hd6HC0oMSf1plM3XLZsHr/aG+8Tiuh+g86RFhOGFY wSUUtbsXJDD/3H0WxMSSP0M3nSGGSxMTzJYZC/Byx7gtbpHht/35mHg1zEXv9kSvRPi3Xh7HkbMiu o/5OseHQ==; Received: from [2a01:799:95a:cb00:a93e:4a2b:2c13:303] (port=57940) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1orfKm-0000YW-K2; Sun, 06 Nov 2022 14:05:08 +0100 Message-ID: Date: Sun, 6 Nov 2022 14:04:56 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH v6 10/23] drm/modes: Fill drm_cmdline mode from named modes To: maxime@cerno.tech, Karol Herbst , Emma Anholt , Ben Skeggs , Chen-Yu Tsai , Rodrigo Vivi , Maarten Lankhorst , Jani Nikula , Daniel Vetter , Thomas Zimmermann , Tvrtko Ursulin , Samuel Holland , Jernej Skrabec , David Airlie , Maxime Ripard , Joonas Lahtinen , Lyude Paul Cc: linux-sunxi@lists.linux.dev, intel-gfx@lists.freedesktop.org, Phil Elwell , linux-arm-kernel@lists.infradead.org, nouveau@lists.freedesktop.org, Hans de Goede , Dom Cobley , Mateusz Kwiatkowski , dri-devel@lists.freedesktop.org, Dave Stevenson , linux-kernel@vger.kernel.org, Geert Uytterhoeven , =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= In-Reply-To: <20220728-rpi-analog-tv-properties-v6-10-e7792734108f@cerno.tech> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221106_050513_833632_8133CE90 X-CRM114-Status: GOOD ( 19.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpEZW4gMjYuMTAuMjAyMiAxNy4zMywgc2tyZXYgbWF4aW1lQGNlcm5vLnRlY2g6Cj4gVGhlIGN1 cnJlbnQgY29kZSB0byBkZWFsIHdpdGggbmFtZWQgbW9kZXMgd2lsbCBvbmx5IHNldCB0aGUgbW9k ZSBuYW1lLCBhbmQKPiB0aGVuIGl0J3MgdXAgdG8gZHJpdmVycyB0byB0cnkgdG8gbWF0Y2ggdGhh dCBuYW1lIHRvIHdoYXRldmVyIG1vZGUgb3IKPiBjb25maWd1cmF0aW9uIHRoZXkgc2VlIGZpdC4K PiAKCkkgY291bGRuJ3QgZmluZCBhbnkgZHJpdmVyIHRoYXQgZG9lcyB0aGF0LCBhbGwgSSBjb3Vs ZCBmaW5kIHRoYXQgY2FyZXMKYWJvdXQgbmFtZWQgbW9kZXMgYXJlIGRybV9jbGllbnQuIERpZCBJ IG1pc3Mgc29tZXRoaW5nIGhlcmU/CgpBcGFydCBmcm9tIHRoYXQ6CgpSZXZpZXdlZC1ieTogTm9y YWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+Cgo+IFRoZSBwbGFuIGlzIHRvIHJlbW92 ZSB0aGF0IG5lZWQgYW5kIG1vdmUgdGhlIG5hbWVkIG1vZGUgaGFuZGxpbmcgb3V0IG9mCj4gZHJp dmVycyBhbmQgaW50byB0aGUgY29yZSwgYW5kIG9ubHkgcmVseSBvbiBtb2RlcyBhbmQgcHJvcGVy dGllcy4gTGV0J3MKPiBzdGFydCBieSBwcm9wZXJseSBmaWxsaW5nIGRybV9jbWRsaW5lX21vZGUg ZnJvbSBhIG5hbWVkIG1vZGUuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4 aW1lQGNlcm5vLnRlY2g+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYyB8IDE4 ICsrKysrKysrKysrKysrKystLQo+ICAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rl cy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gaW5kZXggNzU5NGI2NTdmODZhLi5h Y2VlMjNlMWE4YjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gQEAgLTIyMjYsMTEgKzIyMjYsMjIg QEAgc3RhdGljIGludCBkcm1fbW9kZV9wYXJzZV9jbWRsaW5lX29wdGlvbnMoY29uc3QgY2hhciAq c3RyLAo+ICAKPiAgc3RydWN0IGRybV9uYW1lZF9tb2RlIHsKPiAgCWNvbnN0IGNoYXIgKm5hbWU7 Cj4gKwl1bnNpZ25lZCBpbnQgeHJlczsKPiArCXVuc2lnbmVkIGludCB5cmVzOwo+ICsJdW5zaWdu ZWQgaW50IGZsYWdzOwo+ICB9Owo+ICAKPiArI2RlZmluZSBOQU1FRF9NT0RFKF9uYW1lLCBfeCwg X3ksIF9mbGFncykJCVwKPiArCXsJCQkJCQlcCj4gKwkJLm5hbWUgPSBfbmFtZSwJCQkJXAo+ICsJ CS54cmVzID0gX3gsCQkJCVwKPiArCQkueXJlcyA9IF95LAkJCQlcCj4gKwkJLmZsYWdzID0gX2Zs YWdzLAkJCVwKPiArCX0KPiArCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX25hbWVkX21vZGUg ZHJtX25hbWVkX21vZGVzW10gPSB7Cj4gLQl7ICJOVFNDIiwgfSwKPiAtCXsgIlBBTCIsIH0sCj4g KwlOQU1FRF9NT0RFKCJOVFNDIiwgNzIwLCA0ODAsIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKSwK PiArCU5BTUVEX01PREUoIlBBTCIsIDcyMCwgNTc2LCBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSks Cj4gIH07Cj4gIAo+ICBzdGF0aWMgaW50IGRybV9tb2RlX3BhcnNlX2NtZGxpbmVfbmFtZWRfbW9k ZShjb25zdCBjaGFyICpuYW1lLAo+IEBAIC0yMjcxLDYgKzIyODIsOSBAQCBzdGF0aWMgaW50IGRy bV9tb2RlX3BhcnNlX2NtZGxpbmVfbmFtZWRfbW9kZShjb25zdCBjaGFyICpuYW1lLAo+ICAJCQlj b250aW51ZTsKPiAgCj4gIAkJc3RyY3B5KGNtZGxpbmVfbW9kZS0+bmFtZSwgbW9kZS0+bmFtZSk7 Cj4gKwkJY21kbGluZV9tb2RlLT54cmVzID0gbW9kZS0+eHJlczsKPiArCQljbWRsaW5lX21vZGUt PnlyZXMgPSBtb2RlLT55cmVzOwo+ICsJCWNtZGxpbmVfbW9kZS0+aW50ZXJsYWNlID0gISEobW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSk7Cj4gIAkJY21kbGluZV9tb2RlLT5z cGVjaWZpZWQgPSB0cnVlOwo+ICAKPiAgCQlyZXR1cm4gMTsKPiAKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBs aXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK