From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) (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 717F07B for ; Wed, 26 Oct 2022 15:33:37 +0000 (UTC) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id 7BB4758025D; Wed, 26 Oct 2022 11:33:36 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 26 Oct 2022 11:33:36 -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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=k hLxn4JbYa0WL3KqQHvmX1gOhql6f5ZMHNs8pNsvgt3zLqLQBsPRqXePng3CKKwg9 E9IY7YmEeKNeaW+LUiQvm369iK4lkWouALks91z5LJUXkxzCNenSWM2AtfRdJmUL 0unPyFQZIheIRPfYbwI6cvP0Vx6sUpgA4Vv4flUWgg/Lq1692R65PNz1ppFGOrD3 B78bL7VqT2q/RJ8neSvHwF+NJvnINDtrKzt1nxPuR7vZ772LuRvmJL/nb1g0yV5A u+A16XQCk8YZ+x/byy0G1dqPYXu6ZzjArU/662o7M+/PEqKrVnk2+bJuGJXF+IkL qDr4FUpSUubK8qTNNZPrw== 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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=F cju/Djo6fQYYQbLnX/Ijpe92XNYcZ1ninrIO11cydRFArDfuxJNJgfdOtOO0miCB lLEoHlzEv6CcgFg3Kf/AzvaFD5AiBHPnZjZhKiksyGP5Xnz7DqR3p2bNDDdgHvI0 3b/HqeP+W0h0GLsG6s/njOJP2yLFe5Dkf00LIoFOSHFiWviCfM9nMGIfck+BG3z1 QAxcxCBwvH/qQKjxwVrT458kKIGRww2kIeXTfYB67M8lg4T4TVq8NuIgVJ/F/ECE yDyXQpv1CnYP4vcomNKdeSHgq8Ytd4QRIfyld67eDGbrQ/3/kQqPTEu4ydPkhRSd gjvoVQkaMk62meG2nsUfw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtddvgdeltdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepmhgrgihi mhgvsegtvghrnhhordhtvggthhenucggtffrrghtthgvrhhnpeegudevgeehgedtheeuff egledugfetveevveeivdfhtedvhfduffeuudetkeevgeenucffohhmrghinhepmhgrrhhg ihhnshdrthhophenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 26 Oct 2022 11:33:35 -0400 (EDT) From: maxime@cerno.tech Date: Wed, 26 Oct 2022 17:33:21 +0200 Subject: [PATCH v6 02/23] drm/connector: Rename legacy TV property Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v6-2-e7792734108f@cerno.tech> References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> To: 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, Maxime Ripard , 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, Noralf Trønnes , Geert Uytterhoeven X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10911; i=maxime@cerno.tech; h=from:subject:message-id; bh=WoUTSUurxmxtkfur6YS9c7sw9Fm3hf3dmndakf2g2aQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMmRwW7Ka1d73mycZfXh8qHyDr7jtct3mTrFRpp8emyvqXa4 9qN3RykLgxgXg6yYIkuMsPmSuFOzXney8c2DmcPKBDKEgYtTACYy8yIjw7rN4p1hLvr/d97XS5zHs/ 3YpuOnY2V3PL+wRW9bgn/in0sMf3h9D+9Yx9f1I+doBkvsNpYPJ6be/VUicO/g1ijVji9hkiwA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The current tv_mode has driver-specific values that don't allow to easily share code using it, either at the userspace or kernel level. Since we're going to introduce a new, generic, property that fit the same purpose, let's rename this one to legacy_tv_mode to make it obvious we should move away from it. Acked-by: Thomas Zimmermann Reviewed-by: Lyude Paul # nouveau Reviewed-by: Noralf Trønnes Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic_uapi.c | 8 ++++---- drivers/gpu/drm/drm_connector.c | 6 +++--- drivers/gpu/drm/gud/gud_connector.c | 6 +++--- drivers/gpu/drm/i2c/ch7006_drv.c | 4 ++-- drivers/gpu/drm/i915/display/intel_tv.c | 3 ++- drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 4 ++-- drivers/gpu/drm/vc4/vc4_vec.c | 8 ++++---- include/drm/drm_connector.h | 4 ++-- include/drm/drm_mode_config.h | 6 ++++-- 9 files changed, 26 insertions(+), 23 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c index c06d0639d552..7f2b9a07fbdf 100644 --- a/drivers/gpu/drm/drm_atomic_uapi.c +++ b/drivers/gpu/drm/drm_atomic_uapi.c @@ -698,8 +698,8 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector, state->tv.margins.top = val; } else if (property == config->tv_bottom_margin_property) { state->tv.margins.bottom = val; - } else if (property == config->tv_mode_property) { - state->tv.mode = val; + } else if (property == config->legacy_tv_mode_property) { + state->tv.legacy_mode = val; } else if (property == config->tv_brightness_property) { state->tv.brightness = val; } else if (property == config->tv_contrast_property) { @@ -808,8 +808,8 @@ drm_atomic_connector_get_property(struct drm_connector *connector, *val = state->tv.margins.top; } else if (property == config->tv_bottom_margin_property) { *val = state->tv.margins.bottom; - } else if (property == config->tv_mode_property) { - *val = state->tv.mode; + } else if (property == config->legacy_tv_mode_property) { + *val = state->tv.legacy_mode; } else if (property == config->tv_brightness_property) { *val = state->tv.brightness; } else if (property == config->tv_contrast_property) { diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index e3142c8142b3..ede6025638d7 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1686,14 +1686,14 @@ int drm_mode_create_tv_properties(struct drm_device *dev, if (drm_mode_create_tv_margin_properties(dev)) goto nomem; - dev->mode_config.tv_mode_property = + dev->mode_config.legacy_tv_mode_property = drm_property_create(dev, DRM_MODE_PROP_ENUM, "mode", num_modes); - if (!dev->mode_config.tv_mode_property) + if (!dev->mode_config.legacy_tv_mode_property) goto nomem; for (i = 0; i < num_modes; i++) - drm_property_add_enum(dev->mode_config.tv_mode_property, + drm_property_add_enum(dev->mode_config.legacy_tv_mode_property, i, modes[i]); dev->mode_config.tv_brightness_property = diff --git a/drivers/gpu/drm/gud/gud_connector.c b/drivers/gpu/drm/gud/gud_connector.c index fa636206f232..86e992b2108b 100644 --- a/drivers/gpu/drm/gud/gud_connector.c +++ b/drivers/gpu/drm/gud/gud_connector.c @@ -303,7 +303,7 @@ static int gud_connector_atomic_check(struct drm_connector *connector, old_state->tv.margins.right != new_state->tv.margins.right || old_state->tv.margins.top != new_state->tv.margins.top || old_state->tv.margins.bottom != new_state->tv.margins.bottom || - old_state->tv.mode != new_state->tv.mode || + old_state->tv.legacy_mode != new_state->tv.legacy_mode || old_state->tv.brightness != new_state->tv.brightness || old_state->tv.contrast != new_state->tv.contrast || old_state->tv.flicker_reduction != new_state->tv.flicker_reduction || @@ -424,7 +424,7 @@ gud_connector_property_lookup(struct drm_connector *connector, u16 prop) case GUD_PROPERTY_TV_BOTTOM_MARGIN: return config->tv_bottom_margin_property; case GUD_PROPERTY_TV_MODE: - return config->tv_mode_property; + return config->legacy_tv_mode_property; case GUD_PROPERTY_TV_BRIGHTNESS: return config->tv_brightness_property; case GUD_PROPERTY_TV_CONTRAST: @@ -454,7 +454,7 @@ static unsigned int *gud_connector_tv_state_val(u16 prop, struct drm_tv_connecto case GUD_PROPERTY_TV_BOTTOM_MARGIN: return &state->margins.bottom; case GUD_PROPERTY_TV_MODE: - return &state->mode; + return &state->legacy_mode; case GUD_PROPERTY_TV_BRIGHTNESS: return &state->brightness; case GUD_PROPERTY_TV_CONTRAST: diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c index 578b738859b9..ef69f9bdeace 100644 --- a/drivers/gpu/drm/i2c/ch7006_drv.c +++ b/drivers/gpu/drm/i2c/ch7006_drv.c @@ -264,7 +264,7 @@ static int ch7006_encoder_create_resources(struct drm_encoder *encoder, priv->hmargin); drm_object_attach_property(&connector->base, conf->tv_bottom_margin_property, priv->vmargin); - drm_object_attach_property(&connector->base, conf->tv_mode_property, + drm_object_attach_property(&connector->base, conf->legacy_tv_mode_property, priv->norm); drm_object_attach_property(&connector->base, conf->tv_brightness_property, priv->brightness); @@ -315,7 +315,7 @@ static int ch7006_encoder_set_property(struct drm_encoder *encoder, ch7006_load_reg(client, state, CH7006_POV); ch7006_load_reg(client, state, CH7006_VPOS); - } else if (property == conf->tv_mode_property) { + } else if (property == conf->legacy_tv_mode_property) { if (connector->dpms != DRM_MODE_DPMS_OFF) return -EINVAL; diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c index dcf89d701f0f..b2f42bf929e2 100644 --- a/drivers/gpu/drm/i915/display/intel_tv.c +++ b/drivers/gpu/drm/i915/display/intel_tv.c @@ -1997,7 +1997,8 @@ intel_tv_init(struct drm_i915_private *dev_priv) } drm_mode_create_tv_properties(dev, i, tv_format_names); - drm_object_attach_property(&connector->base, dev->mode_config.tv_mode_property, + drm_object_attach_property(&connector->base, + dev->mode_config.legacy_tv_mode_property, state->tv.mode); drm_object_attach_property(&connector->base, dev->mode_config.tv_left_margin_property, diff --git a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c index be28e7bd7490..1a15534adc60 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c +++ b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c @@ -662,7 +662,7 @@ static int nv17_tv_create_resources(struct drm_encoder *encoder, conf->tv_subconnector_property, tv_enc->subconnector); drm_object_attach_property(&connector->base, - conf->tv_mode_property, + conf->legacy_tv_mode_property, tv_enc->tv_norm); drm_object_attach_property(&connector->base, conf->tv_flicker_reduction_property, @@ -722,7 +722,7 @@ static int nv17_tv_set_property(struct drm_encoder *encoder, if (encoder->crtc) nv17_tv_update_rescaler(encoder); - } else if (property == conf->tv_mode_property) { + } else if (property == conf->legacy_tv_mode_property) { if (connector->dpms != DRM_MODE_DPMS_OFF) return -EINVAL; diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 92c07e31d632..e6043cf5d40e 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -274,7 +274,7 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) struct drm_display_mode *mode; mode = drm_mode_duplicate(connector->dev, - vc4_vec_tv_modes[state->tv.mode].mode); + vc4_vec_tv_modes[state->tv.legacy_mode].mode); if (!mode) { DRM_ERROR("Failed to create a new display mode\n"); return -ENOMEM; @@ -312,7 +312,7 @@ static int vc4_vec_connector_init(struct drm_device *dev, struct vc4_vec *vec) drm_connector_helper_add(connector, &vc4_vec_connector_helper_funcs); drm_object_attach_property(&connector->base, - dev->mode_config.tv_mode_property, + dev->mode_config.legacy_tv_mode_property, VC4_VEC_TV_MODE_NTSC); drm_connector_attach_encoder(connector, &vec->encoder.base); @@ -361,7 +361,7 @@ static void vc4_vec_encoder_enable(struct drm_encoder *encoder, struct drm_connector_state *conn_state = drm_atomic_get_new_connector_state(state, connector); const struct vc4_vec_tv_mode *tv_mode = - &vc4_vec_tv_modes[conn_state->tv.mode]; + &vc4_vec_tv_modes[conn_state->tv.legacy_mode]; int idx, ret; if (!drm_dev_enter(drm, &idx)) @@ -449,7 +449,7 @@ static int vc4_vec_encoder_atomic_check(struct drm_encoder *encoder, { const struct vc4_vec_tv_mode *vec_mode; - vec_mode = &vc4_vec_tv_modes[conn_state->tv.mode]; + vec_mode = &vc4_vec_tv_modes[conn_state->tv.legacy_mode]; if (conn_state->crtc && !drm_mode_equal(vec_mode->mode, &crtc_state->adjusted_mode)) diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index b1b2df48d42c..f93f83161ed5 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -695,7 +695,7 @@ struct drm_connector_tv_margins { * @select_subconnector: selected subconnector * @subconnector: detected subconnector * @margins: TV margins - * @mode: TV mode + * @legacy_mode: Legacy TV mode, driver specific value * @brightness: brightness in percent * @contrast: contrast in percent * @flicker_reduction: flicker reduction in percent @@ -707,7 +707,7 @@ struct drm_tv_connector_state { enum drm_mode_subconnector select_subconnector; enum drm_mode_subconnector subconnector; struct drm_connector_tv_margins margins; - unsigned int mode; + unsigned int legacy_mode; unsigned int brightness; unsigned int contrast; unsigned int flicker_reduction; diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index 5362702fffe1..c47b29e80108 100644 --- a/include/drm/drm_mode_config.h +++ b/include/drm/drm_mode_config.h @@ -712,11 +712,13 @@ struct drm_mode_config { * between different TV connector types. */ struct drm_property *tv_select_subconnector_property; + /** - * @tv_mode_property: Optional TV property to select + * @legacy_tv_mode_property: Optional TV property to select * the output TV mode. */ - struct drm_property *tv_mode_property; + struct drm_property *legacy_tv_mode_property; + /** * @tv_left_margin_property: Optional TV property to set the left * margin (expressed in pixels). -- b4 0.11.0-dev-99e3a 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 4930DC433FE for ; Wed, 26 Oct 2022 15:34:02 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D8F0910E3BD; Wed, 26 Oct 2022 15:33:41 +0000 (UTC) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B9BE10E2DA; Wed, 26 Oct 2022 15:33:37 +0000 (UTC) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id 7BB4758025D; Wed, 26 Oct 2022 11:33:36 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 26 Oct 2022 11:33:36 -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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=k hLxn4JbYa0WL3KqQHvmX1gOhql6f5ZMHNs8pNsvgt3zLqLQBsPRqXePng3CKKwg9 E9IY7YmEeKNeaW+LUiQvm369iK4lkWouALks91z5LJUXkxzCNenSWM2AtfRdJmUL 0unPyFQZIheIRPfYbwI6cvP0Vx6sUpgA4Vv4flUWgg/Lq1692R65PNz1ppFGOrD3 B78bL7VqT2q/RJ8neSvHwF+NJvnINDtrKzt1nxPuR7vZ772LuRvmJL/nb1g0yV5A u+A16XQCk8YZ+x/byy0G1dqPYXu6ZzjArU/662o7M+/PEqKrVnk2+bJuGJXF+IkL qDr4FUpSUubK8qTNNZPrw== 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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=F cju/Djo6fQYYQbLnX/Ijpe92XNYcZ1ninrIO11cydRFArDfuxJNJgfdOtOO0miCB lLEoHlzEv6CcgFg3Kf/AzvaFD5AiBHPnZjZhKiksyGP5Xnz7DqR3p2bNDDdgHvI0 3b/HqeP+W0h0GLsG6s/njOJP2yLFe5Dkf00LIoFOSHFiWviCfM9nMGIfck+BG3z1 QAxcxCBwvH/qQKjxwVrT458kKIGRww2kIeXTfYB67M8lg4T4TVq8NuIgVJ/F/ECE yDyXQpv1CnYP4vcomNKdeSHgq8Ytd4QRIfyld67eDGbrQ/3/kQqPTEu4ydPkhRSd gjvoVQkaMk62meG2nsUfw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtddvgdeltdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepmhgrgihi mhgvsegtvghrnhhordhtvggthhenucggtffrrghtthgvrhhnpeegudevgeehgedtheeuff egledugfetveevveeivdfhtedvhfduffeuudetkeevgeenucffohhmrghinhepmhgrrhhg ihhnshdrthhophenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 26 Oct 2022 11:33:35 -0400 (EDT) From: maxime@cerno.tech Date: Wed, 26 Oct 2022 17:33:21 +0200 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v6-2-e7792734108f@cerno.tech> References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> To: 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 X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10911; i=maxime@cerno.tech; h=from:subject:message-id; bh=WoUTSUurxmxtkfur6YS9c7sw9Fm3hf3dmndakf2g2aQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMmRwW7Ka1d73mycZfXh8qHyDr7jtct3mTrFRpp8emyvqXa4 9qN3RykLgxgXg6yYIkuMsPmSuFOzXney8c2DmcPKBDKEgYtTACYy8yIjw7rN4p1hLvr/d97XS5zHs/ 3YpuOnY2V3PL+wRW9bgn/in0sMf3h9D+9Yx9f1I+doBkvsNpYPJ6be/VUicO/g1ijVji9hkiwA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D Subject: [Nouveau] [PATCH v6 02/23] drm/connector: Rename legacy TV property 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, linux-sunxi@lists.linux.dev, Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , Phil Elwell , linux-arm-kernel@lists.infradead.org Errors-To: nouveau-bounces@lists.freedesktop.org Sender: "Nouveau" The current tv_mode has driver-specific values that don't allow to easily share code using it, either at the userspace or kernel level. Since we're going to introduce a new, generic, property that fit the same purpose, let's rename this one to legacy_tv_mode to make it obvious we should move away from it. Acked-by: Thomas Zimmermann Reviewed-by: Lyude Paul # nouveau Reviewed-by: Noralf Trønnes Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic_uapi.c | 8 ++++---- drivers/gpu/drm/drm_connector.c | 6 +++--- drivers/gpu/drm/gud/gud_connector.c | 6 +++--- drivers/gpu/drm/i2c/ch7006_drv.c | 4 ++-- drivers/gpu/drm/i915/display/intel_tv.c | 3 ++- drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 4 ++-- drivers/gpu/drm/vc4/vc4_vec.c | 8 ++++---- include/drm/drm_connector.h | 4 ++-- include/drm/drm_mode_config.h | 6 ++++-- 9 files changed, 26 insertions(+), 23 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c index c06d0639d552..7f2b9a07fbdf 100644 --- a/drivers/gpu/drm/drm_atomic_uapi.c +++ b/drivers/gpu/drm/drm_atomic_uapi.c @@ -698,8 +698,8 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector, state->tv.margins.top = val; } else if (property == config->tv_bottom_margin_property) { state->tv.margins.bottom = val; - } else if (property == config->tv_mode_property) { - state->tv.mode = val; + } else if (property == config->legacy_tv_mode_property) { + state->tv.legacy_mode = val; } else if (property == config->tv_brightness_property) { state->tv.brightness = val; } else if (property == config->tv_contrast_property) { @@ -808,8 +808,8 @@ drm_atomic_connector_get_property(struct drm_connector *connector, *val = state->tv.margins.top; } else if (property == config->tv_bottom_margin_property) { *val = state->tv.margins.bottom; - } else if (property == config->tv_mode_property) { - *val = state->tv.mode; + } else if (property == config->legacy_tv_mode_property) { + *val = state->tv.legacy_mode; } else if (property == config->tv_brightness_property) { *val = state->tv.brightness; } else if (property == config->tv_contrast_property) { diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index e3142c8142b3..ede6025638d7 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1686,14 +1686,14 @@ int drm_mode_create_tv_properties(struct drm_device *dev, if (drm_mode_create_tv_margin_properties(dev)) goto nomem; - dev->mode_config.tv_mode_property = + dev->mode_config.legacy_tv_mode_property = drm_property_create(dev, DRM_MODE_PROP_ENUM, "mode", num_modes); - if (!dev->mode_config.tv_mode_property) + if (!dev->mode_config.legacy_tv_mode_property) goto nomem; for (i = 0; i < num_modes; i++) - drm_property_add_enum(dev->mode_config.tv_mode_property, + drm_property_add_enum(dev->mode_config.legacy_tv_mode_property, i, modes[i]); dev->mode_config.tv_brightness_property = diff --git a/drivers/gpu/drm/gud/gud_connector.c b/drivers/gpu/drm/gud/gud_connector.c index fa636206f232..86e992b2108b 100644 --- a/drivers/gpu/drm/gud/gud_connector.c +++ b/drivers/gpu/drm/gud/gud_connector.c @@ -303,7 +303,7 @@ static int gud_connector_atomic_check(struct drm_connector *connector, old_state->tv.margins.right != new_state->tv.margins.right || old_state->tv.margins.top != new_state->tv.margins.top || old_state->tv.margins.bottom != new_state->tv.margins.bottom || - old_state->tv.mode != new_state->tv.mode || + old_state->tv.legacy_mode != new_state->tv.legacy_mode || old_state->tv.brightness != new_state->tv.brightness || old_state->tv.contrast != new_state->tv.contrast || old_state->tv.flicker_reduction != new_state->tv.flicker_reduction || @@ -424,7 +424,7 @@ gud_connector_property_lookup(struct drm_connector *connector, u16 prop) case GUD_PROPERTY_TV_BOTTOM_MARGIN: return config->tv_bottom_margin_property; case GUD_PROPERTY_TV_MODE: - return config->tv_mode_property; + return config->legacy_tv_mode_property; case GUD_PROPERTY_TV_BRIGHTNESS: return config->tv_brightness_property; case GUD_PROPERTY_TV_CONTRAST: @@ -454,7 +454,7 @@ static unsigned int *gud_connector_tv_state_val(u16 prop, struct drm_tv_connecto case GUD_PROPERTY_TV_BOTTOM_MARGIN: return &state->margins.bottom; case GUD_PROPERTY_TV_MODE: - return &state->mode; + return &state->legacy_mode; case GUD_PROPERTY_TV_BRIGHTNESS: return &state->brightness; case GUD_PROPERTY_TV_CONTRAST: diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c index 578b738859b9..ef69f9bdeace 100644 --- a/drivers/gpu/drm/i2c/ch7006_drv.c +++ b/drivers/gpu/drm/i2c/ch7006_drv.c @@ -264,7 +264,7 @@ static int ch7006_encoder_create_resources(struct drm_encoder *encoder, priv->hmargin); drm_object_attach_property(&connector->base, conf->tv_bottom_margin_property, priv->vmargin); - drm_object_attach_property(&connector->base, conf->tv_mode_property, + drm_object_attach_property(&connector->base, conf->legacy_tv_mode_property, priv->norm); drm_object_attach_property(&connector->base, conf->tv_brightness_property, priv->brightness); @@ -315,7 +315,7 @@ static int ch7006_encoder_set_property(struct drm_encoder *encoder, ch7006_load_reg(client, state, CH7006_POV); ch7006_load_reg(client, state, CH7006_VPOS); - } else if (property == conf->tv_mode_property) { + } else if (property == conf->legacy_tv_mode_property) { if (connector->dpms != DRM_MODE_DPMS_OFF) return -EINVAL; diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c index dcf89d701f0f..b2f42bf929e2 100644 --- a/drivers/gpu/drm/i915/display/intel_tv.c +++ b/drivers/gpu/drm/i915/display/intel_tv.c @@ -1997,7 +1997,8 @@ intel_tv_init(struct drm_i915_private *dev_priv) } drm_mode_create_tv_properties(dev, i, tv_format_names); - drm_object_attach_property(&connector->base, dev->mode_config.tv_mode_property, + drm_object_attach_property(&connector->base, + dev->mode_config.legacy_tv_mode_property, state->tv.mode); drm_object_attach_property(&connector->base, dev->mode_config.tv_left_margin_property, diff --git a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c index be28e7bd7490..1a15534adc60 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c +++ b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c @@ -662,7 +662,7 @@ static int nv17_tv_create_resources(struct drm_encoder *encoder, conf->tv_subconnector_property, tv_enc->subconnector); drm_object_attach_property(&connector->base, - conf->tv_mode_property, + conf->legacy_tv_mode_property, tv_enc->tv_norm); drm_object_attach_property(&connector->base, conf->tv_flicker_reduction_property, @@ -722,7 +722,7 @@ static int nv17_tv_set_property(struct drm_encoder *encoder, if (encoder->crtc) nv17_tv_update_rescaler(encoder); - } else if (property == conf->tv_mode_property) { + } else if (property == conf->legacy_tv_mode_property) { if (connector->dpms != DRM_MODE_DPMS_OFF) return -EINVAL; diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 92c07e31d632..e6043cf5d40e 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -274,7 +274,7 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) struct drm_display_mode *mode; mode = drm_mode_duplicate(connector->dev, - vc4_vec_tv_modes[state->tv.mode].mode); + vc4_vec_tv_modes[state->tv.legacy_mode].mode); if (!mode) { DRM_ERROR("Failed to create a new display mode\n"); return -ENOMEM; @@ -312,7 +312,7 @@ static int vc4_vec_connector_init(struct drm_device *dev, struct vc4_vec *vec) drm_connector_helper_add(connector, &vc4_vec_connector_helper_funcs); drm_object_attach_property(&connector->base, - dev->mode_config.tv_mode_property, + dev->mode_config.legacy_tv_mode_property, VC4_VEC_TV_MODE_NTSC); drm_connector_attach_encoder(connector, &vec->encoder.base); @@ -361,7 +361,7 @@ static void vc4_vec_encoder_enable(struct drm_encoder *encoder, struct drm_connector_state *conn_state = drm_atomic_get_new_connector_state(state, connector); const struct vc4_vec_tv_mode *tv_mode = - &vc4_vec_tv_modes[conn_state->tv.mode]; + &vc4_vec_tv_modes[conn_state->tv.legacy_mode]; int idx, ret; if (!drm_dev_enter(drm, &idx)) @@ -449,7 +449,7 @@ static int vc4_vec_encoder_atomic_check(struct drm_encoder *encoder, { const struct vc4_vec_tv_mode *vec_mode; - vec_mode = &vc4_vec_tv_modes[conn_state->tv.mode]; + vec_mode = &vc4_vec_tv_modes[conn_state->tv.legacy_mode]; if (conn_state->crtc && !drm_mode_equal(vec_mode->mode, &crtc_state->adjusted_mode)) diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index b1b2df48d42c..f93f83161ed5 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -695,7 +695,7 @@ struct drm_connector_tv_margins { * @select_subconnector: selected subconnector * @subconnector: detected subconnector * @margins: TV margins - * @mode: TV mode + * @legacy_mode: Legacy TV mode, driver specific value * @brightness: brightness in percent * @contrast: contrast in percent * @flicker_reduction: flicker reduction in percent @@ -707,7 +707,7 @@ struct drm_tv_connector_state { enum drm_mode_subconnector select_subconnector; enum drm_mode_subconnector subconnector; struct drm_connector_tv_margins margins; - unsigned int mode; + unsigned int legacy_mode; unsigned int brightness; unsigned int contrast; unsigned int flicker_reduction; diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index 5362702fffe1..c47b29e80108 100644 --- a/include/drm/drm_mode_config.h +++ b/include/drm/drm_mode_config.h @@ -712,11 +712,13 @@ struct drm_mode_config { * between different TV connector types. */ struct drm_property *tv_select_subconnector_property; + /** - * @tv_mode_property: Optional TV property to select + * @legacy_tv_mode_property: Optional TV property to select * the output TV mode. */ - struct drm_property *tv_mode_property; + struct drm_property *legacy_tv_mode_property; + /** * @tv_left_margin_property: Optional TV property to set the left * margin (expressed in pixels). -- b4 0.11.0-dev-99e3a 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 70394C38A2D for ; Wed, 26 Oct 2022 15:33:51 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8AFFA10E301; Wed, 26 Oct 2022 15:33:40 +0000 (UTC) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B9BE10E2DA; Wed, 26 Oct 2022 15:33:37 +0000 (UTC) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id 7BB4758025D; Wed, 26 Oct 2022 11:33:36 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 26 Oct 2022 11:33:36 -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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=k hLxn4JbYa0WL3KqQHvmX1gOhql6f5ZMHNs8pNsvgt3zLqLQBsPRqXePng3CKKwg9 E9IY7YmEeKNeaW+LUiQvm369iK4lkWouALks91z5LJUXkxzCNenSWM2AtfRdJmUL 0unPyFQZIheIRPfYbwI6cvP0Vx6sUpgA4Vv4flUWgg/Lq1692R65PNz1ppFGOrD3 B78bL7VqT2q/RJ8neSvHwF+NJvnINDtrKzt1nxPuR7vZ772LuRvmJL/nb1g0yV5A u+A16XQCk8YZ+x/byy0G1dqPYXu6ZzjArU/662o7M+/PEqKrVnk2+bJuGJXF+IkL qDr4FUpSUubK8qTNNZPrw== 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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=F cju/Djo6fQYYQbLnX/Ijpe92XNYcZ1ninrIO11cydRFArDfuxJNJgfdOtOO0miCB lLEoHlzEv6CcgFg3Kf/AzvaFD5AiBHPnZjZhKiksyGP5Xnz7DqR3p2bNDDdgHvI0 3b/HqeP+W0h0GLsG6s/njOJP2yLFe5Dkf00LIoFOSHFiWviCfM9nMGIfck+BG3z1 QAxcxCBwvH/qQKjxwVrT458kKIGRww2kIeXTfYB67M8lg4T4TVq8NuIgVJ/F/ECE yDyXQpv1CnYP4vcomNKdeSHgq8Ytd4QRIfyld67eDGbrQ/3/kQqPTEu4ydPkhRSd gjvoVQkaMk62meG2nsUfw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtddvgdeltdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepmhgrgihi mhgvsegtvghrnhhordhtvggthhenucggtffrrghtthgvrhhnpeegudevgeehgedtheeuff egledugfetveevveeivdfhtedvhfduffeuudetkeevgeenucffohhmrghinhepmhgrrhhg ihhnshdrthhophenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 26 Oct 2022 11:33:35 -0400 (EDT) From: maxime@cerno.tech Date: Wed, 26 Oct 2022 17:33:21 +0200 Subject: [PATCH v6 02/23] drm/connector: Rename legacy TV property MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v6-2-e7792734108f@cerno.tech> References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> To: 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 X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10911; i=maxime@cerno.tech; h=from:subject:message-id; bh=WoUTSUurxmxtkfur6YS9c7sw9Fm3hf3dmndakf2g2aQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMmRwW7Ka1d73mycZfXh8qHyDr7jtct3mTrFRpp8emyvqXa4 9qN3RykLgxgXg6yYIkuMsPmSuFOzXney8c2DmcPKBDKEgYtTACYy8yIjw7rN4p1hLvr/d97XS5zHs/ 3YpuOnY2V3PL+wRW9bgn/in0sMf3h9D+9Yx9f1I+doBkvsNpYPJ6be/VUicO/g1ijVji9hkiwA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D 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, linux-sunxi@lists.linux.dev, Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , Phil Elwell , linux-arm-kernel@lists.infradead.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The current tv_mode has driver-specific values that don't allow to easily share code using it, either at the userspace or kernel level. Since we're going to introduce a new, generic, property that fit the same purpose, let's rename this one to legacy_tv_mode to make it obvious we should move away from it. Acked-by: Thomas Zimmermann Reviewed-by: Lyude Paul # nouveau Reviewed-by: Noralf Trønnes Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic_uapi.c | 8 ++++---- drivers/gpu/drm/drm_connector.c | 6 +++--- drivers/gpu/drm/gud/gud_connector.c | 6 +++--- drivers/gpu/drm/i2c/ch7006_drv.c | 4 ++-- drivers/gpu/drm/i915/display/intel_tv.c | 3 ++- drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 4 ++-- drivers/gpu/drm/vc4/vc4_vec.c | 8 ++++---- include/drm/drm_connector.h | 4 ++-- include/drm/drm_mode_config.h | 6 ++++-- 9 files changed, 26 insertions(+), 23 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c index c06d0639d552..7f2b9a07fbdf 100644 --- a/drivers/gpu/drm/drm_atomic_uapi.c +++ b/drivers/gpu/drm/drm_atomic_uapi.c @@ -698,8 +698,8 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector, state->tv.margins.top = val; } else if (property == config->tv_bottom_margin_property) { state->tv.margins.bottom = val; - } else if (property == config->tv_mode_property) { - state->tv.mode = val; + } else if (property == config->legacy_tv_mode_property) { + state->tv.legacy_mode = val; } else if (property == config->tv_brightness_property) { state->tv.brightness = val; } else if (property == config->tv_contrast_property) { @@ -808,8 +808,8 @@ drm_atomic_connector_get_property(struct drm_connector *connector, *val = state->tv.margins.top; } else if (property == config->tv_bottom_margin_property) { *val = state->tv.margins.bottom; - } else if (property == config->tv_mode_property) { - *val = state->tv.mode; + } else if (property == config->legacy_tv_mode_property) { + *val = state->tv.legacy_mode; } else if (property == config->tv_brightness_property) { *val = state->tv.brightness; } else if (property == config->tv_contrast_property) { diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index e3142c8142b3..ede6025638d7 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1686,14 +1686,14 @@ int drm_mode_create_tv_properties(struct drm_device *dev, if (drm_mode_create_tv_margin_properties(dev)) goto nomem; - dev->mode_config.tv_mode_property = + dev->mode_config.legacy_tv_mode_property = drm_property_create(dev, DRM_MODE_PROP_ENUM, "mode", num_modes); - if (!dev->mode_config.tv_mode_property) + if (!dev->mode_config.legacy_tv_mode_property) goto nomem; for (i = 0; i < num_modes; i++) - drm_property_add_enum(dev->mode_config.tv_mode_property, + drm_property_add_enum(dev->mode_config.legacy_tv_mode_property, i, modes[i]); dev->mode_config.tv_brightness_property = diff --git a/drivers/gpu/drm/gud/gud_connector.c b/drivers/gpu/drm/gud/gud_connector.c index fa636206f232..86e992b2108b 100644 --- a/drivers/gpu/drm/gud/gud_connector.c +++ b/drivers/gpu/drm/gud/gud_connector.c @@ -303,7 +303,7 @@ static int gud_connector_atomic_check(struct drm_connector *connector, old_state->tv.margins.right != new_state->tv.margins.right || old_state->tv.margins.top != new_state->tv.margins.top || old_state->tv.margins.bottom != new_state->tv.margins.bottom || - old_state->tv.mode != new_state->tv.mode || + old_state->tv.legacy_mode != new_state->tv.legacy_mode || old_state->tv.brightness != new_state->tv.brightness || old_state->tv.contrast != new_state->tv.contrast || old_state->tv.flicker_reduction != new_state->tv.flicker_reduction || @@ -424,7 +424,7 @@ gud_connector_property_lookup(struct drm_connector *connector, u16 prop) case GUD_PROPERTY_TV_BOTTOM_MARGIN: return config->tv_bottom_margin_property; case GUD_PROPERTY_TV_MODE: - return config->tv_mode_property; + return config->legacy_tv_mode_property; case GUD_PROPERTY_TV_BRIGHTNESS: return config->tv_brightness_property; case GUD_PROPERTY_TV_CONTRAST: @@ -454,7 +454,7 @@ static unsigned int *gud_connector_tv_state_val(u16 prop, struct drm_tv_connecto case GUD_PROPERTY_TV_BOTTOM_MARGIN: return &state->margins.bottom; case GUD_PROPERTY_TV_MODE: - return &state->mode; + return &state->legacy_mode; case GUD_PROPERTY_TV_BRIGHTNESS: return &state->brightness; case GUD_PROPERTY_TV_CONTRAST: diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c index 578b738859b9..ef69f9bdeace 100644 --- a/drivers/gpu/drm/i2c/ch7006_drv.c +++ b/drivers/gpu/drm/i2c/ch7006_drv.c @@ -264,7 +264,7 @@ static int ch7006_encoder_create_resources(struct drm_encoder *encoder, priv->hmargin); drm_object_attach_property(&connector->base, conf->tv_bottom_margin_property, priv->vmargin); - drm_object_attach_property(&connector->base, conf->tv_mode_property, + drm_object_attach_property(&connector->base, conf->legacy_tv_mode_property, priv->norm); drm_object_attach_property(&connector->base, conf->tv_brightness_property, priv->brightness); @@ -315,7 +315,7 @@ static int ch7006_encoder_set_property(struct drm_encoder *encoder, ch7006_load_reg(client, state, CH7006_POV); ch7006_load_reg(client, state, CH7006_VPOS); - } else if (property == conf->tv_mode_property) { + } else if (property == conf->legacy_tv_mode_property) { if (connector->dpms != DRM_MODE_DPMS_OFF) return -EINVAL; diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c index dcf89d701f0f..b2f42bf929e2 100644 --- a/drivers/gpu/drm/i915/display/intel_tv.c +++ b/drivers/gpu/drm/i915/display/intel_tv.c @@ -1997,7 +1997,8 @@ intel_tv_init(struct drm_i915_private *dev_priv) } drm_mode_create_tv_properties(dev, i, tv_format_names); - drm_object_attach_property(&connector->base, dev->mode_config.tv_mode_property, + drm_object_attach_property(&connector->base, + dev->mode_config.legacy_tv_mode_property, state->tv.mode); drm_object_attach_property(&connector->base, dev->mode_config.tv_left_margin_property, diff --git a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c index be28e7bd7490..1a15534adc60 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c +++ b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c @@ -662,7 +662,7 @@ static int nv17_tv_create_resources(struct drm_encoder *encoder, conf->tv_subconnector_property, tv_enc->subconnector); drm_object_attach_property(&connector->base, - conf->tv_mode_property, + conf->legacy_tv_mode_property, tv_enc->tv_norm); drm_object_attach_property(&connector->base, conf->tv_flicker_reduction_property, @@ -722,7 +722,7 @@ static int nv17_tv_set_property(struct drm_encoder *encoder, if (encoder->crtc) nv17_tv_update_rescaler(encoder); - } else if (property == conf->tv_mode_property) { + } else if (property == conf->legacy_tv_mode_property) { if (connector->dpms != DRM_MODE_DPMS_OFF) return -EINVAL; diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 92c07e31d632..e6043cf5d40e 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -274,7 +274,7 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) struct drm_display_mode *mode; mode = drm_mode_duplicate(connector->dev, - vc4_vec_tv_modes[state->tv.mode].mode); + vc4_vec_tv_modes[state->tv.legacy_mode].mode); if (!mode) { DRM_ERROR("Failed to create a new display mode\n"); return -ENOMEM; @@ -312,7 +312,7 @@ static int vc4_vec_connector_init(struct drm_device *dev, struct vc4_vec *vec) drm_connector_helper_add(connector, &vc4_vec_connector_helper_funcs); drm_object_attach_property(&connector->base, - dev->mode_config.tv_mode_property, + dev->mode_config.legacy_tv_mode_property, VC4_VEC_TV_MODE_NTSC); drm_connector_attach_encoder(connector, &vec->encoder.base); @@ -361,7 +361,7 @@ static void vc4_vec_encoder_enable(struct drm_encoder *encoder, struct drm_connector_state *conn_state = drm_atomic_get_new_connector_state(state, connector); const struct vc4_vec_tv_mode *tv_mode = - &vc4_vec_tv_modes[conn_state->tv.mode]; + &vc4_vec_tv_modes[conn_state->tv.legacy_mode]; int idx, ret; if (!drm_dev_enter(drm, &idx)) @@ -449,7 +449,7 @@ static int vc4_vec_encoder_atomic_check(struct drm_encoder *encoder, { const struct vc4_vec_tv_mode *vec_mode; - vec_mode = &vc4_vec_tv_modes[conn_state->tv.mode]; + vec_mode = &vc4_vec_tv_modes[conn_state->tv.legacy_mode]; if (conn_state->crtc && !drm_mode_equal(vec_mode->mode, &crtc_state->adjusted_mode)) diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index b1b2df48d42c..f93f83161ed5 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -695,7 +695,7 @@ struct drm_connector_tv_margins { * @select_subconnector: selected subconnector * @subconnector: detected subconnector * @margins: TV margins - * @mode: TV mode + * @legacy_mode: Legacy TV mode, driver specific value * @brightness: brightness in percent * @contrast: contrast in percent * @flicker_reduction: flicker reduction in percent @@ -707,7 +707,7 @@ struct drm_tv_connector_state { enum drm_mode_subconnector select_subconnector; enum drm_mode_subconnector subconnector; struct drm_connector_tv_margins margins; - unsigned int mode; + unsigned int legacy_mode; unsigned int brightness; unsigned int contrast; unsigned int flicker_reduction; diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index 5362702fffe1..c47b29e80108 100644 --- a/include/drm/drm_mode_config.h +++ b/include/drm/drm_mode_config.h @@ -712,11 +712,13 @@ struct drm_mode_config { * between different TV connector types. */ struct drm_property *tv_select_subconnector_property; + /** - * @tv_mode_property: Optional TV property to select + * @legacy_tv_mode_property: Optional TV property to select * the output TV mode. */ - struct drm_property *tv_mode_property; + struct drm_property *legacy_tv_mode_property; + /** * @tv_left_margin_property: Optional TV property to set the left * margin (expressed in pixels). -- b4 0.11.0-dev-99e3a 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 1333EC38A2D for ; Wed, 26 Oct 2022 15:35:33 +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:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=VjuymclZpVXqXHorb8mym0rBRcnSMzMz/DArYUP/aFA=; b=h64vEtQFxaYLOp JRAJWLym8QnVM306mFBJ3PlRWs0xSCw+IFSH7+2ysqTiwTuOYgkUqk+6F+JFxHnjjqnmG3u/3zQ60 VsoRSXfKtiDoz6MEzfKQLAo+UvP23MlVC67dZs+SNN/8wkaY6P5vFo+m//tvY0NObCLDJcdNTHB10 xk+JLucaAbB3VjFVkssEO2OQ7ai3ua0yk0NYA82/RWW7hDhD6kSgBsCn+q/Qjcryazuw6dSnC+hpw xDlvBS3B4y7X8Eigv0g22Ye+bPjQVvX2Jww+zT/tCYkz+KfIgmo0b++IJbExKxgINAH65El5zXwkS etT7Ur81W7+cuUOSCKvw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oniPg-009u4G-Hf; Wed, 26 Oct 2022 15:33:52 +0000 Received: from new4-smtp.messagingengine.com ([66.111.4.230]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oniPS-009tyy-OT for linux-arm-kernel@lists.infradead.org; Wed, 26 Oct 2022 15:33:41 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id 7BB4758025D; Wed, 26 Oct 2022 11:33:36 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 26 Oct 2022 11:33:36 -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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=k hLxn4JbYa0WL3KqQHvmX1gOhql6f5ZMHNs8pNsvgt3zLqLQBsPRqXePng3CKKwg9 E9IY7YmEeKNeaW+LUiQvm369iK4lkWouALks91z5LJUXkxzCNenSWM2AtfRdJmUL 0unPyFQZIheIRPfYbwI6cvP0Vx6sUpgA4Vv4flUWgg/Lq1692R65PNz1ppFGOrD3 B78bL7VqT2q/RJ8neSvHwF+NJvnINDtrKzt1nxPuR7vZ772LuRvmJL/nb1g0yV5A u+A16XQCk8YZ+x/byy0G1dqPYXu6ZzjArU/662o7M+/PEqKrVnk2+bJuGJXF+IkL qDr4FUpSUubK8qTNNZPrw== 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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=F cju/Djo6fQYYQbLnX/Ijpe92XNYcZ1ninrIO11cydRFArDfuxJNJgfdOtOO0miCB lLEoHlzEv6CcgFg3Kf/AzvaFD5AiBHPnZjZhKiksyGP5Xnz7DqR3p2bNDDdgHvI0 3b/HqeP+W0h0GLsG6s/njOJP2yLFe5Dkf00LIoFOSHFiWviCfM9nMGIfck+BG3z1 QAxcxCBwvH/qQKjxwVrT458kKIGRww2kIeXTfYB67M8lg4T4TVq8NuIgVJ/F/ECE yDyXQpv1CnYP4vcomNKdeSHgq8Ytd4QRIfyld67eDGbrQ/3/kQqPTEu4ydPkhRSd gjvoVQkaMk62meG2nsUfw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtddvgdeltdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepmhgrgihi mhgvsegtvghrnhhordhtvggthhenucggtffrrghtthgvrhhnpeegudevgeehgedtheeuff egledugfetveevveeivdfhtedvhfduffeuudetkeevgeenucffohhmrghinhepmhgrrhhg ihhnshdrthhophenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 26 Oct 2022 11:33:35 -0400 (EDT) From: maxime@cerno.tech Date: Wed, 26 Oct 2022 17:33:21 +0200 Subject: [PATCH v6 02/23] drm/connector: Rename legacy TV property MIME-Version: 1.0 Message-Id: <20220728-rpi-analog-tv-properties-v6-2-e7792734108f@cerno.tech> References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> To: 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, Maxime Ripard , 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, Noralf Trønnes , Geert Uytterhoeven X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10911; i=maxime@cerno.tech; h=from:subject:message-id; bh=WoUTSUurxmxtkfur6YS9c7sw9Fm3hf3dmndakf2g2aQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMmRwW7Ka1d73mycZfXh8qHyDr7jtct3mTrFRpp8emyvqXa4 9qN3RykLgxgXg6yYIkuMsPmSuFOzXney8c2DmcPKBDKEgYtTACYy8yIjw7rN4p1hLvr/d97XS5zHs/ 3YpuOnY2V3PL+wRW9bgn/in0sMf3h9D+9Yx9f1I+doBkvsNpYPJ6be/VUicO/g1ijVji9hkiwA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221026_083339_077353_088A4B09 X-CRM114-Status: GOOD ( 18.97 ) 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 VGhlIGN1cnJlbnQgdHZfbW9kZSBoYXMgZHJpdmVyLXNwZWNpZmljIHZhbHVlcyB0aGF0IGRvbid0 IGFsbG93IHRvCmVhc2lseSBzaGFyZSBjb2RlIHVzaW5nIGl0LCBlaXRoZXIgYXQgdGhlIHVzZXJz cGFjZSBvciBrZXJuZWwgbGV2ZWwuCgpTaW5jZSB3ZSdyZSBnb2luZyB0byBpbnRyb2R1Y2UgYSBu ZXcsIGdlbmVyaWMsIHByb3BlcnR5IHRoYXQgZml0IHRoZQpzYW1lIHB1cnBvc2UsIGxldCdzIHJl bmFtZSB0aGlzIG9uZSB0byBsZWdhY3lfdHZfbW9kZSB0byBtYWtlIGl0Cm9idmlvdXMgd2Ugc2hv dWxkIG1vdmUgYXdheSBmcm9tIGl0LgoKQWNrZWQtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0emlt bWVybWFubkBzdXNlLmRlPgpSZXZpZXdlZC1ieTogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNv bT4gIyBub3V2ZWF1ClJldmlld2VkLWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVz Lm9yZz4KU2lnbmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lQGNlcm5vLnRlY2g+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jICAgICAgICAgfCA4ICsrKystLS0t CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICAgICAgICB8IDYgKysrLS0tCiBk cml2ZXJzL2dwdS9kcm0vZ3VkL2d1ZF9jb25uZWN0b3IuYyAgICAgICB8IDYgKysrLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTJjL2NoNzAwNl9kcnYuYyAgICAgICAgICB8IDQgKystLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90di5jICAgfCAzICsrLQogZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvZGlzcG52MDQvdHZudjE3LmMgfCA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS92YzQv dmM0X3ZlYy5jICAgICAgICAgICAgIHwgOCArKysrLS0tLQogaW5jbHVkZS9kcm0vZHJtX2Nvbm5l Y3Rvci5oICAgICAgICAgICAgICAgfCA0ICsrLS0KIGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZp Zy5oICAgICAgICAgICAgIHwgNiArKysrLS0KIDkgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9u cygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfdWFwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCmluZGV4IGMw NmQwNjM5ZDU1Mi4uN2YyYjlhMDdmYmRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY191YXBpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCkBA IC02OTgsOCArNjk4LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJv cGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJc3RhdGUtPnR2Lm1hcmdp bnMudG9wID0gdmFsOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT50dl9ib3R0b21f bWFyZ2luX3Byb3BlcnR5KSB7CiAJCXN0YXRlLT50di5tYXJnaW5zLmJvdHRvbSA9IHZhbDsKLQl9 IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+dHZfbW9kZV9wcm9wZXJ0eSkgewotCQlzdGF0 ZS0+dHYubW9kZSA9IHZhbDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+bGVnYWN5 X3R2X21vZGVfcHJvcGVydHkpIHsKKwkJc3RhdGUtPnR2LmxlZ2FjeV9tb2RlID0gdmFsOwogCX0g ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT50dl9icmlnaHRuZXNzX3Byb3BlcnR5KSB7CiAJ CXN0YXRlLT50di5icmlnaHRuZXNzID0gdmFsOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29u ZmlnLT50dl9jb250cmFzdF9wcm9wZXJ0eSkgewpAQCAtODA4LDggKzgwOCw4IEBAIGRybV9hdG9t aWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAogCQkqdmFsID0gc3RhdGUtPnR2Lm1hcmdpbnMudG9wOwogCX0gZWxzZSBpZiAocHJvcGVydHkg PT0gY29uZmlnLT50dl9ib3R0b21fbWFyZ2luX3Byb3BlcnR5KSB7CiAJCSp2YWwgPSBzdGF0ZS0+ dHYubWFyZ2lucy5ib3R0b207Ci0JfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnR2X21v ZGVfcHJvcGVydHkpIHsKLQkJKnZhbCA9IHN0YXRlLT50di5tb2RlOworCX0gZWxzZSBpZiAocHJv cGVydHkgPT0gY29uZmlnLT5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eSkgeworCQkqdmFsID0gc3Rh dGUtPnR2LmxlZ2FjeV9tb2RlOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT50dl9i cmlnaHRuZXNzX3Byb3BlcnR5KSB7CiAJCSp2YWwgPSBzdGF0ZS0+dHYuYnJpZ2h0bmVzczsKIAl9 IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+dHZfY29udHJhc3RfcHJvcGVydHkpIHsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2Nvbm5lY3Rvci5jCmluZGV4IGUzMTQyYzgxNDJiMy4uZWRlNjAyNTYzOGQ3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY29ubmVjdG9yLmMKQEAgLTE2ODYsMTQgKzE2ODYsMTQgQEAgaW50IGRybV9tb2Rl X2NyZWF0ZV90dl9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYgKGRybV9t b2RlX2NyZWF0ZV90dl9tYXJnaW5fcHJvcGVydGllcyhkZXYpKQogCQlnb3RvIG5vbWVtOwogCi0J ZGV2LT5tb2RlX2NvbmZpZy50dl9tb2RlX3Byb3BlcnR5ID0KKwlkZXYtPm1vZGVfY29uZmlnLmxl Z2FjeV90dl9tb2RlX3Byb3BlcnR5ID0KIAkJZHJtX3Byb3BlcnR5X2NyZWF0ZShkZXYsIERSTV9N T0RFX1BST1BfRU5VTSwKIAkJCQkgICAgIm1vZGUiLCBudW1fbW9kZXMpOwotCWlmICghZGV2LT5t b2RlX2NvbmZpZy50dl9tb2RlX3Byb3BlcnR5KQorCWlmICghZGV2LT5tb2RlX2NvbmZpZy5sZWdh Y3lfdHZfbW9kZV9wcm9wZXJ0eSkKIAkJZ290byBub21lbTsKIAogCWZvciAoaSA9IDA7IGkgPCBu dW1fbW9kZXM7IGkrKykKLQkJZHJtX3Byb3BlcnR5X2FkZF9lbnVtKGRldi0+bW9kZV9jb25maWcu dHZfbW9kZV9wcm9wZXJ0eSwKKwkJZHJtX3Byb3BlcnR5X2FkZF9lbnVtKGRldi0+bW9kZV9jb25m aWcubGVnYWN5X3R2X21vZGVfcHJvcGVydHksCiAJCQkJICAgICAgaSwgbW9kZXNbaV0pOwogCiAJ ZGV2LT5tb2RlX2NvbmZpZy50dl9icmlnaHRuZXNzX3Byb3BlcnR5ID0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9ndWQvZ3VkX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2d1ZC9n dWRfY29ubmVjdG9yLmMKaW5kZXggZmE2MzYyMDZmMjMyLi44NmU5OTJiMjEwOGIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9ndWQvZ3VkX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9ndWQvZ3VkX2Nvbm5lY3Rvci5jCkBAIC0zMDMsNyArMzAzLDcgQEAgc3RhdGljIGludCBn dWRfY29ubmVjdG9yX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAogCSAgICBvbGRfc3RhdGUtPnR2Lm1hcmdpbnMucmlnaHQgIT0gbmV3X3N0YXRlLT50di5tYXJn aW5zLnJpZ2h0IHx8CiAJICAgIG9sZF9zdGF0ZS0+dHYubWFyZ2lucy50b3AgIT0gbmV3X3N0YXRl LT50di5tYXJnaW5zLnRvcCB8fAogCSAgICBvbGRfc3RhdGUtPnR2Lm1hcmdpbnMuYm90dG9tICE9 IG5ld19zdGF0ZS0+dHYubWFyZ2lucy5ib3R0b20gfHwKLQkgICAgb2xkX3N0YXRlLT50di5tb2Rl ICE9IG5ld19zdGF0ZS0+dHYubW9kZSB8fAorCSAgICBvbGRfc3RhdGUtPnR2LmxlZ2FjeV9tb2Rl ICE9IG5ld19zdGF0ZS0+dHYubGVnYWN5X21vZGUgfHwKIAkgICAgb2xkX3N0YXRlLT50di5icmln aHRuZXNzICE9IG5ld19zdGF0ZS0+dHYuYnJpZ2h0bmVzcyB8fAogCSAgICBvbGRfc3RhdGUtPnR2 LmNvbnRyYXN0ICE9IG5ld19zdGF0ZS0+dHYuY29udHJhc3QgfHwKIAkgICAgb2xkX3N0YXRlLT50 di5mbGlja2VyX3JlZHVjdGlvbiAhPSBuZXdfc3RhdGUtPnR2LmZsaWNrZXJfcmVkdWN0aW9uIHx8 CkBAIC00MjQsNyArNDI0LDcgQEAgZ3VkX2Nvbm5lY3Rvcl9wcm9wZXJ0eV9sb29rdXAoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTE2IHByb3ApCiAJY2FzZSBHVURfUFJPUEVSVFlf VFZfQk9UVE9NX01BUkdJTjoKIAkJcmV0dXJuIGNvbmZpZy0+dHZfYm90dG9tX21hcmdpbl9wcm9w ZXJ0eTsKIAljYXNlIEdVRF9QUk9QRVJUWV9UVl9NT0RFOgotCQlyZXR1cm4gY29uZmlnLT50dl9t b2RlX3Byb3BlcnR5OworCQlyZXR1cm4gY29uZmlnLT5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eTsK IAljYXNlIEdVRF9QUk9QRVJUWV9UVl9CUklHSFRORVNTOgogCQlyZXR1cm4gY29uZmlnLT50dl9i cmlnaHRuZXNzX3Byb3BlcnR5OwogCWNhc2UgR1VEX1BST1BFUlRZX1RWX0NPTlRSQVNUOgpAQCAt NDU0LDcgKzQ1NCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgKmd1ZF9jb25uZWN0b3JfdHZfc3Rh dGVfdmFsKHUxNiBwcm9wLCBzdHJ1Y3QgZHJtX3R2X2Nvbm5lY3RvCiAJY2FzZSBHVURfUFJPUEVS VFlfVFZfQk9UVE9NX01BUkdJTjoKIAkJcmV0dXJuICZzdGF0ZS0+bWFyZ2lucy5ib3R0b207CiAJ Y2FzZSBHVURfUFJPUEVSVFlfVFZfTU9ERToKLQkJcmV0dXJuICZzdGF0ZS0+bW9kZTsKKwkJcmV0 dXJuICZzdGF0ZS0+bGVnYWN5X21vZGU7CiAJY2FzZSBHVURfUFJPUEVSVFlfVFZfQlJJR0hUTkVT UzoKIAkJcmV0dXJuICZzdGF0ZS0+YnJpZ2h0bmVzczsKIAljYXNlIEdVRF9QUk9QRVJUWV9UVl9D T05UUkFTVDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvY2g3MDA2X2Rydi5jIGIv ZHJpdmVycy9ncHUvZHJtL2kyYy9jaDcwMDZfZHJ2LmMKaW5kZXggNTc4YjczODg1OWI5Li5lZjY5 ZjliZGVhY2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvY2g3MDA2X2Rydi5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvY2g3MDA2X2Rydi5jCkBAIC0yNjQsNyArMjY0LDcgQEAg c3RhdGljIGludCBjaDcwMDZfZW5jb2Rlcl9jcmVhdGVfcmVzb3VyY2VzKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKIAkJCQkgICAgICBwcml2LT5obWFyZ2luKTsKIAlkcm1fb2JqZWN0X2F0 dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBjb25mLT50dl9ib3R0b21fbWFyZ2luX3By b3BlcnR5LAogCQkJCSAgICAgIHByaXYtPnZtYXJnaW4pOwotCWRybV9vYmplY3RfYXR0YWNoX3By b3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsIGNvbmYtPnR2X21vZGVfcHJvcGVydHksCisJZHJtX29i amVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwgY29uZi0+bGVnYWN5X3R2X21v ZGVfcHJvcGVydHksCiAJCQkJICAgICAgcHJpdi0+bm9ybSk7CiAJZHJtX29iamVjdF9hdHRhY2hf cHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwgY29uZi0+dHZfYnJpZ2h0bmVzc19wcm9wZXJ0eSwK IAkJCQkgICAgICBwcml2LT5icmlnaHRuZXNzKTsKQEAgLTMxNSw3ICszMTUsNyBAQCBzdGF0aWMg aW50IGNoNzAwNl9lbmNvZGVyX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCiAJCWNoNzAwNl9sb2FkX3JlZyhjbGllbnQsIHN0YXRlLCBDSDcwMDZfUE9WKTsKIAkJY2g3 MDA2X2xvYWRfcmVnKGNsaWVudCwgc3RhdGUsIENINzAwNl9WUE9TKTsKIAotCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gY29uZi0+dHZfbW9kZV9wcm9wZXJ0eSkgeworCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZi0+bGVnYWN5X3R2X21vZGVfcHJvcGVydHkpIHsKIAkJaWYgKGNvbm5lY3Rvci0+ ZHBtcyAhPSBEUk1fTU9ERV9EUE1TX09GRikKIAkJCXJldHVybiAtRUlOVkFMOwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMKaW5kZXggZGNmODlkNzAxZjBmLi5iMmY0MmJm OTI5ZTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdHYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMKQEAgLTE5OTcs NyArMTk5Nyw4IEBAIGludGVsX3R2X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogCX0KIAlkcm1fbW9kZV9jcmVhdGVfdHZfcHJvcGVydGllcyhkZXYsIGksIHR2X2Zvcm1h dF9uYW1lcyk7CiAKLQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNl LCBkZXYtPm1vZGVfY29uZmlnLnR2X21vZGVfcHJvcGVydHksCisJZHJtX29iamVjdF9hdHRhY2hf cHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKKwkJCQkgICBkZXYtPm1vZGVfY29uZmlnLmxlZ2Fj eV90dl9tb2RlX3Byb3BlcnR5LAogCQkJCSAgIHN0YXRlLT50di5tb2RlKTsKIAlkcm1fb2JqZWN0 X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAogCQkJCSAgIGRldi0+bW9kZV9jb25m aWcudHZfbGVmdF9tYXJnaW5fcHJvcGVydHksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9kaXNwbnYwNC90dm52MTcuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3Bu djA0L3R2bnYxNy5jCmluZGV4IGJlMjhlN2JkNzQ5MC4uMWExNTUzNGFkYzYwIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnYwNC90dm52MTcuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9kaXNwbnYwNC90dm52MTcuYwpAQCAtNjYyLDcgKzY2Miw3IEBAIHN0 YXRpYyBpbnQgbnYxN190dl9jcmVhdGVfcmVzb3VyY2VzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKIAkJCQkJY29uZi0+dHZfc3ViY29ubmVjdG9yX3Byb3BlcnR5LAogCQkJCQl0dl9lbmMt PnN1YmNvbm5lY3Rvcik7CiAJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+ YmFzZSwKLQkJCQkJY29uZi0+dHZfbW9kZV9wcm9wZXJ0eSwKKwkJCQkJY29uZi0+bGVnYWN5X3R2 X21vZGVfcHJvcGVydHksCiAJCQkJCXR2X2VuYy0+dHZfbm9ybSk7CiAJZHJtX29iamVjdF9hdHRh Y2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKIAkJCQkJY29uZi0+dHZfZmxpY2tlcl9yZWR1 Y3Rpb25fcHJvcGVydHksCkBAIC03MjIsNyArNzIyLDcgQEAgc3RhdGljIGludCBudjE3X3R2X3Nl dF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJCWlmIChlbmNvZGVyLT5j cnRjKQogCQkJbnYxN190dl91cGRhdGVfcmVzY2FsZXIoZW5jb2Rlcik7CiAKLQl9IGVsc2UgaWYg KHByb3BlcnR5ID09IGNvbmYtPnR2X21vZGVfcHJvcGVydHkpIHsKKwl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IGNvbmYtPmxlZ2FjeV90dl9tb2RlX3Byb3BlcnR5KSB7CiAJCWlmIChjb25uZWN0b3It PmRwbXMgIT0gRFJNX01PREVfRFBNU19PRkYpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdmVjLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF92ZWMuYwppbmRleCA5MmMwN2UzMWQ2MzIuLmU2MDQzY2Y1ZDQwZSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdmVjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92 YzRfdmVjLmMKQEAgLTI3NCw3ICsyNzQsNyBAQCBzdGF0aWMgaW50IHZjNF92ZWNfY29ubmVjdG9y X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlOwogCiAJbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShjb25uZWN0 b3ItPmRldiwKLQkJCQkgIHZjNF92ZWNfdHZfbW9kZXNbc3RhdGUtPnR2Lm1vZGVdLm1vZGUpOwor CQkJCSAgdmM0X3ZlY190dl9tb2Rlc1tzdGF0ZS0+dHYubGVnYWN5X21vZGVdLm1vZGUpOwogCWlm ICghbW9kZSkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlzcGxheSBt b2RlXG4iKTsKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0zMTIsNyArMzEyLDcgQEAgc3RhdGljIGlu dCB2YzRfdmVjX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCB2 YzRfdmVjICp2ZWMpCiAJZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKGNvbm5lY3RvciwgJnZjNF92 ZWNfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyk7CiAKIAlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0 eSgmY29ubmVjdG9yLT5iYXNlLAotCQkJCSAgIGRldi0+bW9kZV9jb25maWcudHZfbW9kZV9wcm9w ZXJ0eSwKKwkJCQkgICBkZXYtPm1vZGVfY29uZmlnLmxlZ2FjeV90dl9tb2RlX3Byb3BlcnR5LAog CQkJCSAgIFZDNF9WRUNfVFZfTU9ERV9OVFNDKTsKIAogCWRybV9jb25uZWN0b3JfYXR0YWNoX2Vu Y29kZXIoY29ubmVjdG9yLCAmdmVjLT5lbmNvZGVyLmJhc2UpOwpAQCAtMzYxLDcgKzM2MSw3IEBA IHN0YXRpYyB2b2lkIHZjNF92ZWNfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAogCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlID0KIAkJZHJt X2F0b21pY19nZXRfbmV3X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yKTsKIAljb25z dCBzdHJ1Y3QgdmM0X3ZlY190dl9tb2RlICp0dl9tb2RlID0KLQkJJnZjNF92ZWNfdHZfbW9kZXNb Y29ubl9zdGF0ZS0+dHYubW9kZV07CisJCSZ2YzRfdmVjX3R2X21vZGVzW2Nvbm5fc3RhdGUtPnR2 LmxlZ2FjeV9tb2RlXTsKIAlpbnQgaWR4LCByZXQ7CiAKIAlpZiAoIWRybV9kZXZfZW50ZXIoZHJt LCAmaWR4KSkKQEAgLTQ0OSw3ICs0NDksNyBAQCBzdGF0aWMgaW50IHZjNF92ZWNfZW5jb2Rlcl9h dG9taWNfY2hlY2soc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogewogCWNvbnN0IHN0cnVj dCB2YzRfdmVjX3R2X21vZGUgKnZlY19tb2RlOwogCi0JdmVjX21vZGUgPSAmdmM0X3ZlY190dl9t b2Rlc1tjb25uX3N0YXRlLT50di5tb2RlXTsKKwl2ZWNfbW9kZSA9ICZ2YzRfdmVjX3R2X21vZGVz W2Nvbm5fc3RhdGUtPnR2LmxlZ2FjeV9tb2RlXTsKIAogCWlmIChjb25uX3N0YXRlLT5jcnRjICYm CiAJICAgICFkcm1fbW9kZV9lcXVhbCh2ZWNfbW9kZS0+bW9kZSwgJmNydGNfc3RhdGUtPmFkanVz dGVkX21vZGUpKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5j bHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCmluZGV4IGIxYjJkZjQ4ZDQyYy4uZjkzZjgzMTYxZWQ1 IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oCkBAIC02OTUsNyArNjk1LDcgQEAgc3RydWN0IGRybV9jb25uZWN0 b3JfdHZfbWFyZ2lucyB7CiAgKiBAc2VsZWN0X3N1YmNvbm5lY3Rvcjogc2VsZWN0ZWQgc3ViY29u bmVjdG9yCiAgKiBAc3ViY29ubmVjdG9yOiBkZXRlY3RlZCBzdWJjb25uZWN0b3IKICAqIEBtYXJn aW5zOiBUViBtYXJnaW5zCi0gKiBAbW9kZTogVFYgbW9kZQorICogQGxlZ2FjeV9tb2RlOiBMZWdh Y3kgVFYgbW9kZSwgZHJpdmVyIHNwZWNpZmljIHZhbHVlCiAgKiBAYnJpZ2h0bmVzczogYnJpZ2h0 bmVzcyBpbiBwZXJjZW50CiAgKiBAY29udHJhc3Q6IGNvbnRyYXN0IGluIHBlcmNlbnQKICAqIEBm bGlja2VyX3JlZHVjdGlvbjogZmxpY2tlciByZWR1Y3Rpb24gaW4gcGVyY2VudApAQCAtNzA3LDcg KzcwNyw3IEBAIHN0cnVjdCBkcm1fdHZfY29ubmVjdG9yX3N0YXRlIHsKIAllbnVtIGRybV9tb2Rl X3N1YmNvbm5lY3RvciBzZWxlY3Rfc3ViY29ubmVjdG9yOwogCWVudW0gZHJtX21vZGVfc3ViY29u bmVjdG9yIHN1YmNvbm5lY3RvcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl90dl9tYXJnaW5zIG1h cmdpbnM7Ci0JdW5zaWduZWQgaW50IG1vZGU7CisJdW5zaWduZWQgaW50IGxlZ2FjeV9tb2RlOwog CXVuc2lnbmVkIGludCBicmlnaHRuZXNzOwogCXVuc2lnbmVkIGludCBjb250cmFzdDsKIAl1bnNp Z25lZCBpbnQgZmxpY2tlcl9yZWR1Y3Rpb247CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f bW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCmluZGV4IDUzNjI3 MDJmZmZlMS4uYzQ3YjI5ZTgwMTA4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9j b25maWcuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaApAQCAtNzEyLDExICs3 MTIsMTMgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7CiAJICogYmV0d2VlbiBkaWZmZXJlbnQg VFYgY29ubmVjdG9yIHR5cGVzLgogCSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKnR2X3NlbGVj dF9zdWJjb25uZWN0b3JfcHJvcGVydHk7CisKIAkvKioKLQkgKiBAdHZfbW9kZV9wcm9wZXJ0eTog T3B0aW9uYWwgVFYgcHJvcGVydHkgdG8gc2VsZWN0CisJICogQGxlZ2FjeV90dl9tb2RlX3Byb3Bl cnR5OiBPcHRpb25hbCBUViBwcm9wZXJ0eSB0byBzZWxlY3QKIAkgKiB0aGUgb3V0cHV0IFRWIG1v ZGUuCiAJICovCi0Jc3RydWN0IGRybV9wcm9wZXJ0eSAqdHZfbW9kZV9wcm9wZXJ0eTsKKwlzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpsZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eTsKKwogCS8qKgogCSAqIEB0 dl9sZWZ0X21hcmdpbl9wcm9wZXJ0eTogT3B0aW9uYWwgVFYgcHJvcGVydHkgdG8gc2V0IHRoZSBs ZWZ0CiAJICogbWFyZ2luIChleHByZXNzZWQgaW4gcGl4ZWxzKS4KCi0tIApiNCAwLjExLjAtZGV2 LTk5ZTNhCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg== 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 BD8DBFA373E for ; Wed, 26 Oct 2022 15:34:54 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8389510E491; Wed, 26 Oct 2022 15:33:51 +0000 (UTC) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B9BE10E2DA; Wed, 26 Oct 2022 15:33:37 +0000 (UTC) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id 7BB4758025D; Wed, 26 Oct 2022 11:33:36 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 26 Oct 2022 11:33:36 -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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=k hLxn4JbYa0WL3KqQHvmX1gOhql6f5ZMHNs8pNsvgt3zLqLQBsPRqXePng3CKKwg9 E9IY7YmEeKNeaW+LUiQvm369iK4lkWouALks91z5LJUXkxzCNenSWM2AtfRdJmUL 0unPyFQZIheIRPfYbwI6cvP0Vx6sUpgA4Vv4flUWgg/Lq1692R65PNz1ppFGOrD3 B78bL7VqT2q/RJ8neSvHwF+NJvnINDtrKzt1nxPuR7vZ772LuRvmJL/nb1g0yV5A u+A16XQCk8YZ+x/byy0G1dqPYXu6ZzjArU/662o7M+/PEqKrVnk2+bJuGJXF+IkL qDr4FUpSUubK8qTNNZPrw== 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=fm3; t=1666798416; x= 1666805616; bh=8wpLFvZYSQ/uDuDcd/0UszwrlkV34BWHsEHg7Vs3dpQ=; b=F cju/Djo6fQYYQbLnX/Ijpe92XNYcZ1ninrIO11cydRFArDfuxJNJgfdOtOO0miCB lLEoHlzEv6CcgFg3Kf/AzvaFD5AiBHPnZjZhKiksyGP5Xnz7DqR3p2bNDDdgHvI0 3b/HqeP+W0h0GLsG6s/njOJP2yLFe5Dkf00LIoFOSHFiWviCfM9nMGIfck+BG3z1 QAxcxCBwvH/qQKjxwVrT458kKIGRww2kIeXTfYB67M8lg4T4TVq8NuIgVJ/F/ECE yDyXQpv1CnYP4vcomNKdeSHgq8Ytd4QRIfyld67eDGbrQ/3/kQqPTEu4ydPkhRSd gjvoVQkaMk62meG2nsUfw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtddvgdeltdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepmhgrgihi mhgvsegtvghrnhhordhtvggthhenucggtffrrghtthgvrhhnpeegudevgeehgedtheeuff egledugfetveevveeivdfhtedvhfduffeuudetkeevgeenucffohhmrghinhepmhgrrhhg ihhnshdrthhophenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 26 Oct 2022 11:33:35 -0400 (EDT) From: maxime@cerno.tech Date: Wed, 26 Oct 2022 17:33:21 +0200 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v6-2-e7792734108f@cerno.tech> References: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v6-0-e7792734108f@cerno.tech> To: 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 X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10911; i=maxime@cerno.tech; h=from:subject:message-id; bh=WoUTSUurxmxtkfur6YS9c7sw9Fm3hf3dmndakf2g2aQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMmRwW7Ka1d73mycZfXh8qHyDr7jtct3mTrFRpp8emyvqXa4 9qN3RykLgxgXg6yYIkuMsPmSuFOzXney8c2DmcPKBDKEgYtTACYy8yIjw7rN4p1hLvr/d97XS5zHs/ 3YpuOnY2V3PL+wRW9bgn/in0sMf3h9D+9Yx9f1I+doBkvsNpYPJ6be/VUicO/g1ijVji9hkiwA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D Subject: [Intel-gfx] [PATCH v6 02/23] drm/connector: Rename legacy TV property 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, linux-sunxi@lists.linux.dev, Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , Phil Elwell , linux-arm-kernel@lists.infradead.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The current tv_mode has driver-specific values that don't allow to easily share code using it, either at the userspace or kernel level. Since we're going to introduce a new, generic, property that fit the same purpose, let's rename this one to legacy_tv_mode to make it obvious we should move away from it. Acked-by: Thomas Zimmermann Reviewed-by: Lyude Paul # nouveau Reviewed-by: Noralf Trønnes Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic_uapi.c | 8 ++++---- drivers/gpu/drm/drm_connector.c | 6 +++--- drivers/gpu/drm/gud/gud_connector.c | 6 +++--- drivers/gpu/drm/i2c/ch7006_drv.c | 4 ++-- drivers/gpu/drm/i915/display/intel_tv.c | 3 ++- drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 4 ++-- drivers/gpu/drm/vc4/vc4_vec.c | 8 ++++---- include/drm/drm_connector.h | 4 ++-- include/drm/drm_mode_config.h | 6 ++++-- 9 files changed, 26 insertions(+), 23 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c index c06d0639d552..7f2b9a07fbdf 100644 --- a/drivers/gpu/drm/drm_atomic_uapi.c +++ b/drivers/gpu/drm/drm_atomic_uapi.c @@ -698,8 +698,8 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector, state->tv.margins.top = val; } else if (property == config->tv_bottom_margin_property) { state->tv.margins.bottom = val; - } else if (property == config->tv_mode_property) { - state->tv.mode = val; + } else if (property == config->legacy_tv_mode_property) { + state->tv.legacy_mode = val; } else if (property == config->tv_brightness_property) { state->tv.brightness = val; } else if (property == config->tv_contrast_property) { @@ -808,8 +808,8 @@ drm_atomic_connector_get_property(struct drm_connector *connector, *val = state->tv.margins.top; } else if (property == config->tv_bottom_margin_property) { *val = state->tv.margins.bottom; - } else if (property == config->tv_mode_property) { - *val = state->tv.mode; + } else if (property == config->legacy_tv_mode_property) { + *val = state->tv.legacy_mode; } else if (property == config->tv_brightness_property) { *val = state->tv.brightness; } else if (property == config->tv_contrast_property) { diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index e3142c8142b3..ede6025638d7 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1686,14 +1686,14 @@ int drm_mode_create_tv_properties(struct drm_device *dev, if (drm_mode_create_tv_margin_properties(dev)) goto nomem; - dev->mode_config.tv_mode_property = + dev->mode_config.legacy_tv_mode_property = drm_property_create(dev, DRM_MODE_PROP_ENUM, "mode", num_modes); - if (!dev->mode_config.tv_mode_property) + if (!dev->mode_config.legacy_tv_mode_property) goto nomem; for (i = 0; i < num_modes; i++) - drm_property_add_enum(dev->mode_config.tv_mode_property, + drm_property_add_enum(dev->mode_config.legacy_tv_mode_property, i, modes[i]); dev->mode_config.tv_brightness_property = diff --git a/drivers/gpu/drm/gud/gud_connector.c b/drivers/gpu/drm/gud/gud_connector.c index fa636206f232..86e992b2108b 100644 --- a/drivers/gpu/drm/gud/gud_connector.c +++ b/drivers/gpu/drm/gud/gud_connector.c @@ -303,7 +303,7 @@ static int gud_connector_atomic_check(struct drm_connector *connector, old_state->tv.margins.right != new_state->tv.margins.right || old_state->tv.margins.top != new_state->tv.margins.top || old_state->tv.margins.bottom != new_state->tv.margins.bottom || - old_state->tv.mode != new_state->tv.mode || + old_state->tv.legacy_mode != new_state->tv.legacy_mode || old_state->tv.brightness != new_state->tv.brightness || old_state->tv.contrast != new_state->tv.contrast || old_state->tv.flicker_reduction != new_state->tv.flicker_reduction || @@ -424,7 +424,7 @@ gud_connector_property_lookup(struct drm_connector *connector, u16 prop) case GUD_PROPERTY_TV_BOTTOM_MARGIN: return config->tv_bottom_margin_property; case GUD_PROPERTY_TV_MODE: - return config->tv_mode_property; + return config->legacy_tv_mode_property; case GUD_PROPERTY_TV_BRIGHTNESS: return config->tv_brightness_property; case GUD_PROPERTY_TV_CONTRAST: @@ -454,7 +454,7 @@ static unsigned int *gud_connector_tv_state_val(u16 prop, struct drm_tv_connecto case GUD_PROPERTY_TV_BOTTOM_MARGIN: return &state->margins.bottom; case GUD_PROPERTY_TV_MODE: - return &state->mode; + return &state->legacy_mode; case GUD_PROPERTY_TV_BRIGHTNESS: return &state->brightness; case GUD_PROPERTY_TV_CONTRAST: diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c index 578b738859b9..ef69f9bdeace 100644 --- a/drivers/gpu/drm/i2c/ch7006_drv.c +++ b/drivers/gpu/drm/i2c/ch7006_drv.c @@ -264,7 +264,7 @@ static int ch7006_encoder_create_resources(struct drm_encoder *encoder, priv->hmargin); drm_object_attach_property(&connector->base, conf->tv_bottom_margin_property, priv->vmargin); - drm_object_attach_property(&connector->base, conf->tv_mode_property, + drm_object_attach_property(&connector->base, conf->legacy_tv_mode_property, priv->norm); drm_object_attach_property(&connector->base, conf->tv_brightness_property, priv->brightness); @@ -315,7 +315,7 @@ static int ch7006_encoder_set_property(struct drm_encoder *encoder, ch7006_load_reg(client, state, CH7006_POV); ch7006_load_reg(client, state, CH7006_VPOS); - } else if (property == conf->tv_mode_property) { + } else if (property == conf->legacy_tv_mode_property) { if (connector->dpms != DRM_MODE_DPMS_OFF) return -EINVAL; diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c index dcf89d701f0f..b2f42bf929e2 100644 --- a/drivers/gpu/drm/i915/display/intel_tv.c +++ b/drivers/gpu/drm/i915/display/intel_tv.c @@ -1997,7 +1997,8 @@ intel_tv_init(struct drm_i915_private *dev_priv) } drm_mode_create_tv_properties(dev, i, tv_format_names); - drm_object_attach_property(&connector->base, dev->mode_config.tv_mode_property, + drm_object_attach_property(&connector->base, + dev->mode_config.legacy_tv_mode_property, state->tv.mode); drm_object_attach_property(&connector->base, dev->mode_config.tv_left_margin_property, diff --git a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c index be28e7bd7490..1a15534adc60 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c +++ b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c @@ -662,7 +662,7 @@ static int nv17_tv_create_resources(struct drm_encoder *encoder, conf->tv_subconnector_property, tv_enc->subconnector); drm_object_attach_property(&connector->base, - conf->tv_mode_property, + conf->legacy_tv_mode_property, tv_enc->tv_norm); drm_object_attach_property(&connector->base, conf->tv_flicker_reduction_property, @@ -722,7 +722,7 @@ static int nv17_tv_set_property(struct drm_encoder *encoder, if (encoder->crtc) nv17_tv_update_rescaler(encoder); - } else if (property == conf->tv_mode_property) { + } else if (property == conf->legacy_tv_mode_property) { if (connector->dpms != DRM_MODE_DPMS_OFF) return -EINVAL; diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 92c07e31d632..e6043cf5d40e 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -274,7 +274,7 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) struct drm_display_mode *mode; mode = drm_mode_duplicate(connector->dev, - vc4_vec_tv_modes[state->tv.mode].mode); + vc4_vec_tv_modes[state->tv.legacy_mode].mode); if (!mode) { DRM_ERROR("Failed to create a new display mode\n"); return -ENOMEM; @@ -312,7 +312,7 @@ static int vc4_vec_connector_init(struct drm_device *dev, struct vc4_vec *vec) drm_connector_helper_add(connector, &vc4_vec_connector_helper_funcs); drm_object_attach_property(&connector->base, - dev->mode_config.tv_mode_property, + dev->mode_config.legacy_tv_mode_property, VC4_VEC_TV_MODE_NTSC); drm_connector_attach_encoder(connector, &vec->encoder.base); @@ -361,7 +361,7 @@ static void vc4_vec_encoder_enable(struct drm_encoder *encoder, struct drm_connector_state *conn_state = drm_atomic_get_new_connector_state(state, connector); const struct vc4_vec_tv_mode *tv_mode = - &vc4_vec_tv_modes[conn_state->tv.mode]; + &vc4_vec_tv_modes[conn_state->tv.legacy_mode]; int idx, ret; if (!drm_dev_enter(drm, &idx)) @@ -449,7 +449,7 @@ static int vc4_vec_encoder_atomic_check(struct drm_encoder *encoder, { const struct vc4_vec_tv_mode *vec_mode; - vec_mode = &vc4_vec_tv_modes[conn_state->tv.mode]; + vec_mode = &vc4_vec_tv_modes[conn_state->tv.legacy_mode]; if (conn_state->crtc && !drm_mode_equal(vec_mode->mode, &crtc_state->adjusted_mode)) diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index b1b2df48d42c..f93f83161ed5 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -695,7 +695,7 @@ struct drm_connector_tv_margins { * @select_subconnector: selected subconnector * @subconnector: detected subconnector * @margins: TV margins - * @mode: TV mode + * @legacy_mode: Legacy TV mode, driver specific value * @brightness: brightness in percent * @contrast: contrast in percent * @flicker_reduction: flicker reduction in percent @@ -707,7 +707,7 @@ struct drm_tv_connector_state { enum drm_mode_subconnector select_subconnector; enum drm_mode_subconnector subconnector; struct drm_connector_tv_margins margins; - unsigned int mode; + unsigned int legacy_mode; unsigned int brightness; unsigned int contrast; unsigned int flicker_reduction; diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index 5362702fffe1..c47b29e80108 100644 --- a/include/drm/drm_mode_config.h +++ b/include/drm/drm_mode_config.h @@ -712,11 +712,13 @@ struct drm_mode_config { * between different TV connector types. */ struct drm_property *tv_select_subconnector_property; + /** - * @tv_mode_property: Optional TV property to select + * @legacy_tv_mode_property: Optional TV property to select * the output TV mode. */ - struct drm_property *tv_mode_property; + struct drm_property *legacy_tv_mode_property; + /** * @tv_left_margin_property: Optional TV property to set the left * margin (expressed in pixels). -- b4 0.11.0-dev-99e3a