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 ED25E186E for ; Thu, 10 Nov 2022 11:07:24 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.nyi.internal (Postfix) with ESMTP id E6C87580281; Thu, 10 Nov 2022 06:07:23 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 10 Nov 2022 06:07:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=k tieW/jnkamfGa05JosldGuZeF0W4MjZ8Bc9lleNc7fQsIYIxw/h8hofZdj3GHG1Q 8IsqBX/kO2URiGJQ4gzqpI1+BvjjHvxTVlbcsQgRH/0RMvEjYnhCVTEFbqx8l86h C9bzI+UQCxQC+Zpsdv9H82A6xTIAym6uuJufumbbsbQI0p3BS1c48MLc970glK1G 5UzZcA/5PvQIuFURRaaqUkhDUEVTWTPcqPEkAsVjIYq0sy3hhE1kXwZkU6d/Cmfg lQVEAyvoM8drhKcuY3BzJEyZVicpkOcMvMgcrt1z5YvcU0682uGdTTzzqV4gkHdf xmAd3BYwSILRubp17JwEA== 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=fm1; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=V eXQbvOnV/K29yAtFwfR1hx2K07mjtu7oGw7F7hE7L1/3KGPtSzqlyuPtXrHqPXI1 5YChZmpb4+6H8hJtC95ffcVhWycxR0VF/pPkeVAYXjNxISbq82/dxKVnmqvWk2Yk 0eq0NEPKEu0GA6fjXwst7QuR+nCgFs066sZjTyh7wV6bQebKFm5Bkl/ceIBi9LoY 1YI8JIiWY4m+JqpweS2dp9zz5nm0nR4GkrgLvVnxj1d4agXev0WBlVpOH3asQGSF Ci/PeiLzR0le3saPGC7TXVs3uwAMPNWWHNO1bjJINtjDKrPD7NQl0AS2uq3ds2pR 0JE3QQoOzKEcTmpwY2KrA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpeevjedukeetveevfefhhfdufeektdfgteetgfeijedtffeiffehueehtdeh ieekueenucffohhmrghinhepmhgrrhhgihhnshdrthhophenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggvrhhnohdrthgv tghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:23 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:14 +0100 Subject: [PATCH v8 02/24] 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-v8-2-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs Cc: nouveau@lists.freedesktop.org, Noralf Trønnes , Dom Cobley , intel-gfx@lists.freedesktop.org, Phil Elwell , linux-sunxi@lists.linux.dev, Mateusz Kwiatkowski , Hans de Goede , linux-kernel@vger.kernel.org, Maxime Ripard , Dave Stevenson , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10975; i=maxime@cerno.tech; h=from:subject:message-id; bh=4/v6ZZkuOFO0GrAnt42Qzl6TxX9oTDP+dViD12JztH8=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1MOXTZb/c6tJVogvvfM7NvvrzkLxG9aVfbloJ5n49U+ s5M2HaUsDGJcDLJiiiwxwuZL4k7Net3JxjcPZg4rE8gQBi5OAZiI/StGhvMXFbMfsskUXrFosTZZUL hAPN1p6bk1HodcZAWsZsyfvp7hf6rY5seJXdqnQ8+vWff8FdMJHstbM0LMxcuvRk55d2JmIxsA 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 Tested-by: Mateusz Kwiatkowski 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 | 2 +- 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, 25 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 547356e00341..05edff79d312 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1690,14 +1690,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 cf7d5c1ab406..95b021da5a11 100644 --- a/drivers/gpu/drm/i915/display/intel_tv.c +++ b/drivers/gpu/drm/i915/display/intel_tv.c @@ -1906,7 +1906,7 @@ static void intel_tv_add_properties(struct drm_connector *connector) drm_mode_create_tv_properties(&i915->drm, i, tv_format_names); drm_object_attach_property(&connector->base, - i915->drm.mode_config.tv_mode_property, + i915->drm.mode_config.legacy_tv_mode_property, conn_state->tv.mode); drm_object_attach_property(&connector->base, i915->drm.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 e641a4725f99..f18c2ba113d7 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 89DA9C4332F for ; Thu, 10 Nov 2022 11:08:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2DC1D10E6D7; Thu, 10 Nov 2022 11:07:34 +0000 (UTC) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8382110E138; Thu, 10 Nov 2022 11:07:24 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.nyi.internal (Postfix) with ESMTP id E6C87580281; Thu, 10 Nov 2022 06:07:23 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 10 Nov 2022 06:07:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=k tieW/jnkamfGa05JosldGuZeF0W4MjZ8Bc9lleNc7fQsIYIxw/h8hofZdj3GHG1Q 8IsqBX/kO2URiGJQ4gzqpI1+BvjjHvxTVlbcsQgRH/0RMvEjYnhCVTEFbqx8l86h C9bzI+UQCxQC+Zpsdv9H82A6xTIAym6uuJufumbbsbQI0p3BS1c48MLc970glK1G 5UzZcA/5PvQIuFURRaaqUkhDUEVTWTPcqPEkAsVjIYq0sy3hhE1kXwZkU6d/Cmfg lQVEAyvoM8drhKcuY3BzJEyZVicpkOcMvMgcrt1z5YvcU0682uGdTTzzqV4gkHdf xmAd3BYwSILRubp17JwEA== 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=fm1; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=V eXQbvOnV/K29yAtFwfR1hx2K07mjtu7oGw7F7hE7L1/3KGPtSzqlyuPtXrHqPXI1 5YChZmpb4+6H8hJtC95ffcVhWycxR0VF/pPkeVAYXjNxISbq82/dxKVnmqvWk2Yk 0eq0NEPKEu0GA6fjXwst7QuR+nCgFs066sZjTyh7wV6bQebKFm5Bkl/ceIBi9LoY 1YI8JIiWY4m+JqpweS2dp9zz5nm0nR4GkrgLvVnxj1d4agXev0WBlVpOH3asQGSF Ci/PeiLzR0le3saPGC7TXVs3uwAMPNWWHNO1bjJINtjDKrPD7NQl0AS2uq3ds2pR 0JE3QQoOzKEcTmpwY2KrA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpeevjedukeetveevfefhhfdufeektdfgteetgfeijedtffeiffehueehtdeh ieekueenucffohhmrghinhepmhgrrhhgihhnshdrthhophenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggvrhhnohdrthgv tghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:23 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:14 +0100 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v8-2-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10975; i=maxime@cerno.tech; h=from:subject:message-id; bh=4/v6ZZkuOFO0GrAnt42Qzl6TxX9oTDP+dViD12JztH8=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1MOXTZb/c6tJVogvvfM7NvvrzkLxG9aVfbloJ5n49U+ s5M2HaUsDGJcDLJiiiwxwuZL4k7Net3JxjcPZg4rE8gQBi5OAZiI/StGhvMXFbMfsskUXrFosTZZUL hAPN1p6bk1HodcZAWsZsyfvp7hf6rY5seJXdqnQ8+vWff8FdMJHstbM0LMxcuvRk55d2JmIxsA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D Subject: [Nouveau] [PATCH v8 02/24] 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, Phil Elwell , Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, 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 Tested-by: Mateusz Kwiatkowski 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 | 2 +- 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, 25 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 547356e00341..05edff79d312 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1690,14 +1690,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 cf7d5c1ab406..95b021da5a11 100644 --- a/drivers/gpu/drm/i915/display/intel_tv.c +++ b/drivers/gpu/drm/i915/display/intel_tv.c @@ -1906,7 +1906,7 @@ static void intel_tv_add_properties(struct drm_connector *connector) drm_mode_create_tv_properties(&i915->drm, i, tv_format_names); drm_object_attach_property(&connector->base, - i915->drm.mode_config.tv_mode_property, + i915->drm.mode_config.legacy_tv_mode_property, conn_state->tv.mode); drm_object_attach_property(&connector->base, i915->drm.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 e641a4725f99..f18c2ba113d7 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 CD1C8C4332F for ; Thu, 10 Nov 2022 11:08:17 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9D4BD10E6CE; Thu, 10 Nov 2022 11:07:31 +0000 (UTC) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8382110E138; Thu, 10 Nov 2022 11:07:24 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.nyi.internal (Postfix) with ESMTP id E6C87580281; Thu, 10 Nov 2022 06:07:23 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 10 Nov 2022 06:07:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=k tieW/jnkamfGa05JosldGuZeF0W4MjZ8Bc9lleNc7fQsIYIxw/h8hofZdj3GHG1Q 8IsqBX/kO2URiGJQ4gzqpI1+BvjjHvxTVlbcsQgRH/0RMvEjYnhCVTEFbqx8l86h C9bzI+UQCxQC+Zpsdv9H82A6xTIAym6uuJufumbbsbQI0p3BS1c48MLc970glK1G 5UzZcA/5PvQIuFURRaaqUkhDUEVTWTPcqPEkAsVjIYq0sy3hhE1kXwZkU6d/Cmfg lQVEAyvoM8drhKcuY3BzJEyZVicpkOcMvMgcrt1z5YvcU0682uGdTTzzqV4gkHdf xmAd3BYwSILRubp17JwEA== 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=fm1; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=V eXQbvOnV/K29yAtFwfR1hx2K07mjtu7oGw7F7hE7L1/3KGPtSzqlyuPtXrHqPXI1 5YChZmpb4+6H8hJtC95ffcVhWycxR0VF/pPkeVAYXjNxISbq82/dxKVnmqvWk2Yk 0eq0NEPKEu0GA6fjXwst7QuR+nCgFs066sZjTyh7wV6bQebKFm5Bkl/ceIBi9LoY 1YI8JIiWY4m+JqpweS2dp9zz5nm0nR4GkrgLvVnxj1d4agXev0WBlVpOH3asQGSF Ci/PeiLzR0le3saPGC7TXVs3uwAMPNWWHNO1bjJINtjDKrPD7NQl0AS2uq3ds2pR 0JE3QQoOzKEcTmpwY2KrA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpeevjedukeetveevfefhhfdufeektdfgteetgfeijedtffeiffehueehtdeh ieekueenucffohhmrghinhepmhgrrhhgihhnshdrthhophenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggvrhhnohdrthgv tghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:23 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:14 +0100 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v8-2-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10975; i=maxime@cerno.tech; h=from:subject:message-id; bh=4/v6ZZkuOFO0GrAnt42Qzl6TxX9oTDP+dViD12JztH8=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1MOXTZb/c6tJVogvvfM7NvvrzkLxG9aVfbloJ5n49U+ s5M2HaUsDGJcDLJiiiwxwuZL4k7Net3JxjcPZg4rE8gQBi5OAZiI/StGhvMXFbMfsskUXrFosTZZUL hAPN1p6bk1HodcZAWsZsyfvp7hf6rY5seJXdqnQ8+vWff8FdMJHstbM0LMxcuvRk55d2JmIxsA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D Subject: [Intel-gfx] [PATCH v8 02/24] 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, Phil Elwell , Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, 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 Tested-by: Mateusz Kwiatkowski 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 | 2 +- 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, 25 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 547356e00341..05edff79d312 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1690,14 +1690,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 cf7d5c1ab406..95b021da5a11 100644 --- a/drivers/gpu/drm/i915/display/intel_tv.c +++ b/drivers/gpu/drm/i915/display/intel_tv.c @@ -1906,7 +1906,7 @@ static void intel_tv_add_properties(struct drm_connector *connector) drm_mode_create_tv_properties(&i915->drm, i, tv_format_names); drm_object_attach_property(&connector->base, - i915->drm.mode_config.tv_mode_property, + i915->drm.mode_config.legacy_tv_mode_property, conn_state->tv.mode); drm_object_attach_property(&connector->base, i915->drm.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 e641a4725f99..f18c2ba113d7 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 69249C433FE for ; Thu, 10 Nov 2022 11:09:02 +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=rxxKSNwm9VK2n2LVQ9Z36j2oRpdHg7ZOZVzy5H2z13g=; b=Y/QPherIBMduxv TKFTGz9CJslMFDDgbicZOBtHm1aFSOs8tjcg4W7sF16cW7agxYzLmWlUEbb+NWkl5RsRogsPtlNys pkmM4ZjJ/QSoLXVFlVkUpD6zFifuKafe5UqzB4m7dg+vO/ijpnjXj/0zcernCp+mihfdY/hBF6LFD mvfnLaRIMGjfjKwT16Ch8a9oMCetqg054imlaonKs8chrIsygQP7H3G5TBJpiwLfqRWGlfKEfjCVp yVkiwYPDg+Y/v+QUk7sMhXkTN+C6glERvLKonN9o0f8MMumcDhgxlrd1i5g2hTLH9SS60nCDRVv4/ nOss7HdoPepcrbXxGZ3Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ot5PS-005Dqd-D9; Thu, 10 Nov 2022 11:07:50 +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 1ot5P2-005DfT-Gx for linux-arm-kernel@lists.infradead.org; Thu, 10 Nov 2022 11:07:26 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.nyi.internal (Postfix) with ESMTP id E6C87580281; Thu, 10 Nov 2022 06:07:23 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 10 Nov 2022 06:07:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=k tieW/jnkamfGa05JosldGuZeF0W4MjZ8Bc9lleNc7fQsIYIxw/h8hofZdj3GHG1Q 8IsqBX/kO2URiGJQ4gzqpI1+BvjjHvxTVlbcsQgRH/0RMvEjYnhCVTEFbqx8l86h C9bzI+UQCxQC+Zpsdv9H82A6xTIAym6uuJufumbbsbQI0p3BS1c48MLc970glK1G 5UzZcA/5PvQIuFURRaaqUkhDUEVTWTPcqPEkAsVjIYq0sy3hhE1kXwZkU6d/Cmfg lQVEAyvoM8drhKcuY3BzJEyZVicpkOcMvMgcrt1z5YvcU0682uGdTTzzqV4gkHdf xmAd3BYwSILRubp17JwEA== 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=fm1; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=V eXQbvOnV/K29yAtFwfR1hx2K07mjtu7oGw7F7hE7L1/3KGPtSzqlyuPtXrHqPXI1 5YChZmpb4+6H8hJtC95ffcVhWycxR0VF/pPkeVAYXjNxISbq82/dxKVnmqvWk2Yk 0eq0NEPKEu0GA6fjXwst7QuR+nCgFs066sZjTyh7wV6bQebKFm5Bkl/ceIBi9LoY 1YI8JIiWY4m+JqpweS2dp9zz5nm0nR4GkrgLvVnxj1d4agXev0WBlVpOH3asQGSF Ci/PeiLzR0le3saPGC7TXVs3uwAMPNWWHNO1bjJINtjDKrPD7NQl0AS2uq3ds2pR 0JE3QQoOzKEcTmpwY2KrA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpeevjedukeetveevfefhhfdufeektdfgteetgfeijedtffeiffehueehtdeh ieekueenucffohhmrghinhepmhgrrhhgihhnshdrthhophenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggvrhhnohdrthgv tghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:23 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:14 +0100 Subject: [PATCH v8 02/24] drm/connector: Rename legacy TV property MIME-Version: 1.0 Message-Id: <20220728-rpi-analog-tv-properties-v8-2-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs Cc: nouveau@lists.freedesktop.org, Noralf Trønnes , Dom Cobley , intel-gfx@lists.freedesktop.org, Phil Elwell , linux-sunxi@lists.linux.dev, Mateusz Kwiatkowski , Hans de Goede , linux-kernel@vger.kernel.org, Maxime Ripard , Dave Stevenson , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10975; i=maxime@cerno.tech; h=from:subject:message-id; bh=4/v6ZZkuOFO0GrAnt42Qzl6TxX9oTDP+dViD12JztH8=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1MOXTZb/c6tJVogvvfM7NvvrzkLxG9aVfbloJ5n49U+ s5M2HaUsDGJcDLJiiiwxwuZL4k7Net3JxjcPZg4rE8gQBi5OAZiI/StGhvMXFbMfsskUXrFosTZZUL hAPN1p6bk1HodcZAWsZsyfvp7hf6rY5seJXdqnQ8+vWff8FdMJHstbM0LMxcuvRk55d2JmIxsA 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-20221110_030724_724102_2FCFC23F X-CRM114-Status: GOOD ( 17.72 ) 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 Lm9yZz4KVGVzdGVkLWJ5OiBNYXRldXN6IEt3aWF0a293c2tpIDxrZnlhdGVrK3B1YmxpY2dpdEBn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1heGltZSBSaXBhcmQgPG1heGltZUBjZXJuby50ZWNo PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyAgICAgICAgIHwgOCArKysr LS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgICAgICAgfCA2ICsrKy0t LQogZHJpdmVycy9ncHUvZHJtL2d1ZC9ndWRfY29ubmVjdG9yLmMgICAgICAgfCA2ICsrKy0tLQog ZHJpdmVycy9ncHUvZHJtL2kyYy9jaDcwMDZfZHJ2LmMgICAgICAgICAgfCA0ICsrLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdHYuYyAgIHwgMiArLQogZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvZGlzcG52MDQvdHZudjE3LmMgfCA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X3ZlYy5jICAgICAgICAgICAgIHwgOCArKysrLS0tLQogaW5jbHVkZS9kcm0vZHJtX2Nv bm5lY3Rvci5oICAgICAgICAgICAgICAgfCA0ICsrLS0KIGluY2x1ZGUvZHJtL2RybV9tb2RlX2Nv bmZpZy5oICAgICAgICAgICAgIHwgNiArKysrLS0KIDkgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0 aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfdWFwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCmluZGV4 IGMwNmQwNjM5ZDU1Mi4uN2YyYjlhMDdmYmRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5j CkBAIC02OTgsOCArNjk4LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJc3RhdGUtPnR2Lm1h cmdpbnMudG9wID0gdmFsOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT50dl9ib3R0 b21fbWFyZ2luX3Byb3BlcnR5KSB7CiAJCXN0YXRlLT50di5tYXJnaW5zLmJvdHRvbSA9IHZhbDsK LQl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+dHZfbW9kZV9wcm9wZXJ0eSkgewotCQlz dGF0ZS0+dHYubW9kZSA9IHZhbDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+bGVn YWN5X3R2X21vZGVfcHJvcGVydHkpIHsKKwkJc3RhdGUtPnR2LmxlZ2FjeV9tb2RlID0gdmFsOwog CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT50dl9icmlnaHRuZXNzX3Byb3BlcnR5KSB7 CiAJCXN0YXRlLT50di5icmlnaHRuZXNzID0gdmFsOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0g Y29uZmlnLT50dl9jb250cmFzdF9wcm9wZXJ0eSkgewpAQCAtODA4LDggKzgwOCw4IEBAIGRybV9h dG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAogCQkqdmFsID0gc3RhdGUtPnR2Lm1hcmdpbnMudG9wOwogCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT50dl9ib3R0b21fbWFyZ2luX3Byb3BlcnR5KSB7CiAJCSp2YWwgPSBzdGF0 ZS0+dHYubWFyZ2lucy5ib3R0b207Ci0JfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnR2 X21vZGVfcHJvcGVydHkpIHsKLQkJKnZhbCA9IHN0YXRlLT50di5tb2RlOworCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gY29uZmlnLT5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eSkgeworCQkqdmFsID0g c3RhdGUtPnR2LmxlZ2FjeV9tb2RlOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT50 dl9icmlnaHRuZXNzX3Byb3BlcnR5KSB7CiAJCSp2YWwgPSBzdGF0ZS0+dHYuYnJpZ2h0bmVzczsK IAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+dHZfY29udHJhc3RfcHJvcGVydHkpIHsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jCmluZGV4IDU0NzM1NmUwMDM0MS4uMDVlZGZmNzlkMzEyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY29ubmVjdG9yLmMKQEAgLTE2OTAsMTQgKzE2OTAsMTQgQEAgaW50IGRybV9t b2RlX2NyZWF0ZV90dl9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYgKGRy bV9tb2RlX2NyZWF0ZV90dl9tYXJnaW5fcHJvcGVydGllcyhkZXYpKQogCQlnb3RvIG5vbWVtOwog Ci0JZGV2LT5tb2RlX2NvbmZpZy50dl9tb2RlX3Byb3BlcnR5ID0KKwlkZXYtPm1vZGVfY29uZmln LmxlZ2FjeV90dl9tb2RlX3Byb3BlcnR5ID0KIAkJZHJtX3Byb3BlcnR5X2NyZWF0ZShkZXYsIERS TV9NT0RFX1BST1BfRU5VTSwKIAkJCQkgICAgIm1vZGUiLCBudW1fbW9kZXMpOwotCWlmICghZGV2 LT5tb2RlX2NvbmZpZy50dl9tb2RlX3Byb3BlcnR5KQorCWlmICghZGV2LT5tb2RlX2NvbmZpZy5s ZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eSkKIAkJZ290byBub21lbTsKIAogCWZvciAoaSA9IDA7IGkg PCBudW1fbW9kZXM7IGkrKykKLQkJZHJtX3Byb3BlcnR5X2FkZF9lbnVtKGRldi0+bW9kZV9jb25m aWcudHZfbW9kZV9wcm9wZXJ0eSwKKwkJZHJtX3Byb3BlcnR5X2FkZF9lbnVtKGRldi0+bW9kZV9j b25maWcubGVnYWN5X3R2X21vZGVfcHJvcGVydHksCiAJCQkJICAgICAgaSwgbW9kZXNbaV0pOwog CiAJZGV2LT5tb2RlX2NvbmZpZy50dl9icmlnaHRuZXNzX3Byb3BlcnR5ID0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9ndWQvZ3VkX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2d1 ZC9ndWRfY29ubmVjdG9yLmMKaW5kZXggZmE2MzYyMDZmMjMyLi44NmU5OTJiMjEwOGIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ndWQvZ3VkX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9ndWQvZ3VkX2Nvbm5lY3Rvci5jCkBAIC0zMDMsNyArMzAzLDcgQEAgc3RhdGljIGlu dCBndWRfY29ubmVjdG9yX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAogCSAgICBvbGRfc3RhdGUtPnR2Lm1hcmdpbnMucmlnaHQgIT0gbmV3X3N0YXRlLT50di5t YXJnaW5zLnJpZ2h0IHx8CiAJICAgIG9sZF9zdGF0ZS0+dHYubWFyZ2lucy50b3AgIT0gbmV3X3N0 YXRlLT50di5tYXJnaW5zLnRvcCB8fAogCSAgICBvbGRfc3RhdGUtPnR2Lm1hcmdpbnMuYm90dG9t ICE9IG5ld19zdGF0ZS0+dHYubWFyZ2lucy5ib3R0b20gfHwKLQkgICAgb2xkX3N0YXRlLT50di5t b2RlICE9IG5ld19zdGF0ZS0+dHYubW9kZSB8fAorCSAgICBvbGRfc3RhdGUtPnR2LmxlZ2FjeV9t b2RlICE9IG5ld19zdGF0ZS0+dHYubGVnYWN5X21vZGUgfHwKIAkgICAgb2xkX3N0YXRlLT50di5i cmlnaHRuZXNzICE9IG5ld19zdGF0ZS0+dHYuYnJpZ2h0bmVzcyB8fAogCSAgICBvbGRfc3RhdGUt PnR2LmNvbnRyYXN0ICE9IG5ld19zdGF0ZS0+dHYuY29udHJhc3QgfHwKIAkgICAgb2xkX3N0YXRl LT50di5mbGlja2VyX3JlZHVjdGlvbiAhPSBuZXdfc3RhdGUtPnR2LmZsaWNrZXJfcmVkdWN0aW9u IHx8CkBAIC00MjQsNyArNDI0LDcgQEAgZ3VkX2Nvbm5lY3Rvcl9wcm9wZXJ0eV9sb29rdXAoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTE2IHByb3ApCiAJY2FzZSBHVURfUFJPUEVS VFlfVFZfQk9UVE9NX01BUkdJTjoKIAkJcmV0dXJuIGNvbmZpZy0+dHZfYm90dG9tX21hcmdpbl9w cm9wZXJ0eTsKIAljYXNlIEdVRF9QUk9QRVJUWV9UVl9NT0RFOgotCQlyZXR1cm4gY29uZmlnLT50 dl9tb2RlX3Byb3BlcnR5OworCQlyZXR1cm4gY29uZmlnLT5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0 eTsKIAljYXNlIEdVRF9QUk9QRVJUWV9UVl9CUklHSFRORVNTOgogCQlyZXR1cm4gY29uZmlnLT50 dl9icmlnaHRuZXNzX3Byb3BlcnR5OwogCWNhc2UgR1VEX1BST1BFUlRZX1RWX0NPTlRSQVNUOgpA QCAtNDU0LDcgKzQ1NCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgKmd1ZF9jb25uZWN0b3JfdHZf c3RhdGVfdmFsKHUxNiBwcm9wLCBzdHJ1Y3QgZHJtX3R2X2Nvbm5lY3RvCiAJY2FzZSBHVURfUFJP UEVSVFlfVFZfQk9UVE9NX01BUkdJTjoKIAkJcmV0dXJuICZzdGF0ZS0+bWFyZ2lucy5ib3R0b207 CiAJY2FzZSBHVURfUFJPUEVSVFlfVFZfTU9ERToKLQkJcmV0dXJuICZzdGF0ZS0+bW9kZTsKKwkJ cmV0dXJuICZzdGF0ZS0+bGVnYWN5X21vZGU7CiAJY2FzZSBHVURfUFJPUEVSVFlfVFZfQlJJR0hU TkVTUzoKIAkJcmV0dXJuICZzdGF0ZS0+YnJpZ2h0bmVzczsKIAljYXNlIEdVRF9QUk9QRVJUWV9U Vl9DT05UUkFTVDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvY2g3MDA2X2Rydi5j IGIvZHJpdmVycy9ncHUvZHJtL2kyYy9jaDcwMDZfZHJ2LmMKaW5kZXggNTc4YjczODg1OWI5Li5l ZjY5ZjliZGVhY2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvY2g3MDA2X2Rydi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvY2g3MDA2X2Rydi5jCkBAIC0yNjQsNyArMjY0LDcg QEAgc3RhdGljIGludCBjaDcwMDZfZW5jb2Rlcl9jcmVhdGVfcmVzb3VyY2VzKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgICBwcml2LT5obWFyZ2luKTsKIAlkcm1fb2JqZWN0 X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBjb25mLT50dl9ib3R0b21fbWFyZ2lu X3Byb3BlcnR5LAogCQkJCSAgICAgIHByaXYtPnZtYXJnaW4pOwotCWRybV9vYmplY3RfYXR0YWNo X3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsIGNvbmYtPnR2X21vZGVfcHJvcGVydHksCisJZHJt X29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwgY29uZi0+bGVnYWN5X3R2 X21vZGVfcHJvcGVydHksCiAJCQkJICAgICAgcHJpdi0+bm9ybSk7CiAJZHJtX29iamVjdF9hdHRh Y2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwgY29uZi0+dHZfYnJpZ2h0bmVzc19wcm9wZXJ0 eSwKIAkJCQkgICAgICBwcml2LT5icmlnaHRuZXNzKTsKQEAgLTMxNSw3ICszMTUsNyBAQCBzdGF0 aWMgaW50IGNoNzAwNl9lbmNvZGVyX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCiAJCWNoNzAwNl9sb2FkX3JlZyhjbGllbnQsIHN0YXRlLCBDSDcwMDZfUE9WKTsKIAkJ Y2g3MDA2X2xvYWRfcmVnKGNsaWVudCwgc3RhdGUsIENINzAwNl9WUE9TKTsKIAotCX0gZWxzZSBp ZiAocHJvcGVydHkgPT0gY29uZi0+dHZfbW9kZV9wcm9wZXJ0eSkgeworCX0gZWxzZSBpZiAocHJv cGVydHkgPT0gY29uZi0+bGVnYWN5X3R2X21vZGVfcHJvcGVydHkpIHsKIAkJaWYgKGNvbm5lY3Rv ci0+ZHBtcyAhPSBEUk1fTU9ERV9EUE1TX09GRikKIAkJCXJldHVybiAtRUlOVkFMOwogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMKaW5kZXggY2Y3ZDVjMWFiNDA2Li45NWIw MjFkYTVhMTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf dHYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMKQEAgLTE5 MDYsNyArMTkwNiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3R2X2FkZF9wcm9wZXJ0aWVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJZHJtX21vZGVfY3JlYXRlX3R2X3Byb3BlcnRp ZXMoJmk5MTUtPmRybSwgaSwgdHZfZm9ybWF0X25hbWVzKTsKIAogCWRybV9vYmplY3RfYXR0YWNo X3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsCi0JCQkJICAgaTkxNS0+ZHJtLm1vZGVfY29uZmln LnR2X21vZGVfcHJvcGVydHksCisJCQkJICAgaTkxNS0+ZHJtLm1vZGVfY29uZmlnLmxlZ2FjeV90 dl9tb2RlX3Byb3BlcnR5LAogCQkJCSAgIGNvbm5fc3RhdGUtPnR2Lm1vZGUpOwogCWRybV9vYmpl Y3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsCiAJCQkJICAgaTkxNS0+ZHJtLm1v ZGVfY29uZmlnLnR2X2xlZnRfbWFyZ2luX3Byb3BlcnR5LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvZGlzcG52MDQvdHZudjE3LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9kaXNwbnYwNC90dm52MTcuYwppbmRleCBiZTI4ZTdiZDc0OTAuLjFhMTU1MzRhZGM2MCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52MDQvdHZudjE3LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52MDQvdHZudjE3LmMKQEAgLTY2Miw3ICs2NjIs NyBAQCBzdGF0aWMgaW50IG52MTdfdHZfY3JlYXRlX3Jlc291cmNlcyhzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIsCiAJCQkJCWNvbmYtPnR2X3N1YmNvbm5lY3Rvcl9wcm9wZXJ0eSwKIAkJCQkJ dHZfZW5jLT5zdWJjb25uZWN0b3IpOwogCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25u ZWN0b3ItPmJhc2UsCi0JCQkJCWNvbmYtPnR2X21vZGVfcHJvcGVydHksCisJCQkJCWNvbmYtPmxl Z2FjeV90dl9tb2RlX3Byb3BlcnR5LAogCQkJCQl0dl9lbmMtPnR2X25vcm0pOwogCWRybV9vYmpl Y3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsCiAJCQkJCWNvbmYtPnR2X2ZsaWNr ZXJfcmVkdWN0aW9uX3Byb3BlcnR5LApAQCAtNzIyLDcgKzcyMiw3IEBAIHN0YXRpYyBpbnQgbnYx N190dl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQlpZiAoZW5j b2Rlci0+Y3J0YykKIAkJCW52MTdfdHZfdXBkYXRlX3Jlc2NhbGVyKGVuY29kZXIpOwogCi0JfSBl bHNlIGlmIChwcm9wZXJ0eSA9PSBjb25mLT50dl9tb2RlX3Byb3BlcnR5KSB7CisJfSBlbHNlIGlm IChwcm9wZXJ0eSA9PSBjb25mLT5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eSkgewogCQlpZiAoY29u bmVjdG9yLT5kcG1zICE9IERSTV9NT0RFX0RQTVNfT0ZGKQogCQkJcmV0dXJuIC1FSU5WQUw7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3ZlYy5jIGIvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfdmVjLmMKaW5kZXggOTJjMDdlMzFkNjMyLi5lNjA0M2NmNWQ0MGUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3ZlYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X3ZlYy5jCkBAIC0yNzQsNyArMjc0LDcgQEAgc3RhdGljIGludCB2YzRfdmVjX2Nv bm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKIAogCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUo Y29ubmVjdG9yLT5kZXYsCi0JCQkJICB2YzRfdmVjX3R2X21vZGVzW3N0YXRlLT50di5tb2RlXS5t b2RlKTsKKwkJCQkgIHZjNF92ZWNfdHZfbW9kZXNbc3RhdGUtPnR2LmxlZ2FjeV9tb2RlXS5tb2Rl KTsKIAlpZiAoIW1vZGUpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRp c3BsYXkgbW9kZVxuIik7CiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMzEyLDcgKzMxMiw3IEBAIHN0 YXRpYyBpbnQgdmM0X3ZlY19jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgdmM0X3ZlYyAqdmVjKQogCWRybV9jb25uZWN0b3JfaGVscGVyX2FkZChjb25uZWN0b3Is ICZ2YzRfdmVjX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOwogCiAJZHJtX29iamVjdF9hdHRhY2hf cHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKLQkJCQkgICBkZXYtPm1vZGVfY29uZmlnLnR2X21v ZGVfcHJvcGVydHksCisJCQkJICAgZGV2LT5tb2RlX2NvbmZpZy5sZWdhY3lfdHZfbW9kZV9wcm9w ZXJ0eSwKIAkJCQkgICBWQzRfVkVDX1RWX01PREVfTlRTQyk7CiAKIAlkcm1fY29ubmVjdG9yX2F0 dGFjaF9lbmNvZGVyKGNvbm5lY3RvciwgJnZlYy0+ZW5jb2Rlci5iYXNlKTsKQEAgLTM2MSw3ICsz NjEsNyBAQCBzdGF0aWMgdm9pZCB2YzRfdmVjX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSA9 CiAJCWRybV9hdG9taWNfZ2V0X25ld19jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7 CiAJY29uc3Qgc3RydWN0IHZjNF92ZWNfdHZfbW9kZSAqdHZfbW9kZSA9Ci0JCSZ2YzRfdmVjX3R2 X21vZGVzW2Nvbm5fc3RhdGUtPnR2Lm1vZGVdOworCQkmdmM0X3ZlY190dl9tb2Rlc1tjb25uX3N0 YXRlLT50di5sZWdhY3lfbW9kZV07CiAJaW50IGlkeCwgcmV0OwogCiAJaWYgKCFkcm1fZGV2X2Vu dGVyKGRybSwgJmlkeCkpCkBAIC00NDksNyArNDQ5LDcgQEAgc3RhdGljIGludCB2YzRfdmVjX2Vu Y29kZXJfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIHsKIAljb25z dCBzdHJ1Y3QgdmM0X3ZlY190dl9tb2RlICp2ZWNfbW9kZTsKIAotCXZlY19tb2RlID0gJnZjNF92 ZWNfdHZfbW9kZXNbY29ubl9zdGF0ZS0+dHYubW9kZV07CisJdmVjX21vZGUgPSAmdmM0X3ZlY190 dl9tb2Rlc1tjb25uX3N0YXRlLT50di5sZWdhY3lfbW9kZV07CiAKIAlpZiAoY29ubl9zdGF0ZS0+ Y3J0YyAmJgogCSAgICAhZHJtX21vZGVfZXF1YWwodmVjX21vZGUtPm1vZGUsICZjcnRjX3N0YXRl LT5hZGp1c3RlZF9tb2RlKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCBlNjQxYTQ3MjVmOTkuLmYxOGMy YmExMTNkNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCisrKyBiL2lu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaApAQCAtNjk1LDcgKzY5NSw3IEBAIHN0cnVjdCBkcm1f Y29ubmVjdG9yX3R2X21hcmdpbnMgewogICogQHNlbGVjdF9zdWJjb25uZWN0b3I6IHNlbGVjdGVk IHN1YmNvbm5lY3RvcgogICogQHN1YmNvbm5lY3RvcjogZGV0ZWN0ZWQgc3ViY29ubmVjdG9yCiAg KiBAbWFyZ2luczogVFYgbWFyZ2lucwotICogQG1vZGU6IFRWIG1vZGUKKyAqIEBsZWdhY3lfbW9k ZTogTGVnYWN5IFRWIG1vZGUsIGRyaXZlciBzcGVjaWZpYyB2YWx1ZQogICogQGJyaWdodG5lc3M6 IGJyaWdodG5lc3MgaW4gcGVyY2VudAogICogQGNvbnRyYXN0OiBjb250cmFzdCBpbiBwZXJjZW50 CiAgKiBAZmxpY2tlcl9yZWR1Y3Rpb246IGZsaWNrZXIgcmVkdWN0aW9uIGluIHBlcmNlbnQKQEAg LTcwNyw3ICs3MDcsNyBAQCBzdHJ1Y3QgZHJtX3R2X2Nvbm5lY3Rvcl9zdGF0ZSB7CiAJZW51bSBk cm1fbW9kZV9zdWJjb25uZWN0b3Igc2VsZWN0X3N1YmNvbm5lY3RvcjsKIAllbnVtIGRybV9tb2Rl X3N1YmNvbm5lY3RvciBzdWJjb25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3JfdHZfbWFy Z2lucyBtYXJnaW5zOwotCXVuc2lnbmVkIGludCBtb2RlOworCXVuc2lnbmVkIGludCBsZWdhY3lf bW9kZTsKIAl1bnNpZ25lZCBpbnQgYnJpZ2h0bmVzczsKIAl1bnNpZ25lZCBpbnQgY29udHJhc3Q7 CiAJdW5zaWduZWQgaW50IGZsaWNrZXJfcmVkdWN0aW9uOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX21vZGVfY29uZmlnLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAppbmRl eCA1MzYyNzAyZmZmZTEuLmM0N2IyOWU4MDEwOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJt X21vZGVfY29uZmlnLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKQEAgLTcx MiwxMSArNzEyLDEzIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcgewogCSAqIGJldHdlZW4gZGlm ZmVyZW50IFRWIGNvbm5lY3RvciB0eXBlcy4KIAkgKi8KIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICp0 dl9zZWxlY3Rfc3ViY29ubmVjdG9yX3Byb3BlcnR5OworCiAJLyoqCi0JICogQHR2X21vZGVfcHJv cGVydHk6IE9wdGlvbmFsIFRWIHByb3BlcnR5IHRvIHNlbGVjdAorCSAqIEBsZWdhY3lfdHZfbW9k ZV9wcm9wZXJ0eTogT3B0aW9uYWwgVFYgcHJvcGVydHkgdG8gc2VsZWN0CiAJICogdGhlIG91dHB1 dCBUViBtb2RlLgogCSAqLwotCXN0cnVjdCBkcm1fcHJvcGVydHkgKnR2X21vZGVfcHJvcGVydHk7 CisJc3RydWN0IGRybV9wcm9wZXJ0eSAqbGVnYWN5X3R2X21vZGVfcHJvcGVydHk7CisKIAkvKioK IAkgKiBAdHZfbGVmdF9tYXJnaW5fcHJvcGVydHk6IE9wdGlvbmFsIFRWIHByb3BlcnR5IHRvIHNl dCB0aGUgbGVmdAogCSAqIG1hcmdpbiAoZXhwcmVzc2VkIGluIHBpeGVscykuCgotLSAKYjQgMC4x MS4wLWRldi05OWUzYQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo= 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 A8703C433FE for ; Thu, 10 Nov 2022 11:08:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 49E9810E6D9; Thu, 10 Nov 2022 11:07: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 8382110E138; Thu, 10 Nov 2022 11:07:24 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.nyi.internal (Postfix) with ESMTP id E6C87580281; Thu, 10 Nov 2022 06:07:23 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 10 Nov 2022 06:07:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=k tieW/jnkamfGa05JosldGuZeF0W4MjZ8Bc9lleNc7fQsIYIxw/h8hofZdj3GHG1Q 8IsqBX/kO2URiGJQ4gzqpI1+BvjjHvxTVlbcsQgRH/0RMvEjYnhCVTEFbqx8l86h C9bzI+UQCxQC+Zpsdv9H82A6xTIAym6uuJufumbbsbQI0p3BS1c48MLc970glK1G 5UzZcA/5PvQIuFURRaaqUkhDUEVTWTPcqPEkAsVjIYq0sy3hhE1kXwZkU6d/Cmfg lQVEAyvoM8drhKcuY3BzJEyZVicpkOcMvMgcrt1z5YvcU0682uGdTTzzqV4gkHdf xmAd3BYwSILRubp17JwEA== 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=fm1; t=1668078443; x= 1668085643; bh=qzOHmI2A/jX7HxLCkrQBtN7wbBEAnfznrNCOjTbq/Fc=; b=V eXQbvOnV/K29yAtFwfR1hx2K07mjtu7oGw7F7hE7L1/3KGPtSzqlyuPtXrHqPXI1 5YChZmpb4+6H8hJtC95ffcVhWycxR0VF/pPkeVAYXjNxISbq82/dxKVnmqvWk2Yk 0eq0NEPKEu0GA6fjXwst7QuR+nCgFs066sZjTyh7wV6bQebKFm5Bkl/ceIBi9LoY 1YI8JIiWY4m+JqpweS2dp9zz5nm0nR4GkrgLvVnxj1d4agXev0WBlVpOH3asQGSF Ci/PeiLzR0le3saPGC7TXVs3uwAMPNWWHNO1bjJINtjDKrPD7NQl0AS2uq3ds2pR 0JE3QQoOzKEcTmpwY2KrA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpeevjedukeetveevfefhhfdufeektdfgteetgfeijedtffeiffehueehtdeh ieekueenucffohhmrghinhepmhgrrhhgihhnshdrthhophenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggvrhhnohdrthgv tghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:23 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:14 +0100 Subject: [PATCH v8 02/24] 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-v8-2-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=10975; i=maxime@cerno.tech; h=from:subject:message-id; bh=4/v6ZZkuOFO0GrAnt42Qzl6TxX9oTDP+dViD12JztH8=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1MOXTZb/c6tJVogvvfM7NvvrzkLxG9aVfbloJ5n49U+ s5M2HaUsDGJcDLJiiiwxwuZL4k7Net3JxjcPZg4rE8gQBi5OAZiI/StGhvMXFbMfsskUXrFosTZZUL hAPN1p6bk1HodcZAWsZsyfvp7hf6rY5seJXdqnQ8+vWff8FdMJHstbM0LMxcuvRk55d2JmIxsA 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, Phil Elwell , Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, 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 Tested-by: Mateusz Kwiatkowski 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 | 2 +- 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, 25 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 547356e00341..05edff79d312 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1690,14 +1690,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 cf7d5c1ab406..95b021da5a11 100644 --- a/drivers/gpu/drm/i915/display/intel_tv.c +++ b/drivers/gpu/drm/i915/display/intel_tv.c @@ -1906,7 +1906,7 @@ static void intel_tv_add_properties(struct drm_connector *connector) drm_mode_create_tv_properties(&i915->drm, i, tv_format_names); drm_object_attach_property(&connector->base, - i915->drm.mode_config.tv_mode_property, + i915->drm.mode_config.legacy_tv_mode_property, conn_state->tv.mode); drm_object_attach_property(&connector->base, i915->drm.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 e641a4725f99..f18c2ba113d7 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