Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20240228-nifty-flashy-shrew-905edc@houat>

diff --git a/a/1.1.hdr b/N1/1.1.hdr
index 5a32186..368ea2d 100644
--- a/a/1.1.hdr
+++ b/N1/1.1.hdr
@@ -1,3 +1,3 @@
-Content-Type: text/plain; charset=us-ascii
+Content-Type: text/plain; charset=iso-8859-1
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
diff --git a/a/1.1.txt b/N1/1.1.txt
index 8e9309b..80ad36c 100644
--- a/a/1.1.txt
+++ b/N1/1.1.txt
@@ -1,93 +1,40 @@
-Hi,
-
-On Mon, Feb 26, 2024 at 08:44:45PM -0800, Anatoliy Klymenko wrote:
-> Add select_output_bus_format to CRTC atomic helpers callbacks. This
-> callback Will allow CRTC to participate in media bus format negotiation
-> over connected DRM bridge chain and impose CRTC-specific restrictions.
-> A good example is CRTC implemented as FPGA soft IP. This kind of CRTC will
-> most certainly support a single output media bus format, as supporting
-> multiple runtime options consumes extra FPGA resources. A variety of
-> options for FPGA are usually achieved by synthesizing IP with different
-> parameters.
-> 
-> Incorporate select_output_bus_format callback into the format negotiation
-> stage to fix the input bus format of the first DRM bridge in the chain.
+On Tue, Feb 27, 2024 at 07:45:01PM -0300, Maíra Canal wrote:
+> Hi Maxime,
 > 
-> Signed-off-by: Anatoliy Klymenko <anatoliy.klymenko@amd.com>
-> ---
->  drivers/gpu/drm/drm_bridge.c             | 19 +++++++++++++++++--
->  include/drm/drm_modeset_helper_vtables.h | 31 +++++++++++++++++++++++++++++++
->  2 files changed, 48 insertions(+), 2 deletions(-)
+> On 2/27/24 10:02, Maxime Ripard wrote:
+> > Hi Maíra,
+> > 
+> > Thanks for you reviews!
+> > 
+> > On Mon, Feb 26, 2024 at 09:29:32AM -0300, Maíra Canal wrote:
+> > > On 2/22/24 15:14, Maxime Ripard wrote:
+> > > > The vc4_dummy_plane structure is an exact equivalent to vc4_plane, so we
+> > > 
+> > > Maybe I understood incorrectly, but isn't the vc4_dummy_plane structure
+> > > equivalent to drm_plane?
+> > 
+> > Both statements are true :)
+> > 
+> > vc4 itself uses vc4_plane to holds its plane-related content, but it
+> > turns out that there's nothing in that structure anymore and vc4_plane
+> > == drm_plane.
+> > 
+> > In our mock driver, we have another structure meant to store the
+> > mock-plane-related content which doesn't have anything in it anymore,
+> > and is thus equivalent to vc4_plane.
+> > 
+> > So, basically, vc4_dummy_plane == vc4_plane == drm_plane.
+> > 
+> > This patch is only about getting rid of vc4_dummy_plane though.
+> > 
+> > Is it clearer?
+> > 
 > 
-> diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
-> index 521a71c61b16..453ae3d174b4 100644
-> --- a/drivers/gpu/drm/drm_bridge.c
-> +++ b/drivers/gpu/drm/drm_bridge.c
-> @@ -32,6 +32,7 @@
->  #include <drm/drm_edid.h>
->  #include <drm/drm_encoder.h>
->  #include <drm/drm_file.h>
-> +#include <drm/drm_modeset_helper_vtables.h>
->  #include <drm/drm_of.h>
->  #include <drm/drm_print.h>
->  
-> @@ -879,7 +880,8 @@ static int select_bus_fmt_recursive(struct drm_bridge *first_bridge,
->  	unsigned int i, num_in_bus_fmts = 0;
->  	struct drm_bridge_state *cur_state;
->  	struct drm_bridge *prev_bridge;
-> -	u32 *in_bus_fmts;
-> +	struct drm_crtc *crtc = crtc_state->crtc;
-> +	u32 *in_bus_fmts, in_fmt;
->  	int ret;
->  
->  	prev_bridge = drm_bridge_get_prev_bridge(cur_bridge);
-> @@ -933,7 +935,20 @@ static int select_bus_fmt_recursive(struct drm_bridge *first_bridge,
->  		return -ENOMEM;
->  
->  	if (first_bridge == cur_bridge) {
-> -		cur_state->input_bus_cfg.format = in_bus_fmts[0];
-> +		in_fmt = in_bus_fmts[0];
-> +		if (crtc->helper_private &&
-> +		    crtc->helper_private->select_output_bus_format) {
-> +			in_fmt = crtc->helper_private->select_output_bus_format(
-> +							crtc,
-> +							crtc->state,
-> +							in_bus_fmts,
-> +							num_in_bus_fmts);
-> +			if (!in_fmt) {
-> +				kfree(in_bus_fmts);
-> +				return -ENOTSUPP;
-> +			}
-> +		}
-> +		cur_state->input_bus_cfg.format = in_fmt;
-
-I don't think we should start poking at the CRTC internals, but we
-should rather provide a helper here.
-
->  		cur_state->output_bus_cfg.format = out_bus_fmt;
->  		kfree(in_bus_fmts);
->  		return 0;
-> diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
-> index 881b03e4dc28..7c21ae1fe3ad 100644
-> --- a/include/drm/drm_modeset_helper_vtables.h
-> +++ b/include/drm/drm_modeset_helper_vtables.h
-> @@ -489,6 +489,37 @@ struct drm_crtc_helper_funcs {
->  				     bool in_vblank_irq, int *vpos, int *hpos,
->  				     ktime_t *stime, ktime_t *etime,
->  				     const struct drm_display_mode *mode);
-> +
-> +	/**
-> +	 * @select_output_bus_format
-> +	 *
-> +	 * Called by the first connected DRM bridge to negotiate input media
-> +	 * bus format. CRTC is expected to pick preferable media formats from
-> +	 * the list supported by the DRM bridge chain.
+> Yeah, with that pointed out, you can add my:
 
-There's nothing restricting it to bridges here. Please rephrase this to
-remove the bridge mention. The user is typically going to be the
-encoder, and bridges are just an automagic implementation of an encoder.
+I'll rephrase for the next version then
 
-And generally speaking, I'd really like to have an implementation
-available before merging this.
+> Reviewed-by: Maíra Canal <mcanal@igalia.com>
 
+Thanks!
 Maxime
diff --git a/a/1.2.bin b/N1/1.2.bin
index 2a95035..340531c 100644
--- a/a/1.2.bin
+++ b/N1/1.2.bin
@@ -1,7 +1,7 @@
 -----BEGIN PGP SIGNATURE-----
 
-iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCZd9RXQAKCRDj7w1vZxhR
-xabiAPwMUBllLVjJ2R8GSARBjyjpbidi/etMNmmjB31GnUsLCQD9GXcs+YhUV+XC
-WZuXsHmZaEgjQI0Yn+ELSS5uW/RRqgg=
-=PnFN
+iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCZd9ccAAKCRDj7w1vZxhR
+xQ/aAQDzU4vVfau883o71TzEeE+lysJ38XPUbtp9Q818fxbvSAD/TfNo9QsQjVLO
+TjOhPuL8arGdUmexXtTS6jTunClBzAA=
+=6H0O
 -----END PGP SIGNATURE-----
diff --git a/a/content_digest b/N1/content_digest
index cf96148..f0204fd 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,127 +1,83 @@
- "ref\020240226-dp-live-fmt-v1-0-b78c3f69c9d8@amd.com\0"
- "ref\020240226-dp-live-fmt-v1-4-b78c3f69c9d8@amd.com\0"
+ "ref\020240222-kms-hdmi-connector-state-v7-0-8f4af575fce2@kernel.org\0"
+ "ref\020240222-kms-hdmi-connector-state-v7-29-8f4af575fce2@kernel.org\0"
+ "ref\0244fe6b9-f295-4c85-908a-014ada0033fa@igalia.com\0"
+ "ref\0y7mxj2i56h7bcnonywjdf2eirdqil66k32drw3wb3z7juqr3ph@4u24mlrvxslc\0"
+ "ref\02693770c-0d27-4186-87e1-e55a0a5f17a5@igalia.com\0"
  "From\0Maxime Ripard <mripard@kernel.org>\0"
- "Subject\0Re: [PATCH 4/4] drm/atomic-helper: Add select_output_bus_format callback\0"
- "Date\0Wed, 28 Feb 2024 16:29:33 +0100\0"
- "To\0Anatoliy Klymenko <anatoliy.klymenko@amd.com>\0"
- "Cc\0Laurent Pinchart <laurent.pinchart@ideasonboard.com>"
-  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
+ "Subject\0Re: [PATCH v7 29/36] drm/vc4: tests: Remove vc4_dummy_plane structure\0"
+ "Date\0Wed, 28 Feb 2024 17:16:48 +0100\0"
+ "To\0Ma\303\255ra Canal <mcanal@igalia.com>\0"
+ "Cc\0Maarten Lankhorst <maarten.lankhorst@linux.intel.com>"
   Thomas Zimmermann <tzimmermann@suse.de>
   David Airlie <airlied@gmail.com>
   Daniel Vetter <daniel@ffwll.ch>
-  Michal Simek <michal.simek@amd.com>
-  Andrzej Hajda <andrzej.hajda@intel.com>
-  Neil Armstrong <neil.armstrong@linaro.org>
-  Robert Foss <rfoss@kernel.org>
-  Jonas Karlman <jonas@kwiboo.se>
+  Jonathan Corbet <corbet@lwn.net>
+  Sandy Huang <hjc@rock-chips.com>
+ " Heiko St\303\274bner <heiko@sntech.de>"
+  Chen-Yu Tsai <wens@csie.org>
   Jernej Skrabec <jernej.skrabec@gmail.com>
+  Samuel Holland <samuel@sholland.org>
+  Hans Verkuil <hverkuil@xs4all.nl>
+  Sebastian Wick <sebastian.wick@redhat.com>
+ " Ville Syrj\303\244l\303\244 <ville.syrjala@linux.intel.com>"
   dri-devel@lists.freedesktop.org
   linux-arm-kernel@lists.infradead.org
- " linux-kernel@vger.kernel.org\0"
+  linux-doc@vger.kernel.org
+  linux-kernel@vger.kernel.org
+  linux-media@vger.kernel.org
+  linux-rockchip@lists.infradead.org
+ " linux-sunxi@lists.linux.dev\0"
  "\02:1.1\0"
  "b\0"
- "Hi,\n"
- "\n"
- "On Mon, Feb 26, 2024 at 08:44:45PM -0800, Anatoliy Klymenko wrote:\n"
- "> Add select_output_bus_format to CRTC atomic helpers callbacks. This\n"
- "> callback Will allow CRTC to participate in media bus format negotiation\n"
- "> over connected DRM bridge chain and impose CRTC-specific restrictions.\n"
- "> A good example is CRTC implemented as FPGA soft IP. This kind of CRTC will\n"
- "> most certainly support a single output media bus format, as supporting\n"
- "> multiple runtime options consumes extra FPGA resources. A variety of\n"
- "> options for FPGA are usually achieved by synthesizing IP with different\n"
- "> parameters.\n"
- "> \n"
- "> Incorporate select_output_bus_format callback into the format negotiation\n"
- "> stage to fix the input bus format of the first DRM bridge in the chain.\n"
+ "On Tue, Feb 27, 2024 at 07:45:01PM -0300, Ma\303\255ra Canal wrote:\n"
+ "> Hi Maxime,\n"
  "> \n"
- "> Signed-off-by: Anatoliy Klymenko <anatoliy.klymenko@amd.com>\n"
- "> ---\n"
- ">  drivers/gpu/drm/drm_bridge.c             | 19 +++++++++++++++++--\n"
- ">  include/drm/drm_modeset_helper_vtables.h | 31 +++++++++++++++++++++++++++++++\n"
- ">  2 files changed, 48 insertions(+), 2 deletions(-)\n"
+ "> On 2/27/24 10:02, Maxime Ripard wrote:\n"
+ "> > Hi Ma\303\255ra,\n"
+ "> > \n"
+ "> > Thanks for you reviews!\n"
+ "> > \n"
+ "> > On Mon, Feb 26, 2024 at 09:29:32AM -0300, Ma\303\255ra Canal wrote:\n"
+ "> > > On 2/22/24 15:14, Maxime Ripard wrote:\n"
+ "> > > > The vc4_dummy_plane structure is an exact equivalent to vc4_plane, so we\n"
+ "> > > \n"
+ "> > > Maybe I understood incorrectly, but isn't the vc4_dummy_plane structure\n"
+ "> > > equivalent to drm_plane?\n"
+ "> > \n"
+ "> > Both statements are true :)\n"
+ "> > \n"
+ "> > vc4 itself uses vc4_plane to holds its plane-related content, but it\n"
+ "> > turns out that there's nothing in that structure anymore and vc4_plane\n"
+ "> > == drm_plane.\n"
+ "> > \n"
+ "> > In our mock driver, we have another structure meant to store the\n"
+ "> > mock-plane-related content which doesn't have anything in it anymore,\n"
+ "> > and is thus equivalent to vc4_plane.\n"
+ "> > \n"
+ "> > So, basically, vc4_dummy_plane == vc4_plane == drm_plane.\n"
+ "> > \n"
+ "> > This patch is only about getting rid of vc4_dummy_plane though.\n"
+ "> > \n"
+ "> > Is it clearer?\n"
+ "> > \n"
  "> \n"
- "> diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c\n"
- "> index 521a71c61b16..453ae3d174b4 100644\n"
- "> --- a/drivers/gpu/drm/drm_bridge.c\n"
- "> +++ b/drivers/gpu/drm/drm_bridge.c\n"
- "> @@ -32,6 +32,7 @@\n"
- ">  #include <drm/drm_edid.h>\n"
- ">  #include <drm/drm_encoder.h>\n"
- ">  #include <drm/drm_file.h>\n"
- "> +#include <drm/drm_modeset_helper_vtables.h>\n"
- ">  #include <drm/drm_of.h>\n"
- ">  #include <drm/drm_print.h>\n"
- ">  \n"
- "> @@ -879,7 +880,8 @@ static int select_bus_fmt_recursive(struct drm_bridge *first_bridge,\n"
- ">  \tunsigned int i, num_in_bus_fmts = 0;\n"
- ">  \tstruct drm_bridge_state *cur_state;\n"
- ">  \tstruct drm_bridge *prev_bridge;\n"
- "> -\tu32 *in_bus_fmts;\n"
- "> +\tstruct drm_crtc *crtc = crtc_state->crtc;\n"
- "> +\tu32 *in_bus_fmts, in_fmt;\n"
- ">  \tint ret;\n"
- ">  \n"
- ">  \tprev_bridge = drm_bridge_get_prev_bridge(cur_bridge);\n"
- "> @@ -933,7 +935,20 @@ static int select_bus_fmt_recursive(struct drm_bridge *first_bridge,\n"
- ">  \t\treturn -ENOMEM;\n"
- ">  \n"
- ">  \tif (first_bridge == cur_bridge) {\n"
- "> -\t\tcur_state->input_bus_cfg.format = in_bus_fmts[0];\n"
- "> +\t\tin_fmt = in_bus_fmts[0];\n"
- "> +\t\tif (crtc->helper_private &&\n"
- "> +\t\t    crtc->helper_private->select_output_bus_format) {\n"
- "> +\t\t\tin_fmt = crtc->helper_private->select_output_bus_format(\n"
- "> +\t\t\t\t\t\t\tcrtc,\n"
- "> +\t\t\t\t\t\t\tcrtc->state,\n"
- "> +\t\t\t\t\t\t\tin_bus_fmts,\n"
- "> +\t\t\t\t\t\t\tnum_in_bus_fmts);\n"
- "> +\t\t\tif (!in_fmt) {\n"
- "> +\t\t\t\tkfree(in_bus_fmts);\n"
- "> +\t\t\t\treturn -ENOTSUPP;\n"
- "> +\t\t\t}\n"
- "> +\t\t}\n"
- "> +\t\tcur_state->input_bus_cfg.format = in_fmt;\n"
- "\n"
- "I don't think we should start poking at the CRTC internals, but we\n"
- "should rather provide a helper here.\n"
- "\n"
- ">  \t\tcur_state->output_bus_cfg.format = out_bus_fmt;\n"
- ">  \t\tkfree(in_bus_fmts);\n"
- ">  \t\treturn 0;\n"
- "> diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h\n"
- "> index 881b03e4dc28..7c21ae1fe3ad 100644\n"
- "> --- a/include/drm/drm_modeset_helper_vtables.h\n"
- "> +++ b/include/drm/drm_modeset_helper_vtables.h\n"
- "> @@ -489,6 +489,37 @@ struct drm_crtc_helper_funcs {\n"
- ">  \t\t\t\t     bool in_vblank_irq, int *vpos, int *hpos,\n"
- ">  \t\t\t\t     ktime_t *stime, ktime_t *etime,\n"
- ">  \t\t\t\t     const struct drm_display_mode *mode);\n"
- "> +\n"
- "> +\t/**\n"
- "> +\t * @select_output_bus_format\n"
- "> +\t *\n"
- "> +\t * Called by the first connected DRM bridge to negotiate input media\n"
- "> +\t * bus format. CRTC is expected to pick preferable media formats from\n"
- "> +\t * the list supported by the DRM bridge chain.\n"
+ "> Yeah, with that pointed out, you can add my:\n"
  "\n"
- "There's nothing restricting it to bridges here. Please rephrase this to\n"
- "remove the bridge mention. The user is typically going to be the\n"
- "encoder, and bridges are just an automagic implementation of an encoder.\n"
+ "I'll rephrase for the next version then\n"
  "\n"
- "And generally speaking, I'd really like to have an implementation\n"
- "available before merging this.\n"
+ "> Reviewed-by: Ma\303\255ra Canal <mcanal@igalia.com>\n"
  "\n"
+ "Thanks!\n"
  Maxime
  "\02:1.2\0"
  "fn\0signature.asc\0"
  "b\0"
  "-----BEGIN PGP SIGNATURE-----\n"
  "\n"
- "iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCZd9RXQAKCRDj7w1vZxhR\n"
- "xabiAPwMUBllLVjJ2R8GSARBjyjpbidi/etMNmmjB31GnUsLCQD9GXcs+YhUV+XC\n"
- "WZuXsHmZaEgjQI0Yn+ELSS5uW/RRqgg=\n"
- "=PnFN\n"
+ "iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCZd9ccAAKCRDj7w1vZxhR\n"
+ "xQ/aAQDzU4vVfau883o71TzEeE+lysJ38XPUbtp9Q818fxbvSAD/TfNo9QsQjVLO\n"
+ "TjOhPuL8arGdUmexXtTS6jTunClBzAA=\n"
+ "=6H0O\n"
  "-----END PGP SIGNATURE-----\n"
  "\01:2\0"
  "b\0"
@@ -130,4 +86,4 @@
  "linux-arm-kernel@lists.infradead.org\n"
  http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
 
-d2fb510527df71ebbf7fbe184a6af56001978b4a12f299afe306788988a82863
+45fc2ebf33b978581af7b1ce253b30206fc5c0be00a5cd4787a64080c79e2677

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox