All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ville Syrjala <ville.syrjala@linux.intel.com>
To: dri-devel@lists.freedesktop.org
Cc: linux-rockchip@lists.infradead.org,
	intel-gfx@lists.freedesktop.org, Sandy Huang <hjc@rock-chips.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 14/22] drm/rockchip: Use drm_mode_copy()
Date: Fri, 18 Feb 2022 12:03:55 +0200	[thread overview]
Message-ID: <20220218100403.7028-15-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20220218100403.7028-1-ville.syrjala@linux.intel.com>

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

struct drm_display_mode embeds a list head, so overwriting
the full struct with another one will corrupt the list
(if the destination mode is on a list). Use drm_mode_copy()
instead which explicitly preserves the list head of
the destination mode.

Even if we know the destination mode is not on any list
using drm_mode_copy() seems decent as it sets a good
example. Bad examples of not using it might eventually
get copied into code where preserving the list head
actually matters.

Obviously one case not covered here is when the mode
itself is embedded in a larger structure and the whole
structure is copied. But if we are careful when copying
into modes embedded in structures I think we can be a
little more reassured that bogus list heads haven't been
propagated in.

@is_mode_copy@
@@
drm_mode_copy(...)
{
...
}

@depends on !is_mode_copy@
struct drm_display_mode *mode;
expression E, S;
@@
(
- *mode = E
+ drm_mode_copy(mode, &E)
|
- memcpy(mode, E, S)
+ drm_mode_copy(mode, E)
)

@depends on !is_mode_copy@
struct drm_display_mode mode;
expression E;
@@
(
- mode = E
+ drm_mode_copy(&mode, &E)
|
- memcpy(&mode, E, S)
+ drm_mode_copy(&mode, E)
)

@@
struct drm_display_mode *mode;
@@
- &*mode
+ mode

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
---
 drivers/gpu/drm/rockchip/cdn-dp-core.c | 2 +-
 drivers/gpu/drm/rockchip/inno_hdmi.c   | 2 +-
 drivers/gpu/drm/rockchip/rk3066_hdmi.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index 4740cc14beb8..adf1027a3f20 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -564,7 +564,7 @@ static void cdn_dp_encoder_mode_set(struct drm_encoder *encoder,
 	video->v_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NVSYNC);
 	video->h_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NHSYNC);
 
-	memcpy(&dp->mode, adjusted, sizeof(*mode));
+	drm_mode_copy(&dp->mode, adjusted);
 }
 
 static bool cdn_dp_check_link_status(struct cdn_dp_device *dp)
diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 046e8ec2a71c..740196d30fba 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -488,7 +488,7 @@ static void inno_hdmi_encoder_mode_set(struct drm_encoder *encoder,
 	inno_hdmi_setup(hdmi, adj_mode);
 
 	/* Store the display mode for plugin/DPMS poweron events */
-	memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode));
+	drm_mode_copy(&hdmi->previous_mode, adj_mode);
 }
 
 static void inno_hdmi_encoder_enable(struct drm_encoder *encoder)
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index 1c546c3a8998..17e7c40a9e7b 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -383,7 +383,7 @@ rk3066_hdmi_encoder_mode_set(struct drm_encoder *encoder,
 	struct rk3066_hdmi *hdmi = to_rk3066_hdmi(encoder);
 
 	/* Store the display mode for plugin/DPMS poweron events. */
-	memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode));
+	drm_mode_copy(&hdmi->previous_mode, adj_mode);
 }
 
 static void rk3066_hdmi_encoder_enable(struct drm_encoder *encoder)
-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
From: Ville Syrjala <ville.syrjala@linux.intel.com>
To: dri-devel@lists.freedesktop.org
Cc: linux-rockchip@lists.infradead.org,
	intel-gfx@lists.freedesktop.org,
	"Sandy Huang" <hjc@rock-chips.com>,
	linux-arm-kernel@lists.infradead.org,
	"Heiko Stübner" <heiko@sntech.de>
Subject: [Intel-gfx] [PATCH 14/22] drm/rockchip: Use drm_mode_copy()
Date: Fri, 18 Feb 2022 12:03:55 +0200	[thread overview]
Message-ID: <20220218100403.7028-15-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20220218100403.7028-1-ville.syrjala@linux.intel.com>

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

struct drm_display_mode embeds a list head, so overwriting
the full struct with another one will corrupt the list
(if the destination mode is on a list). Use drm_mode_copy()
instead which explicitly preserves the list head of
the destination mode.

Even if we know the destination mode is not on any list
using drm_mode_copy() seems decent as it sets a good
example. Bad examples of not using it might eventually
get copied into code where preserving the list head
actually matters.

Obviously one case not covered here is when the mode
itself is embedded in a larger structure and the whole
structure is copied. But if we are careful when copying
into modes embedded in structures I think we can be a
little more reassured that bogus list heads haven't been
propagated in.

@is_mode_copy@
@@
drm_mode_copy(...)
{
...
}

@depends on !is_mode_copy@
struct drm_display_mode *mode;
expression E, S;
@@
(
- *mode = E
+ drm_mode_copy(mode, &E)
|
- memcpy(mode, E, S)
+ drm_mode_copy(mode, E)
)

@depends on !is_mode_copy@
struct drm_display_mode mode;
expression E;
@@
(
- mode = E
+ drm_mode_copy(&mode, &E)
|
- memcpy(&mode, E, S)
+ drm_mode_copy(&mode, E)
)

@@
struct drm_display_mode *mode;
@@
- &*mode
+ mode

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
---
 drivers/gpu/drm/rockchip/cdn-dp-core.c | 2 +-
 drivers/gpu/drm/rockchip/inno_hdmi.c   | 2 +-
 drivers/gpu/drm/rockchip/rk3066_hdmi.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index 4740cc14beb8..adf1027a3f20 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -564,7 +564,7 @@ static void cdn_dp_encoder_mode_set(struct drm_encoder *encoder,
 	video->v_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NVSYNC);
 	video->h_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NHSYNC);
 
-	memcpy(&dp->mode, adjusted, sizeof(*mode));
+	drm_mode_copy(&dp->mode, adjusted);
 }
 
 static bool cdn_dp_check_link_status(struct cdn_dp_device *dp)
diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 046e8ec2a71c..740196d30fba 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -488,7 +488,7 @@ static void inno_hdmi_encoder_mode_set(struct drm_encoder *encoder,
 	inno_hdmi_setup(hdmi, adj_mode);
 
 	/* Store the display mode for plugin/DPMS poweron events */
-	memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode));
+	drm_mode_copy(&hdmi->previous_mode, adj_mode);
 }
 
 static void inno_hdmi_encoder_enable(struct drm_encoder *encoder)
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index 1c546c3a8998..17e7c40a9e7b 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -383,7 +383,7 @@ rk3066_hdmi_encoder_mode_set(struct drm_encoder *encoder,
 	struct rk3066_hdmi *hdmi = to_rk3066_hdmi(encoder);
 
 	/* Store the display mode for plugin/DPMS poweron events. */
-	memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode));
+	drm_mode_copy(&hdmi->previous_mode, adj_mode);
 }
 
 static void rk3066_hdmi_encoder_enable(struct drm_encoder *encoder)
-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
From: Ville Syrjala <ville.syrjala@linux.intel.com>
To: dri-devel@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org
Subject: [PATCH 14/22] drm/rockchip: Use drm_mode_copy()
Date: Fri, 18 Feb 2022 12:03:55 +0200	[thread overview]
Message-ID: <20220218100403.7028-15-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20220218100403.7028-1-ville.syrjala@linux.intel.com>

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

struct drm_display_mode embeds a list head, so overwriting
the full struct with another one will corrupt the list
(if the destination mode is on a list). Use drm_mode_copy()
instead which explicitly preserves the list head of
the destination mode.

Even if we know the destination mode is not on any list
using drm_mode_copy() seems decent as it sets a good
example. Bad examples of not using it might eventually
get copied into code where preserving the list head
actually matters.

Obviously one case not covered here is when the mode
itself is embedded in a larger structure and the whole
structure is copied. But if we are careful when copying
into modes embedded in structures I think we can be a
little more reassured that bogus list heads haven't been
propagated in.

@is_mode_copy@
@@
drm_mode_copy(...)
{
...
}

@depends on !is_mode_copy@
struct drm_display_mode *mode;
expression E, S;
@@
(
- *mode = E
+ drm_mode_copy(mode, &E)
|
- memcpy(mode, E, S)
+ drm_mode_copy(mode, E)
)

@depends on !is_mode_copy@
struct drm_display_mode mode;
expression E;
@@
(
- mode = E
+ drm_mode_copy(&mode, &E)
|
- memcpy(&mode, E, S)
+ drm_mode_copy(&mode, E)
)

@@
struct drm_display_mode *mode;
@@
- &*mode
+ mode

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
---
 drivers/gpu/drm/rockchip/cdn-dp-core.c | 2 +-
 drivers/gpu/drm/rockchip/inno_hdmi.c   | 2 +-
 drivers/gpu/drm/rockchip/rk3066_hdmi.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index 4740cc14beb8..adf1027a3f20 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -564,7 +564,7 @@ static void cdn_dp_encoder_mode_set(struct drm_encoder *encoder,
 	video->v_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NVSYNC);
 	video->h_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NHSYNC);
 
-	memcpy(&dp->mode, adjusted, sizeof(*mode));
+	drm_mode_copy(&dp->mode, adjusted);
 }
 
 static bool cdn_dp_check_link_status(struct cdn_dp_device *dp)
diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 046e8ec2a71c..740196d30fba 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -488,7 +488,7 @@ static void inno_hdmi_encoder_mode_set(struct drm_encoder *encoder,
 	inno_hdmi_setup(hdmi, adj_mode);
 
 	/* Store the display mode for plugin/DPMS poweron events */
-	memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode));
+	drm_mode_copy(&hdmi->previous_mode, adj_mode);
 }
 
 static void inno_hdmi_encoder_enable(struct drm_encoder *encoder)
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index 1c546c3a8998..17e7c40a9e7b 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -383,7 +383,7 @@ rk3066_hdmi_encoder_mode_set(struct drm_encoder *encoder,
 	struct rk3066_hdmi *hdmi = to_rk3066_hdmi(encoder);
 
 	/* Store the display mode for plugin/DPMS poweron events. */
-	memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode));
+	drm_mode_copy(&hdmi->previous_mode, adj_mode);
 }
 
 static void rk3066_hdmi_encoder_enable(struct drm_encoder *encoder)
-- 
2.34.1


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Ville Syrjala <ville.syrjala@linux.intel.com>
To: dri-devel@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org
Subject: [PATCH 14/22] drm/rockchip: Use drm_mode_copy()
Date: Fri, 18 Feb 2022 12:03:55 +0200	[thread overview]
Message-ID: <20220218100403.7028-15-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20220218100403.7028-1-ville.syrjala@linux.intel.com>

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

struct drm_display_mode embeds a list head, so overwriting
the full struct with another one will corrupt the list
(if the destination mode is on a list). Use drm_mode_copy()
instead which explicitly preserves the list head of
the destination mode.

Even if we know the destination mode is not on any list
using drm_mode_copy() seems decent as it sets a good
example. Bad examples of not using it might eventually
get copied into code where preserving the list head
actually matters.

Obviously one case not covered here is when the mode
itself is embedded in a larger structure and the whole
structure is copied. But if we are careful when copying
into modes embedded in structures I think we can be a
little more reassured that bogus list heads haven't been
propagated in.

@is_mode_copy@
@@
drm_mode_copy(...)
{
...
}

@depends on !is_mode_copy@
struct drm_display_mode *mode;
expression E, S;
@@
(
- *mode = E
+ drm_mode_copy(mode, &E)
|
- memcpy(mode, E, S)
+ drm_mode_copy(mode, E)
)

@depends on !is_mode_copy@
struct drm_display_mode mode;
expression E;
@@
(
- mode = E
+ drm_mode_copy(&mode, &E)
|
- memcpy(&mode, E, S)
+ drm_mode_copy(&mode, E)
)

@@
struct drm_display_mode *mode;
@@
- &*mode
+ mode

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
---
 drivers/gpu/drm/rockchip/cdn-dp-core.c | 2 +-
 drivers/gpu/drm/rockchip/inno_hdmi.c   | 2 +-
 drivers/gpu/drm/rockchip/rk3066_hdmi.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index 4740cc14beb8..adf1027a3f20 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -564,7 +564,7 @@ static void cdn_dp_encoder_mode_set(struct drm_encoder *encoder,
 	video->v_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NVSYNC);
 	video->h_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NHSYNC);
 
-	memcpy(&dp->mode, adjusted, sizeof(*mode));
+	drm_mode_copy(&dp->mode, adjusted);
 }
 
 static bool cdn_dp_check_link_status(struct cdn_dp_device *dp)
diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 046e8ec2a71c..740196d30fba 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -488,7 +488,7 @@ static void inno_hdmi_encoder_mode_set(struct drm_encoder *encoder,
 	inno_hdmi_setup(hdmi, adj_mode);
 
 	/* Store the display mode for plugin/DPMS poweron events */
-	memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode));
+	drm_mode_copy(&hdmi->previous_mode, adj_mode);
 }
 
 static void inno_hdmi_encoder_enable(struct drm_encoder *encoder)
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index 1c546c3a8998..17e7c40a9e7b 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -383,7 +383,7 @@ rk3066_hdmi_encoder_mode_set(struct drm_encoder *encoder,
 	struct rk3066_hdmi *hdmi = to_rk3066_hdmi(encoder);
 
 	/* Store the display mode for plugin/DPMS poweron events. */
-	memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode));
+	drm_mode_copy(&hdmi->previous_mode, adj_mode);
 }
 
 static void rk3066_hdmi_encoder_enable(struct drm_encoder *encoder)
-- 
2.34.1


_______________________________________________
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-02-18 10:05 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-18 10:03 [PATCH 00/22] drm: Review of mode copies Ville Syrjala
2022-02-18 10:03 ` Ville Syrjala
2022-02-18 10:03 ` Ville Syrjala
2022-02-18 10:03 ` [Intel-gfx] " Ville Syrjala
2022-02-18 10:03 ` Ville Syrjala
2022-02-18 10:03 ` Ville Syrjala
2022-02-18 10:03 ` [PATCH 01/22] drm: Add drm_mode_init() Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 11:22   ` Andrzej Hajda
2022-02-18 11:22     ` [Intel-gfx] " Andrzej Hajda
2022-02-18 11:56     ` Ville Syrjälä
2022-02-18 11:56       ` [Intel-gfx] " Ville Syrjälä
2022-02-18 12:23       ` Andrzej Hajda
2022-02-18 12:23         ` [Intel-gfx] " Andrzej Hajda
2022-02-18 16:34   ` Harry Wentland
2022-02-18 16:34     ` [Intel-gfx] " Harry Wentland
2022-02-18 10:03 ` [PATCH 02/22] drm/amdgpu: Remove pointless on stack mode copies Ville Syrjala
2022-02-18 10:03   ` Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 16:28   ` Harry Wentland
2022-02-18 16:28     ` [Intel-gfx] " Harry Wentland
2022-03-15 15:57     ` Alex Deucher
2022-03-15 15:57       ` Alex Deucher
2022-03-15 15:57       ` [Intel-gfx] " Alex Deucher
2022-02-18 10:03 ` [PATCH 03/22] drm/amdgpu: Use drm_mode_init() for on-stack modes Ville Syrjala
2022-02-18 10:03   ` Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 16:30   ` Harry Wentland
2022-02-18 16:30     ` [Intel-gfx] " Harry Wentland
2022-02-18 10:03 ` [PATCH 04/22] drm/amdgpu: Use drm_mode_copy() Ville Syrjala
2022-02-18 10:03   ` Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 16:32   ` Harry Wentland
2022-02-18 16:32     ` [Intel-gfx] " Harry Wentland
2022-03-15 18:50     ` Alex Deucher
2022-03-15 18:50       ` Alex Deucher
2022-03-15 18:50       ` [Intel-gfx] " Alex Deucher
2022-02-18 10:03 ` [PATCH 05/22] drm/radeon: " Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-03-15 18:49   ` Alex Deucher
2022-03-15 18:49     ` [Intel-gfx] " Alex Deucher
2022-02-18 10:03 ` [PATCH 06/22] drm/bridge: " Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 11:25   ` Andrzej Hajda
2022-02-18 11:25     ` [Intel-gfx] " Andrzej Hajda
2022-02-18 17:47   ` Laurent Pinchart
2022-02-18 17:47     ` [Intel-gfx] " Laurent Pinchart
2022-02-18 10:03 ` [PATCH 07/22] drm/gma500: " Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-03-16 13:16   ` Patrik Jakobsson
2022-03-16 13:16     ` [Intel-gfx] " Patrik Jakobsson
2022-02-18 10:03 ` [PATCH 08/22] drm/hisilicon: Use drm_mode_init() for on-stack modes Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 10:03 ` [PATCH 09/22] drm/imx: Use drm_mode_duplicate() Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 11:42   ` Philipp Zabel
2022-02-18 11:42     ` [Intel-gfx] " Philipp Zabel
2022-02-18 10:03 ` [PATCH 10/22] drm/msm: Nuke weird on stack mode copy Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 10:03   ` Ville Syrjala
2022-03-23 10:19   ` Dmitry Baryshkov
2022-03-23 10:19     ` [Intel-gfx] " Dmitry Baryshkov
2022-03-23 10:19     ` Dmitry Baryshkov
2022-02-18 10:03 ` [PATCH 11/22] drm/msm: Use drm_mode_init() for on-stack modes Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 10:03   ` Ville Syrjala
2022-03-23 10:11   ` Dmitry Baryshkov
2022-03-23 10:11     ` [Intel-gfx] " Dmitry Baryshkov
2022-03-23 10:11     ` Dmitry Baryshkov
2022-03-23 20:04   ` Abhinav Kumar
2022-03-23 20:04     ` [Intel-gfx] " Abhinav Kumar
2022-03-23 20:04     ` Abhinav Kumar
2022-02-18 10:03 ` [PATCH 12/22] drm/msm: Use drm_mode_copy() Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 10:03   ` Ville Syrjala
2022-03-23 10:12   ` Dmitry Baryshkov
2022-03-23 10:12     ` [Intel-gfx] " Dmitry Baryshkov
2022-03-23 10:12     ` Dmitry Baryshkov
2022-03-23 20:09   ` Abhinav Kumar
2022-03-23 20:09     ` [Intel-gfx] " Abhinav Kumar
2022-03-23 20:09     ` Abhinav Kumar
2022-02-18 10:03 ` [PATCH 13/22] drm/mtk: Use drm_mode_init() for on-stack modes Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 10:03 ` Ville Syrjala [this message]
2022-02-18 10:03   ` [PATCH 14/22] drm/rockchip: Use drm_mode_copy() Ville Syrjala
2022-02-18 10:03   ` Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 10:03 ` [PATCH 15/22] drm/sti: " Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-02-18 10:03 ` [PATCH 16/22] drm/tilcdc: " Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-03-15  4:54   ` Tomi Valkeinen
2022-03-15  4:54     ` [Intel-gfx] " Tomi Valkeinen
2022-02-18 10:03 ` [Intel-gfx] [PATCH 17/22] drm/vc4: " Ville Syrjala
2022-02-18 10:03   ` Ville Syrjala
2022-02-21 10:13   ` (subset) [Intel-gfx] " Maxime Ripard
2022-02-21 10:13     ` [Intel-gfx] (subset) " Maxime Ripard
2022-02-18 10:03 ` [PATCH 18/22] drm/i915: Use drm_mode_init() for on-stack modes Ville Syrjala
2022-02-18 10:03   ` [Intel-gfx] " Ville Syrjala
2022-03-16  8:00   ` Jani Nikula
2022-03-21 18:57     ` Ville Syrjälä
2022-03-21 18:57       ` [cocci] " Ville Syrjälä
2022-03-21 20:48       ` Julia Lawall
2022-03-21 20:48         ` Julia Lawall
2022-02-18 10:04 ` [PATCH 19/22] drm/i915: Use drm_mode_copy() Ville Syrjala
2022-02-18 10:04   ` [Intel-gfx] " Ville Syrjala
2022-03-16  8:04   ` Jani Nikula
2022-02-18 10:04 ` [PATCH 20/22] drm/panel: Use drm_mode_duplicate() Ville Syrjala
2022-02-18 10:04   ` [Intel-gfx] " Ville Syrjala
2022-02-18 11:51   ` Sam Ravnborg
2022-02-18 11:51     ` [Intel-gfx] " Sam Ravnborg
2022-02-18 10:04 ` [PATCH 21/22] drm: Use drm_mode_init() for on-stack modes Ville Syrjala
2022-02-18 10:04   ` [Intel-gfx] " Ville Syrjala
2022-03-22 11:10   ` Andrzej Hajda
2022-03-22 11:10     ` [Intel-gfx] " Andrzej Hajda
2022-02-18 10:04 ` [PATCH 22/22] drm: Use drm_mode_copy() Ville Syrjala
2022-02-18 10:04   ` [Intel-gfx] " Ville Syrjala
2022-03-22 11:19   ` Andrzej Hajda
2022-03-22 11:19     ` [Intel-gfx] " Andrzej Hajda
2022-02-18 13:43 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm: Review of mode copies Patchwork
2022-02-18 14:16 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-02-19  5:06 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-03-14 22:11 ` [PATCH 00/22] " Ville Syrjälä
2022-03-14 22:11   ` Ville Syrjälä
2022-03-14 22:11   ` Ville Syrjälä
2022-03-14 22:11   ` [Intel-gfx] " Ville Syrjälä
2022-03-14 22:11   ` Ville Syrjälä
2022-03-14 22:11   ` Ville Syrjälä
2022-03-15 18:52   ` Alex Deucher
2022-03-15 18:52     ` Alex Deucher
2022-03-15 18:52     ` Alex Deucher
2022-03-15 18:52     ` [Intel-gfx] " Alex Deucher
2022-03-15 18:52     ` Alex Deucher
2022-03-15 18:52     ` Alex Deucher
2022-03-21 22:37     ` Ville Syrjälä
2022-03-21 22:37       ` Ville Syrjälä
2022-03-21 22:37       ` Ville Syrjälä
2022-03-21 22:37       ` Ville Syrjälä
2022-03-21 22:37       ` Ville Syrjälä
2022-03-21 22:37       ` [Intel-gfx] " Ville Syrjälä
2022-03-23 10:39       ` Dmitry Baryshkov
2022-03-23 10:39         ` [Intel-gfx] " Dmitry Baryshkov
2022-03-23 10:39         ` Dmitry Baryshkov
2022-03-23 10:39         ` Dmitry Baryshkov
2022-03-23 10:39         ` Dmitry Baryshkov
2022-03-23 10:39         ` Dmitry Baryshkov
2022-03-23 15:10         ` Ville Syrjälä
2022-03-23 15:10           ` Ville Syrjälä
2022-03-23 15:10           ` Ville Syrjälä
2022-03-23 15:10           ` Ville Syrjälä
2022-03-23 15:10           ` [Intel-gfx] " Ville Syrjälä
2022-03-23 15:10           ` Ville Syrjälä
2022-03-23 20:50         ` Abhinav Kumar
2022-03-23 20:50           ` Abhinav Kumar
2022-03-23 20:50           ` [Intel-gfx] " Abhinav Kumar
2022-03-23 20:50           ` Abhinav Kumar
2022-03-23 20:50           ` Abhinav Kumar

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=20220218100403.7028-15-ville.syrjala@linux.intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hjc@rock-chips.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.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.