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

The drm_tv_create_properties() function will create a bunch of properties,
but it's up to each and every driver using that function to properly reset
the state of these properties leading to inconsistent behaviours.

Let's create a helper that will take care of it.

Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index dfb57217253b..0373c3dc824b 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -481,6 +481,81 @@ void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connecto
 }
 EXPORT_SYMBOL(drm_atomic_helper_connector_tv_margins_reset);
 
+/**
+ * drm_atomic_helper_connector_tv_reset - Resets Analog TV connector properties
+ * @connector: DRM connector
+ *
+ * Resets the analog TV properties attached to a connector
+ */
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector)
+{
+	struct drm_device *dev = connector->dev;
+	struct drm_cmdline_mode *cmdline = &connector->cmdline_mode;
+	struct drm_connector_state *state = connector->state;
+	struct drm_property *prop;
+	uint64_t val;
+
+	prop = dev->mode_config.tv_mode_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.mode = val;
+
+	if (cmdline->tv_mode)
+		state->tv.mode = cmdline->tv_mode;
+
+	prop = dev->mode_config.tv_select_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.select_subconnector = val;
+
+	prop = dev->mode_config.tv_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.subconnector = val;
+
+	prop = dev->mode_config.tv_brightness_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.brightness = val;
+
+	prop = dev->mode_config.tv_contrast_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.contrast = val;
+
+	prop = dev->mode_config.tv_flicker_reduction_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.flicker_reduction = val;
+
+	prop = dev->mode_config.tv_overscan_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.overscan = val;
+
+	prop = dev->mode_config.tv_saturation_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.saturation = val;
+
+	prop = dev->mode_config.tv_hue_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.hue = val;
+
+	drm_atomic_helper_connector_tv_margins_reset(connector);
+}
+EXPORT_SYMBOL(drm_atomic_helper_connector_tv_reset);
+
 /**
  * __drm_atomic_helper_connector_duplicate_state - copy atomic connector state
  * @connector: connector object
diff --git a/include/drm/drm_atomic_state_helper.h b/include/drm/drm_atomic_state_helper.h
index 192766656b88..c8fbce795ee7 100644
--- a/include/drm/drm_atomic_state_helper.h
+++ b/include/drm/drm_atomic_state_helper.h
@@ -70,6 +70,7 @@ void __drm_atomic_helper_connector_state_reset(struct drm_connector_state *conn_
 void __drm_atomic_helper_connector_reset(struct drm_connector *connector,
 					 struct drm_connector_state *conn_state);
 void drm_atomic_helper_connector_reset(struct drm_connector *connector);
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector);
 void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connector);
 void
 __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector,

-- 
b4 0.10.0

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Jernej Skrabec <jernej.skrabec@gmail.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Ben Skeggs <bskeggs@redhat.com>,  David Airlie <airlied@linux.ie>,
	Maxime Ripard <mripard@kernel.org>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	 Emma Anholt <emma@anholt.net>, Karol Herbst <kherbst@redhat.com>,
	Samuel Holland <samuel@sholland.org>,
	 Jani Nikula <jani.nikula@linux.intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Daniel Vetter <daniel@ffwll.ch>,  Lyude Paul <lyude@redhat.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	 Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Chen-Yu Tsai <wens@csie.org>
Cc: Dom Cobley <dom@raspberrypi.com>,
	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 <hdegoede@redhat.com>,
	Noralf Trønnes <noralf@tronnes.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Maxime Ripard <maxime@cerno.tech>,
	Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>,
	Phil Elwell <phil@raspberrypi.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [Nouveau] [PATCH v2 26/33] drm/atomic-helper: Add a TV properties reset helper
Date: Thu, 22 Sep 2022 16:25:43 +0200	[thread overview]
Message-ID: <20220728-rpi-analog-tv-properties-v2-26-f733a0ed9f90@cerno.tech> (raw)
In-Reply-To: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech>

The drm_tv_create_properties() function will create a bunch of properties,
but it's up to each and every driver using that function to properly reset
the state of these properties leading to inconsistent behaviours.

Let's create a helper that will take care of it.

Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index dfb57217253b..0373c3dc824b 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -481,6 +481,81 @@ void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connecto
 }
 EXPORT_SYMBOL(drm_atomic_helper_connector_tv_margins_reset);
 
+/**
+ * drm_atomic_helper_connector_tv_reset - Resets Analog TV connector properties
+ * @connector: DRM connector
+ *
+ * Resets the analog TV properties attached to a connector
+ */
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector)
+{
+	struct drm_device *dev = connector->dev;
+	struct drm_cmdline_mode *cmdline = &connector->cmdline_mode;
+	struct drm_connector_state *state = connector->state;
+	struct drm_property *prop;
+	uint64_t val;
+
+	prop = dev->mode_config.tv_mode_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.mode = val;
+
+	if (cmdline->tv_mode)
+		state->tv.mode = cmdline->tv_mode;
+
+	prop = dev->mode_config.tv_select_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.select_subconnector = val;
+
+	prop = dev->mode_config.tv_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.subconnector = val;
+
+	prop = dev->mode_config.tv_brightness_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.brightness = val;
+
+	prop = dev->mode_config.tv_contrast_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.contrast = val;
+
+	prop = dev->mode_config.tv_flicker_reduction_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.flicker_reduction = val;
+
+	prop = dev->mode_config.tv_overscan_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.overscan = val;
+
+	prop = dev->mode_config.tv_saturation_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.saturation = val;
+
+	prop = dev->mode_config.tv_hue_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.hue = val;
+
+	drm_atomic_helper_connector_tv_margins_reset(connector);
+}
+EXPORT_SYMBOL(drm_atomic_helper_connector_tv_reset);
+
 /**
  * __drm_atomic_helper_connector_duplicate_state - copy atomic connector state
  * @connector: connector object
diff --git a/include/drm/drm_atomic_state_helper.h b/include/drm/drm_atomic_state_helper.h
index 192766656b88..c8fbce795ee7 100644
--- a/include/drm/drm_atomic_state_helper.h
+++ b/include/drm/drm_atomic_state_helper.h
@@ -70,6 +70,7 @@ void __drm_atomic_helper_connector_state_reset(struct drm_connector_state *conn_
 void __drm_atomic_helper_connector_reset(struct drm_connector *connector,
 					 struct drm_connector_state *conn_state);
 void drm_atomic_helper_connector_reset(struct drm_connector *connector);
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector);
 void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connector);
 void
 __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector,

-- 
b4 0.10.0

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Jernej Skrabec <jernej.skrabec@gmail.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Ben Skeggs <bskeggs@redhat.com>,  David Airlie <airlied@linux.ie>,
	Maxime Ripard <mripard@kernel.org>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	 Emma Anholt <emma@anholt.net>, Karol Herbst <kherbst@redhat.com>,
	Samuel Holland <samuel@sholland.org>,
	 Jani Nikula <jani.nikula@linux.intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Daniel Vetter <daniel@ffwll.ch>,  Lyude Paul <lyude@redhat.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	 Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Chen-Yu Tsai <wens@csie.org>
Cc: Dom Cobley <dom@raspberrypi.com>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	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 <hdegoede@redhat.com>,
	Noralf Trønnes <noralf@tronnes.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Maxime Ripard <maxime@cerno.tech>,
	Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>,
	Phil Elwell <phil@raspberrypi.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 26/33] drm/atomic-helper: Add a TV properties reset helper
Date: Thu, 22 Sep 2022 16:25:43 +0200	[thread overview]
Message-ID: <20220728-rpi-analog-tv-properties-v2-26-f733a0ed9f90@cerno.tech> (raw)
In-Reply-To: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech>

The drm_tv_create_properties() function will create a bunch of properties,
but it's up to each and every driver using that function to properly reset
the state of these properties leading to inconsistent behaviours.

Let's create a helper that will take care of it.

Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index dfb57217253b..0373c3dc824b 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -481,6 +481,81 @@ void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connecto
 }
 EXPORT_SYMBOL(drm_atomic_helper_connector_tv_margins_reset);
 
+/**
+ * drm_atomic_helper_connector_tv_reset - Resets Analog TV connector properties
+ * @connector: DRM connector
+ *
+ * Resets the analog TV properties attached to a connector
+ */
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector)
+{
+	struct drm_device *dev = connector->dev;
+	struct drm_cmdline_mode *cmdline = &connector->cmdline_mode;
+	struct drm_connector_state *state = connector->state;
+	struct drm_property *prop;
+	uint64_t val;
+
+	prop = dev->mode_config.tv_mode_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.mode = val;
+
+	if (cmdline->tv_mode)
+		state->tv.mode = cmdline->tv_mode;
+
+	prop = dev->mode_config.tv_select_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.select_subconnector = val;
+
+	prop = dev->mode_config.tv_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.subconnector = val;
+
+	prop = dev->mode_config.tv_brightness_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.brightness = val;
+
+	prop = dev->mode_config.tv_contrast_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.contrast = val;
+
+	prop = dev->mode_config.tv_flicker_reduction_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.flicker_reduction = val;
+
+	prop = dev->mode_config.tv_overscan_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.overscan = val;
+
+	prop = dev->mode_config.tv_saturation_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.saturation = val;
+
+	prop = dev->mode_config.tv_hue_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.hue = val;
+
+	drm_atomic_helper_connector_tv_margins_reset(connector);
+}
+EXPORT_SYMBOL(drm_atomic_helper_connector_tv_reset);
+
 /**
  * __drm_atomic_helper_connector_duplicate_state - copy atomic connector state
  * @connector: connector object
diff --git a/include/drm/drm_atomic_state_helper.h b/include/drm/drm_atomic_state_helper.h
index 192766656b88..c8fbce795ee7 100644
--- a/include/drm/drm_atomic_state_helper.h
+++ b/include/drm/drm_atomic_state_helper.h
@@ -70,6 +70,7 @@ void __drm_atomic_helper_connector_state_reset(struct drm_connector_state *conn_
 void __drm_atomic_helper_connector_reset(struct drm_connector *connector,
 					 struct drm_connector_state *conn_state);
 void drm_atomic_helper_connector_reset(struct drm_connector *connector);
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector);
 void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connector);
 void
 __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector,

-- 
b4 0.10.0

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Jernej Skrabec <jernej.skrabec@gmail.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Ben Skeggs <bskeggs@redhat.com>,  David Airlie <airlied@linux.ie>,
	Maxime Ripard <mripard@kernel.org>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	 Emma Anholt <emma@anholt.net>, Karol Herbst <kherbst@redhat.com>,
	Samuel Holland <samuel@sholland.org>,
	 Jani Nikula <jani.nikula@linux.intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Daniel Vetter <daniel@ffwll.ch>,  Lyude Paul <lyude@redhat.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	 Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Chen-Yu Tsai <wens@csie.org>
Cc: Dom Cobley <dom@raspberrypi.com>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-sunxi@lists.linux.dev, Noralf Trønnes <noralf@tronnes.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Maxime Ripard <maxime@cerno.tech>,
	Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>,
	Phil Elwell <phil@raspberrypi.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [Intel-gfx] [PATCH v2 26/33] drm/atomic-helper: Add a TV properties reset helper
Date: Thu, 22 Sep 2022 16:25:43 +0200	[thread overview]
Message-ID: <20220728-rpi-analog-tv-properties-v2-26-f733a0ed9f90@cerno.tech> (raw)
In-Reply-To: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech>

The drm_tv_create_properties() function will create a bunch of properties,
but it's up to each and every driver using that function to properly reset
the state of these properties leading to inconsistent behaviours.

Let's create a helper that will take care of it.

Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index dfb57217253b..0373c3dc824b 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -481,6 +481,81 @@ void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connecto
 }
 EXPORT_SYMBOL(drm_atomic_helper_connector_tv_margins_reset);
 
+/**
+ * drm_atomic_helper_connector_tv_reset - Resets Analog TV connector properties
+ * @connector: DRM connector
+ *
+ * Resets the analog TV properties attached to a connector
+ */
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector)
+{
+	struct drm_device *dev = connector->dev;
+	struct drm_cmdline_mode *cmdline = &connector->cmdline_mode;
+	struct drm_connector_state *state = connector->state;
+	struct drm_property *prop;
+	uint64_t val;
+
+	prop = dev->mode_config.tv_mode_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.mode = val;
+
+	if (cmdline->tv_mode)
+		state->tv.mode = cmdline->tv_mode;
+
+	prop = dev->mode_config.tv_select_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.select_subconnector = val;
+
+	prop = dev->mode_config.tv_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.subconnector = val;
+
+	prop = dev->mode_config.tv_brightness_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.brightness = val;
+
+	prop = dev->mode_config.tv_contrast_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.contrast = val;
+
+	prop = dev->mode_config.tv_flicker_reduction_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.flicker_reduction = val;
+
+	prop = dev->mode_config.tv_overscan_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.overscan = val;
+
+	prop = dev->mode_config.tv_saturation_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.saturation = val;
+
+	prop = dev->mode_config.tv_hue_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.hue = val;
+
+	drm_atomic_helper_connector_tv_margins_reset(connector);
+}
+EXPORT_SYMBOL(drm_atomic_helper_connector_tv_reset);
+
 /**
  * __drm_atomic_helper_connector_duplicate_state - copy atomic connector state
  * @connector: connector object
diff --git a/include/drm/drm_atomic_state_helper.h b/include/drm/drm_atomic_state_helper.h
index 192766656b88..c8fbce795ee7 100644
--- a/include/drm/drm_atomic_state_helper.h
+++ b/include/drm/drm_atomic_state_helper.h
@@ -70,6 +70,7 @@ void __drm_atomic_helper_connector_state_reset(struct drm_connector_state *conn_
 void __drm_atomic_helper_connector_reset(struct drm_connector *connector,
 					 struct drm_connector_state *conn_state);
 void drm_atomic_helper_connector_reset(struct drm_connector *connector);
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector);
 void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connector);
 void
 __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector,

-- 
b4 0.10.0

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Jernej Skrabec <jernej.skrabec@gmail.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Ben Skeggs <bskeggs@redhat.com>, David Airlie <airlied@linux.ie>,
	Maxime Ripard <mripard@kernel.org>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Emma Anholt <emma@anholt.net>, Karol Herbst <kherbst@redhat.com>,
	Samuel Holland <samuel@sholland.org>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Daniel Vetter <daniel@ffwll.ch>, Lyude Paul <lyude@redhat.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Chen-Yu Tsai <wens@csie.org>
Cc: Hans de Goede <hdegoede@redhat.com>,
	nouveau@lists.freedesktop.org,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Phil Elwell <phil@raspberrypi.com>,
	intel-gfx@lists.freedesktop.org,
	Noralf Trønnes <noralf@tronnes.org>,
	Dom Cobley <dom@raspberrypi.com>,
	linux-sunxi@lists.linux.dev, Maxime Ripard <maxime@cerno.tech>,
	Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>,
	dri-devel@lists.freedesktop.org
Subject: [PATCH v2 26/33] drm/atomic-helper: Add a TV properties reset helper
Date: Thu, 22 Sep 2022 16:25:43 +0200	[thread overview]
Message-ID: <20220728-rpi-analog-tv-properties-v2-26-f733a0ed9f90@cerno.tech> (raw)
In-Reply-To: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech>

The drm_tv_create_properties() function will create a bunch of properties,
but it's up to each and every driver using that function to properly reset
the state of these properties leading to inconsistent behaviours.

Let's create a helper that will take care of it.

Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index dfb57217253b..0373c3dc824b 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -481,6 +481,81 @@ void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connecto
 }
 EXPORT_SYMBOL(drm_atomic_helper_connector_tv_margins_reset);
 
+/**
+ * drm_atomic_helper_connector_tv_reset - Resets Analog TV connector properties
+ * @connector: DRM connector
+ *
+ * Resets the analog TV properties attached to a connector
+ */
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector)
+{
+	struct drm_device *dev = connector->dev;
+	struct drm_cmdline_mode *cmdline = &connector->cmdline_mode;
+	struct drm_connector_state *state = connector->state;
+	struct drm_property *prop;
+	uint64_t val;
+
+	prop = dev->mode_config.tv_mode_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.mode = val;
+
+	if (cmdline->tv_mode)
+		state->tv.mode = cmdline->tv_mode;
+
+	prop = dev->mode_config.tv_select_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.select_subconnector = val;
+
+	prop = dev->mode_config.tv_subconnector_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.subconnector = val;
+
+	prop = dev->mode_config.tv_brightness_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.brightness = val;
+
+	prop = dev->mode_config.tv_contrast_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.contrast = val;
+
+	prop = dev->mode_config.tv_flicker_reduction_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.flicker_reduction = val;
+
+	prop = dev->mode_config.tv_overscan_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.overscan = val;
+
+	prop = dev->mode_config.tv_saturation_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.saturation = val;
+
+	prop = dev->mode_config.tv_hue_property;
+	if (prop)
+		if (!drm_object_property_get_default_value(&connector->base,
+							   prop, &val))
+			state->tv.hue = val;
+
+	drm_atomic_helper_connector_tv_margins_reset(connector);
+}
+EXPORT_SYMBOL(drm_atomic_helper_connector_tv_reset);
+
 /**
  * __drm_atomic_helper_connector_duplicate_state - copy atomic connector state
  * @connector: connector object
diff --git a/include/drm/drm_atomic_state_helper.h b/include/drm/drm_atomic_state_helper.h
index 192766656b88..c8fbce795ee7 100644
--- a/include/drm/drm_atomic_state_helper.h
+++ b/include/drm/drm_atomic_state_helper.h
@@ -70,6 +70,7 @@ void __drm_atomic_helper_connector_state_reset(struct drm_connector_state *conn_
 void __drm_atomic_helper_connector_reset(struct drm_connector *connector,
 					 struct drm_connector_state *conn_state);
 void drm_atomic_helper_connector_reset(struct drm_connector *connector);
+void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector);
 void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connector);
 void
 __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector,

-- 
b4 0.10.0

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

  parent reply	other threads:[~2022-09-22 14:28 UTC|newest]

Thread overview: 374+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-22 14:25 [PATCH v2 00/33] drm: Analog TV Improvements Maxime Ripard
2022-09-22 14:25 ` Maxime Ripard
2022-09-22 14:25 ` [Nouveau] " Maxime Ripard
2022-09-22 14:25 ` Maxime Ripard
2022-09-22 14:25 ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25 ` [PATCH v2 01/33] drm/tests: Order Kunit tests in Makefile Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-23  8:06   ` Thomas Zimmermann
2022-09-23  8:06     ` Thomas Zimmermann
2022-09-23  8:06     ` [Intel-gfx] " Thomas Zimmermann
2022-09-23  8:06     ` Thomas Zimmermann
2022-09-23  8:06     ` [Nouveau] " Thomas Zimmermann
2022-09-24 17:33   ` Noralf Trønnes
2022-09-24 17:33     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 17:33     ` Noralf Trønnes
2022-09-24 17:33     ` Noralf Trønnes
2022-09-24 17:33     ` [Nouveau] " Noralf Trønnes
2022-09-22 14:25 ` [PATCH v2 02/33] drm/tests: Add Kunit Helpers Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-24 17:56   ` Noralf Trønnes
2022-09-24 17:56     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 17:56     ` Noralf Trønnes
2022-09-24 17:56     ` Noralf Trønnes
2022-09-24 17:56     ` [Nouveau] " Noralf Trønnes
2022-09-24 18:06     ` Noralf Trønnes
2022-09-24 18:06       ` [Intel-gfx] " Noralf Trønnes
2022-09-24 18:06       ` Noralf Trønnes
2022-09-24 18:06       ` Noralf Trønnes
2022-09-24 18:06       ` [Nouveau] " Noralf Trønnes
2022-09-26  9:36       ` Maxime Ripard
2022-09-26  9:36         ` Maxime Ripard
2022-09-26  9:36         ` [Intel-gfx] " Maxime Ripard
2022-09-26  9:36         ` Maxime Ripard
2022-09-26  9:36         ` [Nouveau] " Maxime Ripard
2022-09-26 12:15         ` Noralf Trønnes
2022-09-26 12:15           ` Noralf Trønnes
2022-09-26 12:15           ` [Intel-gfx] " Noralf Trønnes
2022-09-26 12:15           ` Noralf Trønnes
2022-09-26 12:15           ` [Nouveau] " Noralf Trønnes
2022-09-22 14:25 ` [PATCH v2 03/33] drm/atomic-helper: Rename drm_atomic_helper_connector_tv_reset to avoid ambiguity Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-23  8:09   ` Thomas Zimmermann
2022-09-23  8:09     ` Thomas Zimmermann
2022-09-23  8:09     ` [Intel-gfx] " Thomas Zimmermann
2022-09-23  8:09     ` Thomas Zimmermann
2022-09-23  8:09     ` [Nouveau] " Thomas Zimmermann
2022-09-22 14:25 ` [PATCH v2 04/33] drm/connector: Rename subconnector state variable Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-23  8:14   ` Thomas Zimmermann
2022-09-23  8:14     ` Thomas Zimmermann
2022-09-23  8:14     ` [Intel-gfx] " Thomas Zimmermann
2022-09-23  8:14     ` Thomas Zimmermann
2022-09-23  8:14     ` [Nouveau] " Thomas Zimmermann
2022-09-22 14:25 ` [Nouveau] [PATCH v2 05/33] drm/atomic: Add TV subconnector property to get/set_property Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [Nouveau] [PATCH v2 06/33] drm/connector: Rename legacy TV property Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 20:44   ` Lyude Paul
2022-09-22 20:44     ` Lyude Paul
2022-09-22 20:44     ` [Intel-gfx] " Lyude Paul
2022-09-22 20:44     ` Lyude Paul
2022-09-22 20:44     ` [Nouveau] " Lyude Paul
2022-09-23  8:19   ` Thomas Zimmermann
2022-09-23  8:19     ` Thomas Zimmermann
2022-09-23  8:19     ` [Intel-gfx] " Thomas Zimmermann
2022-09-23  8:19     ` Thomas Zimmermann
2022-09-23  8:19     ` [Nouveau] " Thomas Zimmermann
2022-09-26  9:50     ` Maxime Ripard
2022-09-26  9:50       ` Maxime Ripard
2022-09-26  9:50       ` [Intel-gfx] " Maxime Ripard
2022-09-26  9:50       ` Maxime Ripard
2022-09-26  9:50       ` [Nouveau] " Maxime Ripard
2022-09-26 12:34       ` Thomas Zimmermann
2022-09-26 12:34         ` Thomas Zimmermann
2022-09-26 12:34         ` [Intel-gfx] " Thomas Zimmermann
2022-09-26 12:34         ` [Nouveau] " Thomas Zimmermann
2022-09-24 15:38   ` Noralf Trønnes
2022-09-24 15:38     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 15:38     ` Noralf Trønnes
2022-09-24 15:38     ` Noralf Trønnes
2022-09-24 15:38     ` [Nouveau] " Noralf Trønnes
2022-09-22 14:25 ` [Nouveau] [PATCH v2 07/33] drm/connector: Only register TV mode property if present Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [PATCH v2 08/33] drm/connector: Rename drm_mode_create_tv_properties Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 20:45   ` Lyude Paul
2022-09-22 20:45     ` Lyude Paul
2022-09-22 20:45     ` [Intel-gfx] " Lyude Paul
2022-09-22 20:45     ` [Nouveau] " Lyude Paul
2022-09-22 20:45     ` Lyude Paul
2022-09-24 15:43   ` Noralf Trønnes
2022-09-24 15:43     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 15:43     ` Noralf Trønnes
2022-09-24 15:43     ` Noralf Trønnes
2022-09-24 15:43     ` [Nouveau] " Noralf Trønnes
2022-09-22 14:25 ` [Nouveau] [PATCH v2 09/33] drm/connector: Add TV standard property Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-24 15:52   ` Noralf Trønnes
2022-09-24 15:52     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 15:52     ` Noralf Trønnes
2022-09-24 15:52     ` Noralf Trønnes
2022-09-24 15:52     ` [Nouveau] " Noralf Trønnes
2022-09-26 10:01     ` Maxime Ripard
2022-09-26 10:01       ` Maxime Ripard
2022-09-26 10:01       ` Maxime Ripard
2022-09-26 10:01       ` [Intel-gfx] " Maxime Ripard
2022-09-26 10:01       ` [Nouveau] " Maxime Ripard
2022-09-26 12:59       ` Noralf Trønnes
2022-09-26 12:59         ` [Intel-gfx] " Noralf Trønnes
2022-09-26 12:59         ` Noralf Trønnes
2022-09-26 12:59         ` [Nouveau] " Noralf Trønnes
2022-09-26 12:59         ` Noralf Trønnes
2022-09-22 14:25 ` [PATCH v2 10/33] drm/modes: Add a function to generate analog display modes Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-23  9:05   ` Thomas Zimmermann
2022-09-23  9:05     ` Thomas Zimmermann
2022-09-23  9:05     ` [Intel-gfx] " Thomas Zimmermann
2022-09-23  9:05     ` Thomas Zimmermann
2022-09-23  9:05     ` [Nouveau] " Thomas Zimmermann
2022-09-23  9:18     ` Jani Nikula
2022-09-23  9:18       ` Jani Nikula
2022-09-23  9:18       ` [Intel-gfx] " Jani Nikula
2022-09-23  9:18       ` Jani Nikula
2022-09-23  9:18       ` [Nouveau] " Jani Nikula
2022-09-23 10:16       ` Thomas Zimmermann
2022-09-23 10:16         ` Thomas Zimmermann
2022-09-23 10:16         ` [Intel-gfx] " Thomas Zimmermann
2022-09-23 10:16         ` Thomas Zimmermann
2022-09-23 10:16         ` [Nouveau] " Thomas Zimmermann
2022-09-26 10:18         ` Maxime Ripard
2022-09-26 10:18           ` Maxime Ripard
2022-09-26 10:18           ` [Intel-gfx] " Maxime Ripard
2022-09-26 10:18           ` Maxime Ripard
2022-09-26 10:18           ` Maxime Ripard
2022-09-26 10:55           ` [Intel-gfx] " Thomas Zimmermann
2022-09-26 10:55             ` Thomas Zimmermann
2022-09-26 10:55             ` [Nouveau] " Thomas Zimmermann
2022-09-26 10:55             ` Thomas Zimmermann
2022-09-26 10:17     ` Maxime Ripard
2022-09-26 10:17       ` Maxime Ripard
2022-09-26 10:17       ` [Nouveau] " Maxime Ripard
2022-09-26 10:17       ` Maxime Ripard
2022-09-26 10:17       ` [Intel-gfx] " Maxime Ripard
2022-09-26 10:34       ` Geert Uytterhoeven
2022-09-26 10:34         ` Geert Uytterhoeven
2022-09-26 10:34         ` [Intel-gfx] " Geert Uytterhoeven
2022-09-26 10:34         ` Geert Uytterhoeven
2022-09-26 10:34         ` [Nouveau] " Geert Uytterhoeven
2022-09-26 11:17         ` Thomas Zimmermann
2022-09-26 11:17           ` [Intel-gfx] " Thomas Zimmermann
2022-09-26 11:17           ` Thomas Zimmermann
2022-09-26 11:17           ` Thomas Zimmermann
2022-09-26 11:17           ` [Nouveau] " Thomas Zimmermann
2022-09-26 12:42           ` Maxime Ripard
2022-09-26 12:42             ` Maxime Ripard
2022-09-26 12:42             ` [Intel-gfx] " Maxime Ripard
2022-09-26 12:42             ` Maxime Ripard
2022-09-26 12:42             ` [Nouveau] " Maxime Ripard
2022-09-26 13:02             ` Thomas Zimmermann
2022-09-26 13:02               ` Thomas Zimmermann
2022-09-26 13:02               ` [Intel-gfx] " Thomas Zimmermann
2022-09-26 13:02               ` Thomas Zimmermann
2022-09-26 13:02               ` [Nouveau] " Thomas Zimmermann
2022-09-22 14:25 ` [PATCH v2 11/33] drm/modes: Only consider bpp and refresh before options Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25 ` [PATCH v2 12/33] drm/modes: parse_cmdline: Add support for named modes containing dashes Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25 ` [PATCH v2 13/33] drm/client: Add some tests for drm_connector_pick_cmdline_mode() Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-23  9:15   ` Thomas Zimmermann
2022-09-23  9:15     ` Thomas Zimmermann
2022-09-23  9:15     ` [Intel-gfx] " Thomas Zimmermann
2022-09-23  9:15     ` Thomas Zimmermann
2022-09-23  9:15     ` [Nouveau] " Thomas Zimmermann
2022-09-23  9:26     ` Javier Martinez Canillas
2022-09-23  9:26       ` Javier Martinez Canillas
2022-09-23  9:26       ` [Intel-gfx] " Javier Martinez Canillas
2022-09-23  9:26       ` Javier Martinez Canillas
2022-09-23  9:26       ` [Nouveau] " Javier Martinez Canillas
2022-09-23 10:30       ` Thomas Zimmermann
2022-09-23 10:30         ` [Intel-gfx] " Thomas Zimmermann
2022-09-23 10:30         ` Thomas Zimmermann
2022-09-23 10:30         ` Thomas Zimmermann
2022-09-23 10:30         ` [Nouveau] " Thomas Zimmermann
2022-09-23 11:01         ` Javier Martinez Canillas
2022-09-23 11:01           ` Javier Martinez Canillas
2022-09-23 11:01           ` [Intel-gfx] " Javier Martinez Canillas
2022-09-23 11:01           ` Javier Martinez Canillas
2022-09-23 11:01           ` [Nouveau] " Javier Martinez Canillas
2022-09-23 11:14         ` Maxime Ripard
2022-09-23 11:14           ` Maxime Ripard
2022-09-23 11:14           ` [Nouveau] " Maxime Ripard
2022-09-23 11:14           ` [Intel-gfx] " Maxime Ripard
2022-09-23 11:14           ` Maxime Ripard
2022-09-23 11:59   ` Jani Nikula
2022-09-23 11:59     ` Jani Nikula
2022-09-23 11:59     ` [Intel-gfx] " Jani Nikula
2022-09-23 11:59     ` Jani Nikula
2022-09-23 11:59     ` [Nouveau] " Jani Nikula
2022-09-22 14:25 ` [Nouveau] [PATCH v2 14/33] drm/modes: Move named modes parsing to a separate function Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [Nouveau] [PATCH v2 15/33] drm/modes: Bail out of named mode parsing if empty Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [Nouveau] [PATCH v2 16/33] drm/modes: Bail out of named mode parsing early if it's a number Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [Nouveau] [PATCH v2 17/33] drm/modes: Bail out of named mode parsing early if it's an option Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [Intel-gfx] [PATCH v2 18/33] drm/modes: Bail out of named mode parsing early if it's a status Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [PATCH v2 19/33] drm/modes: Switch to named mode descriptors Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25 ` [PATCH v2 20/33] drm/modes: Fill drm_cmdline mode from named modes Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25 ` [PATCH v2 21/33] drm/connector: Add pixel clock to cmdline mode Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25 ` [Nouveau] [PATCH v2 22/33] drm/connector: Add a function to lookup a TV mode by its name Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [Nouveau] [PATCH v2 23/33] drm/modes: Introduce the tv_mode property as a command-line option Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [Nouveau] [PATCH v2 24/33] drm/modes: Properly generate a drm_display_mode from a named mode Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` [Intel-gfx] [PATCH v2 25/33] drm/modes: Introduce more named modes Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25 ` Maxime Ripard [this message]
2022-09-22 14:25   ` [PATCH v2 26/33] drm/atomic-helper: Add a TV properties reset helper Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25 ` [PATCH v2 27/33] drm/atomic-helper: Add an analog TV atomic_check implementation Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-24 15:58   ` Noralf Trønnes
2022-09-24 15:58     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 15:58     ` Noralf Trønnes
2022-09-24 15:58     ` [Nouveau] " Noralf Trønnes
2022-09-24 15:58     ` Noralf Trønnes
2022-09-22 14:25 ` [PATCH v2 28/33] drm/vc4: vec: Fix definition of PAL-M mode Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-24 15:59   ` Noralf Trønnes
2022-09-24 15:59     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 15:59     ` Noralf Trønnes
2022-09-24 15:59     ` Noralf Trønnes
2022-09-24 15:59     ` [Nouveau] " Noralf Trønnes
2022-09-22 14:25 ` [PATCH v2 29/33] drm/vc4: vec: Use TV Reset implementation Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Nouveau] " Maxime Ripard
2022-09-22 14:25 ` [Nouveau] [PATCH v2 30/33] drm/vc4: vec: Check for VEC output constraints Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-24 16:00   ` Noralf Trønnes
2022-09-24 16:00     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 16:00     ` Noralf Trønnes
2022-09-24 16:00     ` Noralf Trønnes
2022-09-24 16:00     ` [Nouveau] " Noralf Trønnes
2022-09-22 14:25 ` [Nouveau] [PATCH v2 31/33] drm/vc4: vec: Convert to the new TV mode property Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-24 17:09   ` Noralf Trønnes
2022-09-24 17:09     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 17:09     ` Noralf Trønnes
2022-09-24 17:09     ` Noralf Trønnes
2022-09-24 17:09     ` [Nouveau] " Noralf Trønnes
2022-09-22 14:25 ` [Nouveau] [PATCH v2 32/33] drm/vc4: vec: Add support for more analog TV standards Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-24 17:12   ` Noralf Trønnes
2022-09-24 17:12     ` [Intel-gfx] " Noralf Trønnes
2022-09-24 17:12     ` Noralf Trønnes
2022-09-24 17:12     ` Noralf Trønnes
2022-09-24 17:12     ` [Nouveau] " Noralf Trønnes
2022-09-22 14:25 ` [Nouveau] [PATCH v2 33/33] drm/sun4i: tv: Convert to the new TV mode property Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` Maxime Ripard
2022-09-22 14:25   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:31 ` [PATCH v2 00/33] drm: Analog TV Improvements Maxime Ripard
2022-09-22 14:31   ` Maxime Ripard
2022-09-22 14:31   ` [Intel-gfx] " Maxime Ripard
2022-09-22 14:31   ` Maxime Ripard
2022-09-22 14:31   ` [Nouveau] " Maxime Ripard
2022-09-22 17:38 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm: Analog TV Improvements (rev2) Patchwork
2022-09-25 15:58 ` [PATCH v2 00/33] drm: Analog TV Improvements Noralf Trønnes
2022-09-25 15:58   ` [Intel-gfx] " Noralf Trønnes
2022-09-25 15:58   ` Noralf Trønnes
2022-09-25 15:58   ` Noralf Trønnes
2022-09-25 15:58   ` [Nouveau] " Noralf Trønnes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220728-rpi-analog-tv-properties-v2-26-f733a0ed9f90@cerno.tech \
    --to=maxime@cerno.tech \
    --cc=airlied@linux.ie \
    --cc=bskeggs@redhat.com \
    --cc=daniel@ffwll.ch \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=dom@raspberrypi.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emma@anholt.net \
    --cc=geert@linux-m68k.org \
    --cc=hdegoede@redhat.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=kfyatek+publicgit@gmail.com \
    --cc=kherbst@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=lyude@redhat.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=noralf@tronnes.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=phil@raspberrypi.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=samuel@sholland.org \
    --cc=tvrtko.ursulin@linux.intel.com \
    --cc=tzimmermann@suse.de \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.