Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/16] drm: fix headers, add header test facility
@ 2024-03-08 11:55 Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 01/16] drm: add missing header guards to drm_crtc_internal.h Jani Nikula
                   ` (22 more replies)
  0 siblings, 23 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Follow-up to [1], with the already merged patches dropped, review
comments addressed, some new patches added, etc.

I did still leave in the FIXME comments in "drm/i2c: silence ch7006.h
and sil164.h kernel-doc warnings", and just silenced the
warnings. Fairly rarely used stuff, and mostly self-explanatory. I hope
that's fine.

BR,
Jani.


[1] https://lore.kernel.org/all/cover.1709749576.git.jani.nikula@intel.com/

Geert Uytterhoeven (1):
  m68k: pgtable: Add missing #include <asm/page.h>

Jani Nikula (15):
  drm: add missing header guards to drm_crtc_internal.h
  drm: add missing header guards to drm_crtc_helper_internal.h
  drm/encoder: improve drm_encoder_slave.h kernel-doc
  drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings
  drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc
  drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings
  drm/i915/pxp: fix i915_pxp_tee_interface.h kernel-doc warnings
  drm/ttm: fix ttm_bo.h kernel-doc warnings
  drm/ttm: make ttm_caching.h self-contained
  drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings
  drm/ttm: fix ttm_kmap_iter.h kernel-doc warnings
  drm/ttm: make ttm_pool.h self-contained
  drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h
  drm: avoid includes in drm_crtc_helper_internal.h
  drm: ensure drm headers are self-contained and pass kernel-doc

 Kbuild                                        |  1 +
 arch/m68k/include/asm/pgtable.h               |  2 +
 drivers/gpu/drm/Kconfig                       | 11 +++
 drivers/gpu/drm/Makefile                      | 18 ++++
 .../display/drm_dp_mst_topology_internal.h    |  4 +-
 drivers/gpu/drm/drm_crtc_helper_internal.h    | 15 ++-
 drivers/gpu/drm/drm_crtc_internal.h           |  5 +
 include/Kbuild                                |  1 +
 include/drm/Makefile                          | 18 ++++
 include/drm/drm_encoder_slave.h               | 91 +++++++++++++++----
 include/drm/i2c/ch7006.h                      |  1 +
 include/drm/i2c/sil164.h                      |  1 +
 include/drm/i915_gsc_proxy_mei_interface.h    |  4 +-
 include/drm/i915_hdcp_interface.h             | 18 +++-
 include/drm/i915_pxp_tee_interface.h          | 27 ++++--
 include/drm/ttm/ttm_bo.h                      | 18 ++--
 include/drm/ttm/ttm_caching.h                 |  2 +
 include/drm/ttm/ttm_execbuf_util.h            |  7 +-
 include/drm/ttm/ttm_kmap_iter.h               |  4 +-
 include/drm/ttm/ttm_pool.h                    |  5 +-
 20 files changed, 203 insertions(+), 50 deletions(-)
 create mode 100644 include/Kbuild
 create mode 100644 include/drm/Makefile

-- 
2.39.2


^ permalink raw reply	[flat|nested] 36+ messages in thread

* [PATCH v2 01/16] drm: add missing header guards to drm_crtc_internal.h
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 17:19   ` Alex Deucher
  2024-03-08 11:55 ` [PATCH v2 02/16] drm: add missing header guards to drm_crtc_helper_internal.h Jani Nikula
                   ` (21 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Including the file twice can lead to errors.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/drm_crtc_internal.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
index c0c5d79ed4c9..0c693229a1c9 100644
--- a/drivers/gpu/drm/drm_crtc_internal.h
+++ b/drivers/gpu/drm/drm_crtc_internal.h
@@ -32,6 +32,9 @@
  * and are not exported to drivers.
  */
 
+#ifndef __DRM_CRTC_INTERNAL_H__
+#define __DRM_CRTC_INTERNAL_H__
+
 #include <linux/err.h>
 #include <linux/types.h>
 
@@ -305,3 +308,5 @@ drm_edid_load_firmware(struct drm_connector *connector)
 	return ERR_PTR(-ENOENT);
 }
 #endif
+
+#endif /* __DRM_CRTC_INTERNAL_H__ */
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 02/16] drm: add missing header guards to drm_crtc_helper_internal.h
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 01/16] drm: add missing header guards to drm_crtc_internal.h Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 17:21   ` Alex Deucher
  2024-03-08 11:55 ` [PATCH v2 03/16] drm/encoder: improve drm_encoder_slave.h kernel-doc Jani Nikula
                   ` (20 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Including the file twice can lead to errors.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/drm_crtc_helper_internal.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/drm_crtc_helper_internal.h b/drivers/gpu/drm/drm_crtc_helper_internal.h
index 28e04e750130..ed4deed07abd 100644
--- a/drivers/gpu/drm/drm_crtc_helper_internal.h
+++ b/drivers/gpu/drm/drm_crtc_helper_internal.h
@@ -26,6 +26,9 @@
  * implementation details and are not exported to drivers.
  */
 
+#ifndef __DRM_CRTC_HELPER_INTERNAL_H__
+#define __DRM_CRTC_HELPER_INTERNAL_H__
+
 #include <drm/drm_connector.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_encoder.h>
@@ -44,3 +47,5 @@ drm_connector_mode_valid(struct drm_connector *connector,
 
 struct drm_encoder *
 drm_connector_get_single_encoder(struct drm_connector *connector);
+
+#endif /* __DRM_CRTC_HELPER_INTERNAL_H__ */
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 03/16] drm/encoder: improve drm_encoder_slave.h kernel-doc
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 01/16] drm: add missing header guards to drm_crtc_internal.h Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 02/16] drm: add missing header guards to drm_crtc_helper_internal.h Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 17:21   ` Alex Deucher
  2024-03-08 11:55 ` [PATCH v2 04/16] drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings Jani Nikula
                   ` (19 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Document structs drm_encoder_slave_funcs, drm_encoder_slave, and
drm_i2c_encoder_driver.

v2: Actually document the structs instead of just silencing kernel-doc

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/drm_encoder_slave.h | 91 +++++++++++++++++++++++++++------
 1 file changed, 74 insertions(+), 17 deletions(-)

diff --git a/include/drm/drm_encoder_slave.h b/include/drm/drm_encoder_slave.h
index 7214101fd731..49172166a164 100644
--- a/include/drm/drm_encoder_slave.h
+++ b/include/drm/drm_encoder_slave.h
@@ -34,12 +34,6 @@
 
 /**
  * struct drm_encoder_slave_funcs - Entry points exposed by a slave encoder driver
- * @set_config:	Initialize any encoder-specific modesetting parameters.
- *		The meaning of the @params parameter is implementation
- *		dependent. It will usually be a structure with DVO port
- *		data format settings or timings. It's not required for
- *		the new parameters to take effect until the next mode
- *		is set.
  *
  * Most of its members are analogous to the function pointers in
  * &drm_encoder_helper_funcs and they can optionally be used to
@@ -48,41 +42,85 @@
  * if the encoder is the currently selected one for the connector.
  */
 struct drm_encoder_slave_funcs {
+	/**
+	 * @set_config: Initialize any encoder-specific modesetting parameters.
+	 * The meaning of the @params parameter is implementation dependent. It
+	 * will usually be a structure with DVO port data format settings or
+	 * timings. It's not required for the new parameters to take effect
+	 * until the next mode is set.
+	 */
 	void (*set_config)(struct drm_encoder *encoder,
 			   void *params);
 
+	/**
+	 * @destroy: Analogous to &drm_encoder_funcs @destroy callback.
+	 */
 	void (*destroy)(struct drm_encoder *encoder);
+
+	/**
+	 * @dpms: Analogous to &drm_encoder_helper_funcs @dpms callback. Wrapped
+	 * by drm_i2c_encoder_dpms().
+	 */
 	void (*dpms)(struct drm_encoder *encoder, int mode);
+
+	/**
+	 * @save: Save state. Wrapped by drm_i2c_encoder_save().
+	 */
 	void (*save)(struct drm_encoder *encoder);
+
+	/**
+	 * @restore: Restore state. Wrapped by drm_i2c_encoder_restore().
+	 */
 	void (*restore)(struct drm_encoder *encoder);
+
+	/**
+	 * @mode_fixup: Analogous to &drm_encoder_helper_funcs @mode_fixup
+	 * callback. Wrapped by drm_i2c_encoder_mode_fixup().
+	 */
 	bool (*mode_fixup)(struct drm_encoder *encoder,
 			   const struct drm_display_mode *mode,
 			   struct drm_display_mode *adjusted_mode);
+
+	/**
+	 * @mode_valid: Analogous to &drm_encoder_helper_funcs @mode_valid.
+	 */
 	int (*mode_valid)(struct drm_encoder *encoder,
 			  struct drm_display_mode *mode);
+	/**
+	 * @mode_set: Analogous to &drm_encoder_helper_funcs @mode_set
+	 * callback. Wrapped by drm_i2c_encoder_mode_set().
+	 */
 	void (*mode_set)(struct drm_encoder *encoder,
 			 struct drm_display_mode *mode,
 			 struct drm_display_mode *adjusted_mode);
 
+	/**
+	 * @detect: Analogous to &drm_encoder_helper_funcs @detect
+	 * callback. Wrapped by drm_i2c_encoder_detect().
+	 */
 	enum drm_connector_status (*detect)(struct drm_encoder *encoder,
 					    struct drm_connector *connector);
+	/**
+	 * @get_modes: Get modes.
+	 */
 	int (*get_modes)(struct drm_encoder *encoder,
 			 struct drm_connector *connector);
+	/**
+	 * @create_resources: Create resources.
+	 */
 	int (*create_resources)(struct drm_encoder *encoder,
 				 struct drm_connector *connector);
+	/**
+	 * @set_property: Set property.
+	 */
 	int (*set_property)(struct drm_encoder *encoder,
 			    struct drm_connector *connector,
 			    struct drm_property *property,
 			    uint64_t val);
-
 };
 
 /**
  * struct drm_encoder_slave - Slave encoder struct
- * @base: DRM encoder object.
- * @slave_funcs: Slave encoder callbacks.
- * @slave_priv: Slave encoder private data.
- * @bus_priv: Bus specific data.
  *
  * A &drm_encoder_slave has two sets of callbacks, @slave_funcs and the
  * ones in @base. The former are never actually called by the common
@@ -95,10 +133,24 @@ struct drm_encoder_slave_funcs {
  * this.
  */
 struct drm_encoder_slave {
+	/**
+	 * @base: DRM encoder object.
+	 */
 	struct drm_encoder base;
 
+	/**
+	 * @slave_funcs: Slave encoder callbacks.
+	 */
 	const struct drm_encoder_slave_funcs *slave_funcs;
+
+	/**
+	 * @slave_priv: Slave encoder private data.
+	 */
 	void *slave_priv;
+
+	/**
+	 * @bus_priv: Bus specific data.
+	 */
 	void *bus_priv;
 };
 #define to_encoder_slave(x) container_of((x), struct drm_encoder_slave, base)
@@ -112,16 +164,20 @@ int drm_i2c_encoder_init(struct drm_device *dev,
 /**
  * struct drm_i2c_encoder_driver
  *
- * Describes a device driver for an encoder connected to the GPU
- * through an I2C bus. In addition to the entry points in @i2c_driver
- * an @encoder_init function should be provided. It will be called to
- * give the driver an opportunity to allocate any per-encoder data
- * structures and to initialize the @slave_funcs and (optionally)
- * @slave_priv members of @encoder.
+ * Describes a device driver for an encoder connected to the GPU through an I2C
+ * bus.
  */
 struct drm_i2c_encoder_driver {
+	/**
+	 * @i2c_driver: I2C device driver description.
+	 */
 	struct i2c_driver i2c_driver;
 
+	/**
+	 * @encoder_init: Callback to allocate any per-encoder data structures
+	 * and to initialize the @slave_funcs and (optionally) @slave_priv
+	 * members of @encoder.
+	 */
 	int (*encoder_init)(struct i2c_client *client,
 			    struct drm_device *dev,
 			    struct drm_encoder_slave *encoder);
@@ -133,6 +189,7 @@ struct drm_i2c_encoder_driver {
 
 /**
  * drm_i2c_encoder_get_client - Get the I2C client corresponding to an encoder
+ * @encoder: The encoder
  */
 static inline struct i2c_client *drm_i2c_encoder_get_client(struct drm_encoder *encoder)
 {
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 04/16] drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (2 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 03/16] drm/encoder: improve drm_encoder_slave.h kernel-doc Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 05/16] drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc Jani Nikula
                   ` (18 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Mark some members private to silence kernel-doc warnings, and add FIXME
comments.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/i2c/ch7006.h | 1 +
 include/drm/i2c/sil164.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/include/drm/i2c/ch7006.h b/include/drm/i2c/ch7006.h
index 8390b437a1f8..5305b9797f93 100644
--- a/include/drm/i2c/ch7006.h
+++ b/include/drm/i2c/ch7006.h
@@ -37,6 +37,7 @@
  * meaning.
  */
 struct ch7006_encoder_params {
+	/* private: FIXME: document the members */
 	enum {
 		CH7006_FORMAT_RGB16 = 0,
 		CH7006_FORMAT_YCrCb24m16,
diff --git a/include/drm/i2c/sil164.h b/include/drm/i2c/sil164.h
index 205e27384c83..ddf248693c8b 100644
--- a/include/drm/i2c/sil164.h
+++ b/include/drm/i2c/sil164.h
@@ -36,6 +36,7 @@
  * See "http://www.siliconimage.com/docs/SiI-DS-0021-E-164.pdf".
  */
 struct sil164_encoder_params {
+	/* private: FIXME: document the members */
 	enum {
 		SIL164_INPUT_EDGE_FALLING = 0,
 		SIL164_INPUT_EDGE_RISING
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 05/16] drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (3 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 04/16] drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 06/16] drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings Jani Nikula
                   ` (17 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

There's no proper way to document function pointer members, but at least
silence the warnings.

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/i915_gsc_proxy_mei_interface.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/drm/i915_gsc_proxy_mei_interface.h b/include/drm/i915_gsc_proxy_mei_interface.h
index 9462341d3ae1..850dfbf40607 100644
--- a/include/drm/i915_gsc_proxy_mei_interface.h
+++ b/include/drm/i915_gsc_proxy_mei_interface.h
@@ -21,7 +21,7 @@ struct i915_gsc_proxy_component_ops {
 	struct module *owner;
 
 	/**
-	 * send - Sends a proxy message to ME FW.
+	 * @send: Sends a proxy message to ME FW.
 	 * @dev: device struct corresponding to the mei device
 	 * @buf: message buffer to send
 	 * @size: size of the message
@@ -30,7 +30,7 @@ struct i915_gsc_proxy_component_ops {
 	int (*send)(struct device *dev, const void *buf, size_t size);
 
 	/**
-	 * recv - Receives a proxy message from ME FW.
+	 * @recv: Receives a proxy message from ME FW.
 	 * @dev: device struct corresponding to the mei device
 	 * @buf: message buffer to contain the received message
 	 * @size: size of the buffer
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 06/16] drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (4 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 05/16] drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 07/16] drm/i915/pxp: fix i915_pxp_tee_interface.h " Jani Nikula
                   ` (16 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Make the documentation match code.

v2: Small fixups while at it (Lucas)

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/i915_hdcp_interface.h | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/include/drm/i915_hdcp_interface.h b/include/drm/i915_hdcp_interface.h
index 4c9c8167c2d5..d776ed7dcd00 100644
--- a/include/drm/i915_hdcp_interface.h
+++ b/include/drm/i915_hdcp_interface.h
@@ -54,7 +54,7 @@ enum hdcp_ddi {
 };
 
 /**
- * enum hdcp_tc - ME/GSC Firmware defined index for transcoders
+ * enum hdcp_transcoder - ME/GSC Firmware defined index for transcoders
  * @HDCP_INVALID_TRANSCODER: Index for Invalid transcoder
  * @HDCP_TRANSCODER_EDP: Index for EDP Transcoder
  * @HDCP_TRANSCODER_DSI0: Index for DSI0 Transcoder
@@ -106,7 +106,7 @@ struct hdcp_port_data {
  *			    And Prepare AKE_Init.
  * @verify_receiver_cert_prepare_km: Verify the Receiver Certificate
  *				     AKE_Send_Cert and prepare
-				     AKE_Stored_Km/AKE_No_Stored_Km
+ *				     AKE_Stored_Km/AKE_No_Stored_Km
  * @verify_hprime: Verify AKE_Send_H_prime
  * @store_pairing_info: Store pairing info received
  * @initiate_locality_check: Prepare LC_Init
@@ -170,14 +170,22 @@ struct i915_hdcp_ops {
 /**
  * struct i915_hdcp_arbiter - Used for communication between i915
  * and hdcp drivers for the HDCP2.2 services
- * @hdcp_dev: device that provide the HDCP2.2 service from MEI Bus.
- * @hdcp_ops: Ops implemented by hdcp driver or intel_hdcp_gsc , used by i915 driver.
  */
 struct i915_hdcp_arbiter {
+	/**
+	 * @hdcp_dev: device that provides the HDCP2.2 service from MEI Bus.
+	 */
 	struct device *hdcp_dev;
+
+	/**
+	 * @ops: Ops implemented by hdcp driver or intel_hdcp_gsc, used by i915
+	 * driver.
+	 */
 	const struct i915_hdcp_ops *ops;
 
-	/* To protect the above members. */
+	/**
+	 * @mutex: To protect the above members.
+	 */
 	struct mutex mutex;
 };
 
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 07/16] drm/i915/pxp: fix i915_pxp_tee_interface.h kernel-doc warnings
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (5 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 06/16] drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 15:10   ` Lucas De Marchi
  2024-03-08 11:55 ` [PATCH v2 08/16] m68k: pgtable: Add missing #include <asm/page.h> Jani Nikula
                   ` (15 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Make documentation match code. Slightly fix up the documentation
comments while at it.

v2:
- Move comments next to members instead of struct comment (Lucas)
- Small fixups while at it

Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/i915_pxp_tee_interface.h | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/include/drm/i915_pxp_tee_interface.h b/include/drm/i915_pxp_tee_interface.h
index 7d96985f2d05..a532d32f58f3 100644
--- a/include/drm/i915_pxp_tee_interface.h
+++ b/include/drm/i915_pxp_tee_interface.h
@@ -12,20 +12,26 @@ struct scatterlist;
 
 /**
  * struct i915_pxp_component_ops - ops for PXP services.
- * @owner: Module providing the ops
- * @send: sends data to PXP
- * @receive: receives data from PXP
  */
 struct i915_pxp_component_ops {
 	/**
-	 * @owner: owner of the module provding the ops
+	 * @owner: Module providing the ops.
 	 */
 	struct module *owner;
 
+	/**
+	 * @send: Send a PXP message.
+	 */
 	int (*send)(struct device *dev, const void *message, size_t size,
 		    unsigned long timeout_ms);
+	/**
+	 * @recv: Receive a PXP message.
+	 */
 	int (*recv)(struct device *dev, void *buffer, size_t size,
 		    unsigned long timeout_ms);
+	/**
+	 * @gsc_command: Send a GSC command.
+	 */
 	ssize_t (*gsc_command)(struct device *dev, u8 client_id, u32 fence_id,
 			       struct scatterlist *sg_in, size_t total_in_len,
 			       struct scatterlist *sg_out);
@@ -35,14 +41,21 @@ struct i915_pxp_component_ops {
 /**
  * struct i915_pxp_component - Used for communication between i915 and TEE
  * drivers for the PXP services
- * @tee_dev: device that provide the PXP service from TEE Bus.
- * @pxp_ops: Ops implemented by TEE driver, used by i915 driver.
  */
 struct i915_pxp_component {
+	/**
+	 * @tee_dev: device that provide the PXP service from TEE Bus.
+	 */
 	struct device *tee_dev;
+
+	/**
+	 * @ops: Ops implemented by TEE driver, used by i915 driver.
+	 */
 	const struct i915_pxp_component_ops *ops;
 
-	/* To protect the above members. */
+	/**
+	 * @mutex: To protect the above members.
+	 */
 	struct mutex mutex;
 };
 
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 08/16] m68k: pgtable: Add missing #include <asm/page.h>
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (6 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 07/16] drm/i915/pxp: fix i915_pxp_tee_interface.h " Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 09/16] drm/ttm: fix ttm_bo.h kernel-doc warnings Jani Nikula
                   ` (14 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Geert Uytterhoeven

From: Geert Uytterhoeven <geert@linux-m68k.org>

When just including <linux/pgtable.h>:

    include/asm-generic/pgtable-nop4d.h:9:18: error: unknown type name ‘pgd_t’
	9 | typedef struct { pgd_t pgd; } p4d_t;
	  |                  ^~~~~

Make <asm/pgtable.h> self-contained by including <asm/page.h>.

Reported-by: Jani Nikula <jani.nikula@intel.com>
Closes: https://lore.kernel.org/r/878r2uxwha.fsf@intel.com
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 arch/m68k/include/asm/pgtable.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/m68k/include/asm/pgtable.h b/arch/m68k/include/asm/pgtable.h
index 27525c6a12fd..49fcfd734860 100644
--- a/arch/m68k/include/asm/pgtable.h
+++ b/arch/m68k/include/asm/pgtable.h
@@ -2,6 +2,8 @@
 #ifndef __M68K_PGTABLE_H
 #define __M68K_PGTABLE_H
 
+#include <asm/page.h>
+
 #ifdef __uClinux__
 #include <asm/pgtable_no.h>
 #else
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 09/16] drm/ttm: fix ttm_bo.h kernel-doc warnings
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (7 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 08/16] m68k: pgtable: Add missing #include <asm/page.h> Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 13:03   ` Christian König
  2024-03-08 16:07   ` [PATCH v3] " Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 10/16] drm/ttm: make ttm_caching.h self-contained Jani Nikula
                   ` (13 subsequent siblings)
  22 siblings, 2 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Christian Koenig, Huang Rui

Some renames, some formatting fixes, add some missing documentation.

Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/ttm/ttm_bo.h | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h
index 0223a41a64b2..59151ecb2db3 100644
--- a/include/drm/ttm/ttm_bo.h
+++ b/include/drm/ttm/ttm_bo.h
@@ -83,6 +83,9 @@ enum ttm_bo_type {
  * @resource: structure describing current placement.
  * @ttm: TTM structure holding system pages.
  * @deleted: True if the object is only a zombie and already deleted.
+ * @bulk_move: The bulk move object.
+ * @priority: Priority for LRU, BOs with lower priority are evicted first.
+ * @pin_count: Pin count.
  *
  * Base class for TTM buffer object, that deals with data placement and CPU
  * mappings. GPU mappings are really up to the driver, but for simpler GPUs
@@ -128,26 +131,28 @@ struct ttm_buffer_object {
 	struct work_struct delayed_delete;
 
 	/**
-	 * Special members that are protected by the reserve lock
-	 * and the bo::lock when written to. Can be read with
-	 * either of these locks held.
+	 * @sg: Special members that are protected by the reserve lock and the
+	 * bo::lock when written to. Can be read with either of these locks
+	 * held.
 	 */
 	struct sg_table *sg;
 };
 
+#define TTM_BO_MAP_IOMEM_MASK 0x80
+
 /**
  * struct ttm_bo_kmap_obj
  *
  * @virtual: The current kernel virtual address.
  * @page: The page when kmap'ing a single page.
  * @bo_kmap_type: Type of bo_kmap.
+ * @bo: The TTM BO.
  *
  * Object describing a kernel mapping. Since a TTM bo may be located
  * in various memory types with various caching policies, the
  * mapping can either be an ioremap, a vmap, a kmap or part of a
  * premapped region.
  */
-#define TTM_BO_MAP_IOMEM_MASK 0x80
 struct ttm_bo_kmap_obj {
 	void *virtual;
 	struct page *page;
@@ -171,6 +176,7 @@ struct ttm_bo_kmap_obj {
  * @force_alloc: Don't check the memory account during suspend or CPU page
  * faults. Should only be used by TTM internally.
  * @resv: Reservation object to allow reserved evictions with.
+ * @bytes_moved: Statistics on how many bytes have been moved.
  *
  * Context for TTM operations like changing buffer placement or general memory
  * allocation.
@@ -264,7 +270,7 @@ static inline int ttm_bo_reserve(struct ttm_buffer_object *bo,
  * ttm_bo_reserve_slowpath:
  * @bo: A pointer to a struct ttm_buffer_object.
  * @interruptible: Sleep interruptible if waiting.
- * @sequence: Set (@bo)->sequence to this value after lock
+ * @ticket: Ticket used to acquire the ww_mutex.
  *
  * This is called after ttm_bo_reserve returns -EAGAIN and we backed off
  * from all our other reservations. Because there are no other reservations
@@ -303,7 +309,7 @@ static inline void ttm_bo_assign_mem(struct ttm_buffer_object *bo,
 }
 
 /**
- * ttm_bo_move_null = assign memory for a buffer object.
+ * ttm_bo_move_null - assign memory for a buffer object.
  * @bo: The bo to assign the memory to
  * @new_mem: The memory to be assigned.
  *
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 10/16] drm/ttm: make ttm_caching.h self-contained
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (8 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 09/16] drm/ttm: fix ttm_bo.h kernel-doc warnings Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 17:22   ` Alex Deucher
  2024-03-08 11:55 ` [PATCH v2 11/16] drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings Jani Nikula
                   ` (12 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Christian Koenig, Huang Rui

Include <linux/pgtable.h> for pgprot_t.

Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/ttm/ttm_caching.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/drm/ttm/ttm_caching.h b/include/drm/ttm/ttm_caching.h
index 235a743d90e1..a18f43e93aba 100644
--- a/include/drm/ttm/ttm_caching.h
+++ b/include/drm/ttm/ttm_caching.h
@@ -25,6 +25,8 @@
 #ifndef _TTM_CACHING_H_
 #define _TTM_CACHING_H_
 
+#include <linux/pgtable.h>
+
 #define TTM_NUM_CACHING_TYPES	3
 
 /**
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 11/16] drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (9 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 10/16] drm/ttm: make ttm_caching.h self-contained Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 12/16] drm/ttm: fix ttm_kmap_iter.h " Jani Nikula
                   ` (11 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Christian Koenig, Huang Rui

Fix some formatting errors and excess documentation.

Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/ttm/ttm_execbuf_util.h | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/include/drm/ttm/ttm_execbuf_util.h b/include/drm/ttm/ttm_execbuf_util.h
index 03aca29d3ce4..fac1e3e57ebd 100644
--- a/include/drm/ttm/ttm_execbuf_util.h
+++ b/include/drm/ttm/ttm_execbuf_util.h
@@ -52,7 +52,7 @@ struct ttm_validate_buffer {
 };
 
 /**
- * function ttm_eu_backoff_reservation
+ * ttm_eu_backoff_reservation
  *
  * @ticket:   ww_acquire_ctx from reserve call
  * @list:     thread private list of ttm_validate_buffer structs.
@@ -64,14 +64,13 @@ void ttm_eu_backoff_reservation(struct ww_acquire_ctx *ticket,
 				struct list_head *list);
 
 /**
- * function ttm_eu_reserve_buffers
+ * ttm_eu_reserve_buffers
  *
  * @ticket:  [out] ww_acquire_ctx filled in by call, or NULL if only
  *           non-blocking reserves should be tried.
  * @list:    thread private list of ttm_validate_buffer structs.
  * @intr:    should the wait be interruptible
  * @dups:    [out] optional list of duplicates.
- * @del_lru: true if BOs should be removed from the LRU.
  *
  * Tries to reserve bos pointed to by the list entries for validation.
  * If the function returns 0, all buffers are marked as "unfenced",
@@ -102,7 +101,7 @@ int ttm_eu_reserve_buffers(struct ww_acquire_ctx *ticket,
 			   struct list_head *dups);
 
 /**
- * function ttm_eu_fence_buffer_objects.
+ * ttm_eu_fence_buffer_objects
  *
  * @ticket:      ww_acquire_ctx from reserve call
  * @list:        thread private list of ttm_validate_buffer structs.
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 12/16] drm/ttm: fix ttm_kmap_iter.h kernel-doc warnings
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (10 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 11/16] drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 11:55 ` [PATCH v2 13/16] drm/ttm: make ttm_pool.h self-contained Jani Nikula
                   ` (10 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Christian Koenig, Huang Rui

There's no proper way to document function pointer members, but at least
silence the warnings.

Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/ttm/ttm_kmap_iter.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/drm/ttm/ttm_kmap_iter.h b/include/drm/ttm/ttm_kmap_iter.h
index cc5c09a211b4..fe72631a6e93 100644
--- a/include/drm/ttm/ttm_kmap_iter.h
+++ b/include/drm/ttm/ttm_kmap_iter.h
@@ -20,7 +20,7 @@ struct iosys_map;
  */
 struct ttm_kmap_iter_ops {
 	/**
-	 * kmap_local() - Map a PAGE_SIZE part of the resource using
+	 * @map_local: Map a PAGE_SIZE part of the resource using
 	 * kmap_local semantics.
 	 * @res_iter: Pointer to the struct ttm_kmap_iter representing
 	 * the resource.
@@ -31,7 +31,7 @@ struct ttm_kmap_iter_ops {
 	void (*map_local)(struct ttm_kmap_iter *res_iter,
 			  struct iosys_map *dmap, pgoff_t i);
 	/**
-	 * unmap_local() - Unmap a PAGE_SIZE part of the resource previously
+	 * @unmap_local: Unmap a PAGE_SIZE part of the resource previously
 	 * mapped using kmap_local.
 	 * @res_iter: Pointer to the struct ttm_kmap_iter representing
 	 * the resource.
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 13/16] drm/ttm: make ttm_pool.h self-contained
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (11 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 12/16] drm/ttm: fix ttm_kmap_iter.h " Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 17:22   ` Alex Deucher
  2024-03-08 11:55 ` [PATCH v2 14/16] drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h Jani Nikula
                   ` (9 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Christian Koenig, Huang Rui,
	kernel test robot

struct seq_file needs a forward declaration in some configs. Sort the
forward declarations while at it.

Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202403072259.EEC2Vf1X-lkp@intel.com/
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/ttm/ttm_pool.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/drm/ttm/ttm_pool.h b/include/drm/ttm/ttm_pool.h
index 4490d43c63e3..160d954a261e 100644
--- a/include/drm/ttm/ttm_pool.h
+++ b/include/drm/ttm/ttm_pool.h
@@ -32,9 +32,10 @@
 #include <drm/ttm/ttm_caching.h>
 
 struct device;
-struct ttm_tt;
-struct ttm_pool;
+struct seq_file;
 struct ttm_operation_ctx;
+struct ttm_pool;
+struct ttm_tt;
 
 /**
  * struct ttm_pool_type - Pool for a certain memory type
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 14/16] drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (12 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 13/16] drm/ttm: make ttm_pool.h self-contained Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 15:12   ` Lucas De Marchi
  2024-03-08 11:55 ` [PATCH v2 15/16] drm: avoid includes in drm_crtc_helper_internal.h Jani Nikula
                   ` (8 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Prefer forward declarations over includes where possible.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/display/drm_dp_mst_topology_internal.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology_internal.h b/drivers/gpu/drm/display/drm_dp_mst_topology_internal.h
index a785ccbfdd73..f41c34e26be2 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology_internal.h
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology_internal.h
@@ -10,7 +10,9 @@
 #ifndef _DRM_DP_MST_HELPER_INTERNAL_H_
 #define _DRM_DP_MST_HELPER_INTERNAL_H_
 
-#include <drm/display/drm_dp_mst_helper.h>
+struct drm_dp_sideband_msg_req_body;
+struct drm_dp_sideband_msg_tx;
+struct drm_printer;
 
 void
 drm_dp_encode_sideband_req(const struct drm_dp_sideband_msg_req_body *req,
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 15/16] drm: avoid includes in drm_crtc_helper_internal.h
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (13 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 14/16] drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-08 15:12   ` Lucas De Marchi
  2024-03-08 11:55 ` [PATCH v2 16/16] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
                   ` (7 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Prefer forward declarations over includes where possible.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/drm_crtc_helper_internal.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc_helper_internal.h b/drivers/gpu/drm/drm_crtc_helper_internal.h
index ed4deed07abd..8059f65c5d6c 100644
--- a/drivers/gpu/drm/drm_crtc_helper_internal.h
+++ b/drivers/gpu/drm/drm_crtc_helper_internal.h
@@ -29,10 +29,12 @@
 #ifndef __DRM_CRTC_HELPER_INTERNAL_H__
 #define __DRM_CRTC_HELPER_INTERNAL_H__
 
-#include <drm/drm_connector.h>
-#include <drm/drm_crtc.h>
-#include <drm/drm_encoder.h>
-#include <drm/drm_modes.h>
+enum drm_mode_status;
+struct drm_connector;
+struct drm_crtc;
+struct drm_display_mode;
+struct drm_encoder;
+struct drm_modeset_acquire_ctx;
 
 /* drm_probe_helper.c */
 enum drm_mode_status drm_crtc_mode_valid(struct drm_crtc *crtc,
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH v2 16/16] drm: ensure drm headers are self-contained and pass kernel-doc
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (14 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 15/16] drm: avoid includes in drm_crtc_helper_internal.h Jani Nikula
@ 2024-03-08 11:55 ` Jani Nikula
  2024-03-11 12:33   ` Jani Nikula
  2024-03-08 14:46 ` ✗ Fi.CI.CHECKPATCH: warning for drm: fix headers, add header test facility Patchwork
                   ` (6 subsequent siblings)
  22 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 11:55 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, jani.nikula, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

Ensure drm headers build, are self-contained, have header guards, and
have no kernel-doc warnings, when CONFIG_DRM_HEADER_TEST=y.

The mechanism follows similar patters used in i915, xe, and usr/include.

To cover include/drm, we need to recurse there using the top level
Kbuild and the new include/Kbuild files.

Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 Kbuild                   |  1 +
 drivers/gpu/drm/Kconfig  | 11 +++++++++++
 drivers/gpu/drm/Makefile | 18 ++++++++++++++++++
 include/Kbuild           |  1 +
 include/drm/Makefile     | 18 ++++++++++++++++++
 5 files changed, 49 insertions(+)
 create mode 100644 include/Kbuild
 create mode 100644 include/drm/Makefile

diff --git a/Kbuild b/Kbuild
index 464b34a08f51..f327ca86990c 100644
--- a/Kbuild
+++ b/Kbuild
@@ -97,3 +97,4 @@ obj-$(CONFIG_SAMPLES)	+= samples/
 obj-$(CONFIG_NET)	+= net/
 obj-y			+= virt/
 obj-y			+= $(ARCH_DRIVERS)
+obj-$(CONFIG_DRM_HEADER_TEST)	+= include/
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index c08e18108c2a..dd17685ef6e7 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -429,3 +429,14 @@ config DRM_WERROR
 	  this config option is disabled by default.
 
 	  If in doubt, say N.
+
+config DRM_HEADER_TEST
+	bool "Ensure DRM headers are self-contained and pass kernel-doc"
+	depends on EXPERT
+	default n
+	help
+	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
+	  include/drm compile, are self-contained, have header guards, and have
+	  no kernel-doc warnings.
+
+	  If in doubt, say N.
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index a73c04d2d7a3..6605d5686d01 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -218,3 +218,21 @@ obj-y			+= solomon/
 obj-$(CONFIG_DRM_SPRD) += sprd/
 obj-$(CONFIG_DRM_LOONGSON) += loongson/
 obj-$(CONFIG_DRM_POWERVR) += imagination/
+
+# Ensure drm headers are self-contained and pass kernel-doc
+hdrtest-files := \
+	$(shell cd $(srctree)/$(src) && find . -maxdepth 1 -name 'drm_*.h') \
+	$(shell cd $(srctree)/$(src) && find display lib -name '*.h')
+
+always-$(CONFIG_DRM_HEADER_TEST) += \
+	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
+
+# Include the header twice to detect missing include guard.
+quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
+      cmd_hdrtest = \
+		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
+		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_DRM_WERROR),-Werror) $<; \
+		touch $@
+
+$(obj)/%.hdrtest: $(src)/%.h FORCE
+	$(call if_changed_dep,hdrtest)
diff --git a/include/Kbuild b/include/Kbuild
new file mode 100644
index 000000000000..5e76a599e2dd
--- /dev/null
+++ b/include/Kbuild
@@ -0,0 +1 @@
+obj-$(CONFIG_DRM_HEADER_TEST)	+= drm/
diff --git a/include/drm/Makefile b/include/drm/Makefile
new file mode 100644
index 000000000000..b9f391d7aadd
--- /dev/null
+++ b/include/drm/Makefile
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0
+
+# Ensure drm headers are self-contained and pass kernel-doc
+hdrtest-files := \
+	$(shell cd $(srctree)/$(src) && find * -name '*.h' 2>/dev/null)
+
+always-$(CONFIG_DRM_HEADER_TEST) += \
+	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
+
+# Include the header twice to detect missing include guard.
+quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
+      cmd_hdrtest = \
+		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
+		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_DRM_WERROR),-Werror) $<; \
+		touch $@
+
+$(obj)/%.hdrtest: $(src)/%.h FORCE
+	$(call if_changed_dep,hdrtest)
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 09/16] drm/ttm: fix ttm_bo.h kernel-doc warnings
  2024-03-08 11:55 ` [PATCH v2 09/16] drm/ttm: fix ttm_bo.h kernel-doc warnings Jani Nikula
@ 2024-03-08 13:03   ` Christian König
  2024-03-08 16:07   ` [PATCH v3] " Jani Nikula
  1 sibling, 0 replies; 36+ messages in thread
From: Christian König @ 2024-03-08 13:03 UTC (permalink / raw)
  To: Jani Nikula, dri-devel
  Cc: intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Huang Rui

Am 08.03.24 um 12:55 schrieb Jani Nikula:
> Some renames, some formatting fixes, add some missing documentation.
>
> Cc: Christian Koenig <christian.koenig@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>   include/drm/ttm/ttm_bo.h | 18 ++++++++++++------
>   1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h
> index 0223a41a64b2..59151ecb2db3 100644
> --- a/include/drm/ttm/ttm_bo.h
> +++ b/include/drm/ttm/ttm_bo.h
> @@ -83,6 +83,9 @@ enum ttm_bo_type {
>    * @resource: structure describing current placement.
>    * @ttm: TTM structure holding system pages.
>    * @deleted: True if the object is only a zombie and already deleted.
> + * @bulk_move: The bulk move object.
> + * @priority: Priority for LRU, BOs with lower priority are evicted first.
> + * @pin_count: Pin count.
>    *
>    * Base class for TTM buffer object, that deals with data placement and CPU
>    * mappings. GPU mappings are really up to the driver, but for simpler GPUs
> @@ -128,26 +131,28 @@ struct ttm_buffer_object {
>   	struct work_struct delayed_delete;
>   
>   	/**
> -	 * Special members that are protected by the reserve lock
> -	 * and the bo::lock when written to. Can be read with
> -	 * either of these locks held.
> +	 * @sg: Special members that are protected by the reserve lock and the
> +	 * bo::lock when written to. Can be read with either of these locks
> +	 * held.

Actually that is completely outdated since the bo::lock was removed 
years ago.

I would just write that as "@sg: external source of pages and DMA 
addresses, protected by the reservation lock." (or something like this).

With that fixed feel free to add Reviewed-by: Christian König 
<christian.koenig@amd.com> to this patch and the other TTM cleanup 
patches in this series.

Regards,
Christian.

>   	 */
>   	struct sg_table *sg;
>   };
>   
> +#define TTM_BO_MAP_IOMEM_MASK 0x80
> +
>   /**
>    * struct ttm_bo_kmap_obj
>    *
>    * @virtual: The current kernel virtual address.
>    * @page: The page when kmap'ing a single page.
>    * @bo_kmap_type: Type of bo_kmap.
> + * @bo: The TTM BO.
>    *
>    * Object describing a kernel mapping. Since a TTM bo may be located
>    * in various memory types with various caching policies, the
>    * mapping can either be an ioremap, a vmap, a kmap or part of a
>    * premapped region.
>    */
> -#define TTM_BO_MAP_IOMEM_MASK 0x80
>   struct ttm_bo_kmap_obj {
>   	void *virtual;
>   	struct page *page;
> @@ -171,6 +176,7 @@ struct ttm_bo_kmap_obj {
>    * @force_alloc: Don't check the memory account during suspend or CPU page
>    * faults. Should only be used by TTM internally.
>    * @resv: Reservation object to allow reserved evictions with.
> + * @bytes_moved: Statistics on how many bytes have been moved.
>    *
>    * Context for TTM operations like changing buffer placement or general memory
>    * allocation.
> @@ -264,7 +270,7 @@ static inline int ttm_bo_reserve(struct ttm_buffer_object *bo,
>    * ttm_bo_reserve_slowpath:
>    * @bo: A pointer to a struct ttm_buffer_object.
>    * @interruptible: Sleep interruptible if waiting.
> - * @sequence: Set (@bo)->sequence to this value after lock
> + * @ticket: Ticket used to acquire the ww_mutex.
>    *
>    * This is called after ttm_bo_reserve returns -EAGAIN and we backed off
>    * from all our other reservations. Because there are no other reservations
> @@ -303,7 +309,7 @@ static inline void ttm_bo_assign_mem(struct ttm_buffer_object *bo,
>   }
>   
>   /**
> - * ttm_bo_move_null = assign memory for a buffer object.
> + * ttm_bo_move_null - assign memory for a buffer object.
>    * @bo: The bo to assign the memory to
>    * @new_mem: The memory to be assigned.
>    *


^ permalink raw reply	[flat|nested] 36+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for drm: fix headers, add header test facility
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (15 preceding siblings ...)
  2024-03-08 11:55 ` [PATCH v2 16/16] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
@ 2024-03-08 14:46 ` Patchwork
  2024-03-08 14:46 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (5 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Patchwork @ 2024-03-08 14:46 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm: fix headers, add header test facility
URL   : https://patchwork.freedesktop.org/series/130917/
State : warning

== Summary ==

Error: dim checkpatch failed
12dea9670af4 drm: add missing header guards to drm_crtc_internal.h
26f540b42f9a drm: add missing header guards to drm_crtc_helper_internal.h
d978be98f7ac drm/encoder: improve drm_encoder_slave.h kernel-doc
469f1455781b drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings
eaccbce10cd0 drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc
9590430cf3fc drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings
93f494692171 drm/i915/pxp: fix i915_pxp_tee_interface.h kernel-doc warnings
c4651d2cb636 m68k: pgtable: Add missing #include <asm/page.h>
7414a033f8ca drm/ttm: fix ttm_bo.h kernel-doc warnings
ef3bf0bded92 drm/ttm: make ttm_caching.h self-contained
9def0397c416 drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings
17200e5ac18b drm/ttm: fix ttm_kmap_iter.h kernel-doc warnings
e1b31cc22f2b drm/ttm: make ttm_pool.h self-contained
b89faf75f4c2 drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h
dce831434abc drm: avoid includes in drm_crtc_helper_internal.h
68f05d9b8d8e drm: ensure drm headers are self-contained and pass kernel-doc
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:80: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#80: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 58 lines checked



^ permalink raw reply	[flat|nested] 36+ messages in thread

* ✗ Fi.CI.SPARSE: warning for drm: fix headers, add header test facility
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (16 preceding siblings ...)
  2024-03-08 14:46 ` ✗ Fi.CI.CHECKPATCH: warning for drm: fix headers, add header test facility Patchwork
@ 2024-03-08 14:46 ` Patchwork
  2024-03-08 15:00 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (4 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Patchwork @ 2024-03-08 14:46 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm: fix headers, add header test facility
URL   : https://patchwork.freedesktop.org/series/130917/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



^ permalink raw reply	[flat|nested] 36+ messages in thread

* ✓ Fi.CI.BAT: success for drm: fix headers, add header test facility
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (17 preceding siblings ...)
  2024-03-08 14:46 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-03-08 15:00 ` Patchwork
  2024-03-08 19:30 ` ✗ Fi.CI.CHECKPATCH: warning for drm: fix headers, add header test facility (rev2) Patchwork
                   ` (3 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Patchwork @ 2024-03-08 15:00 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 18273 bytes --]

== Series Details ==

Series: drm: fix headers, add header test facility
URL   : https://patchwork.freedesktop.org/series/130917/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14413 -> Patchwork_130917v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/index.html

Participating hosts (38 -> 38)
------------------------------

  Additional (3): bat-dg1-7 bat-kbl-2 bat-mtlp-8 
  Missing    (3): fi-skl-guc fi-snb-2520m fi-bsw-n3050 

Known issues
------------

  Here are the changes found in Patchwork_130917v1 that come from known issues:

### CI changes ###

#### Possible fixes ####

  * boot:
    - bat-arls-3:         [FAIL][1] ([i915#10234]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14413/bat-arls-3/boot.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-mtlp-8:         NOTRUN -> [SKIP][3] ([i915#9318])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html
    - bat-arls-3:         NOTRUN -> [SKIP][4] ([i915#9318])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@debugfs_test@basic-hwmon.html

  * igt@fbdev@info:
    - bat-kbl-2:          NOTRUN -> [SKIP][5] ([i915#1849])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-kbl-2/igt@fbdev@info.html

  * igt@gem_lmem_swapping@basic@lmem0:
    - bat-dg2-11:         [PASS][6] -> [FAIL][7] ([i915#10378])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14413/bat-dg2-11/igt@gem_lmem_swapping@basic@lmem0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg2-11/igt@gem_lmem_swapping@basic@lmem0.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - bat-kbl-2:          NOTRUN -> [SKIP][8] +39 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-kbl-2/igt@gem_lmem_swapping@parallel-random-engines.html
    - bat-arls-3:         NOTRUN -> [SKIP][9] ([i915#10213]) +3 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-mtlp-8:         NOTRUN -> [SKIP][10] ([i915#4613]) +3 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][11] ([i915#4083])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@gem_mmap@basic.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][12] ([i915#4083])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@gem_mmap@basic.html
    - bat-arls-3:         NOTRUN -> [SKIP][13] ([i915#4083])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@gem_mmap@basic.html

  * igt@gem_mmap_gtt@basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][14] ([i915#4077]) +2 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@gem_mmap_gtt@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][15] ([i915#4079]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html
    - bat-arls-3:         NOTRUN -> [SKIP][16] ([i915#10197] / [i915#10211] / [i915#4079])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_blits@basic:
    - bat-arls-3:         NOTRUN -> [SKIP][17] ([i915#10196] / [i915#4077]) +2 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@gem_tiled_blits@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][18] ([i915#4077]) +2 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][19] ([i915#4079]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@gem_tiled_pread_basic.html
    - bat-arls-3:         NOTRUN -> [SKIP][20] ([i915#10206] / [i915#4079])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rpm@module-reload:
    - fi-apl-guc:         [PASS][21] -> [DMESG-WARN][22] ([i915#1982] / [i915#8585])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14413/fi-apl-guc/igt@i915_pm_rpm@module-reload.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/fi-apl-guc/igt@i915_pm_rpm@module-reload.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-7:          NOTRUN -> [SKIP][23] ([i915#6621])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@i915_pm_rps@basic-api.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][24] ([i915#6621])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@i915_pm_rps@basic-api.html
    - bat-arls-3:         NOTRUN -> [SKIP][25] ([i915#10209])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@reset:
    - fi-apl-guc:         [PASS][26] -> [DMESG-WARN][27] ([i915#9730]) +31 other tests dmesg-warn
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14413/fi-apl-guc/igt@i915_selftest@live@reset.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/fi-apl-guc/igt@i915_selftest@live@reset.html

  * igt@kms_addfb_basic@addfb25-x-tiled-legacy:
    - bat-arls-3:         NOTRUN -> [SKIP][28] ([i915#10200]) +9 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html

  * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][29] ([i915#4212]) +7 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][30] ([i915#5190])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][31] ([i915#4212]) +8 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
    - bat-dg1-7:          NOTRUN -> [SKIP][32] ([i915#4215])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - bat-arls-3:         NOTRUN -> [SKIP][33] ([i915#10202]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][34] ([i915#4213]) +1 other test skip
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-dg1-7:          NOTRUN -> [SKIP][35] ([i915#4103] / [i915#4213]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-arls-3:         NOTRUN -> [SKIP][36] ([i915#9886])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@kms_dsc@dsc-basic.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][37] ([i915#3555] / [i915#3840] / [i915#9159])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@kms_dsc@dsc-basic.html
    - bat-dg1-7:          NOTRUN -> [SKIP][38] ([i915#3555] / [i915#3840])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-arls-3:         NOTRUN -> [SKIP][39] ([i915#10207])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@kms_force_connector_basic@force-load-detect.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][40]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html
    - bat-dg1-7:          NOTRUN -> [SKIP][41]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-mtlp-8:         NOTRUN -> [SKIP][42] ([i915#5274])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_hdmi_inject@inject-audio:
    - bat-dg1-7:          NOTRUN -> [SKIP][43] ([i915#433])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-dg1-7:          NOTRUN -> [SKIP][44] ([i915#5354])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html
    - bat-arls-3:         NOTRUN -> [SKIP][45] ([i915#9812])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_psr@psr-primary-mmap-gtt:
    - bat-arls-3:         NOTRUN -> [SKIP][46] ([i915#9732]) +3 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@kms_psr@psr-primary-mmap-gtt.html

  * igt@kms_psr@psr-primary-mmap-gtt@edp-1:
    - bat-mtlp-8:         NOTRUN -> [SKIP][47] ([i915#4077] / [i915#9688])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html

  * igt@kms_psr@psr-primary-page-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][48] ([i915#9732]) +3 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-mtlp-8:         NOTRUN -> [SKIP][49] ([i915#3555] / [i915#8809])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-arls-3:         NOTRUN -> [SKIP][50] ([i915#10208] / [i915#8809])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-dg1-7:          NOTRUN -> [SKIP][51] ([i915#3555])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][52] ([i915#3708]) +3 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-dg1-7:          NOTRUN -> [SKIP][53] ([i915#3708] / [i915#4077]) +1 other test skip
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html
    - bat-arls-3:         NOTRUN -> [SKIP][54] ([i915#10196] / [i915#3708] / [i915#4077]) +1 other test skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@prime_vgem@basic-fence-mmap.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][55] ([i915#3708] / [i915#4077]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - bat-mtlp-8:         NOTRUN -> [SKIP][56] ([i915#3708]) +2 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html
    - bat-arls-3:         NOTRUN -> [SKIP][57] ([i915#10212] / [i915#3708])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-read:
    - bat-arls-3:         NOTRUN -> [SKIP][58] ([i915#10214] / [i915#3708])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-write:
    - bat-arls-3:         NOTRUN -> [SKIP][59] ([i915#10216] / [i915#3708])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-arls-3/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - {bat-rpls-3}:       [DMESG-WARN][60] ([i915#5591]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14413/bat-rpls-3/igt@i915_selftest@live@hangcheck.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/bat-rpls-3/igt@i915_selftest@live@hangcheck.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#10196]: https://gitlab.freedesktop.org/drm/intel/issues/10196
  [i915#10197]: https://gitlab.freedesktop.org/drm/intel/issues/10197
  [i915#10200]: https://gitlab.freedesktop.org/drm/intel/issues/10200
  [i915#10202]: https://gitlab.freedesktop.org/drm/intel/issues/10202
  [i915#10206]: https://gitlab.freedesktop.org/drm/intel/issues/10206
  [i915#10207]: https://gitlab.freedesktop.org/drm/intel/issues/10207
  [i915#10208]: https://gitlab.freedesktop.org/drm/intel/issues/10208
  [i915#10209]: https://gitlab.freedesktop.org/drm/intel/issues/10209
  [i915#10211]: https://gitlab.freedesktop.org/drm/intel/issues/10211
  [i915#10212]: https://gitlab.freedesktop.org/drm/intel/issues/10212
  [i915#10213]: https://gitlab.freedesktop.org/drm/intel/issues/10213
  [i915#10214]: https://gitlab.freedesktop.org/drm/intel/issues/10214
  [i915#10216]: https://gitlab.freedesktop.org/drm/intel/issues/10216
  [i915#10234]: https://gitlab.freedesktop.org/drm/intel/issues/10234
  [i915#10378]: https://gitlab.freedesktop.org/drm/intel/issues/10378
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#8585]: https://gitlab.freedesktop.org/drm/intel/issues/8585
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
  [i915#9730]: https://gitlab.freedesktop.org/drm/intel/issues/9730
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9812]: https://gitlab.freedesktop.org/drm/intel/issues/9812
  [i915#9886]: https://gitlab.freedesktop.org/drm/intel/issues/9886


Build changes
-------------

  * Linux: CI_DRM_14413 -> Patchwork_130917v1

  CI-20190529: 20190529
  CI_DRM_14413: 024301d28b0b2cf492ffdb3ce688044cd9923f38 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7749: 2fd91b8c3cf9aa2b0bb78537a6b5e2bc3de50e0e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_130917v1: 024301d28b0b2cf492ffdb3ce688044cd9923f38 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

a67b9482b5cb drm: ensure drm headers are self-contained and pass kernel-doc
8448f2850375 drm: avoid includes in drm_crtc_helper_internal.h
8148688c3251 drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h
e956c4957ba3 drm/ttm: make ttm_pool.h self-contained
9eb0cd3301a8 drm/ttm: fix ttm_kmap_iter.h kernel-doc warnings
2359dfe96180 drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings
5b725332c954 drm/ttm: make ttm_caching.h self-contained
69b140b1ac37 drm/ttm: fix ttm_bo.h kernel-doc warnings
e01c15ebd2c2 m68k: pgtable: Add missing #include <asm/page.h>
a874f54a12e1 drm/i915/pxp: fix i915_pxp_tee_interface.h kernel-doc warnings
07860260f758 drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings
423ad7a32f5f drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc
e13a1e6dbfe5 drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings
93a17c63b61c drm/encoder: improve drm_encoder_slave.h kernel-doc
951cec01629d drm: add missing header guards to drm_crtc_helper_internal.h
981516bcf800 drm: add missing header guards to drm_crtc_internal.h

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v1/index.html

[-- Attachment #2: Type: text/html, Size: 21847 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 07/16] drm/i915/pxp: fix i915_pxp_tee_interface.h kernel-doc warnings
  2024-03-08 11:55 ` [PATCH v2 07/16] drm/i915/pxp: fix i915_pxp_tee_interface.h " Jani Nikula
@ 2024-03-08 15:10   ` Lucas De Marchi
  0 siblings, 0 replies; 36+ messages in thread
From: Lucas De Marchi @ 2024-03-08 15:10 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada

On Fri, Mar 08, 2024 at 01:55:45PM +0200, Jani Nikula wrote:
>Make documentation match code. Slightly fix up the documentation
>comments while at it.
>
>v2:
>- Move comments next to members instead of struct comment (Lucas)
>- Small fixups while at it
>
>Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
>Signed-off-by: Jani Nikula <jani.nikula@intel.com>


Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi

>---
> include/drm/i915_pxp_tee_interface.h | 27 ++++++++++++++++++++-------
> 1 file changed, 20 insertions(+), 7 deletions(-)
>
>diff --git a/include/drm/i915_pxp_tee_interface.h b/include/drm/i915_pxp_tee_interface.h
>index 7d96985f2d05..a532d32f58f3 100644
>--- a/include/drm/i915_pxp_tee_interface.h
>+++ b/include/drm/i915_pxp_tee_interface.h
>@@ -12,20 +12,26 @@ struct scatterlist;
>
> /**
>  * struct i915_pxp_component_ops - ops for PXP services.
>- * @owner: Module providing the ops
>- * @send: sends data to PXP
>- * @receive: receives data from PXP
>  */
> struct i915_pxp_component_ops {
> 	/**
>-	 * @owner: owner of the module provding the ops
>+	 * @owner: Module providing the ops.
> 	 */
> 	struct module *owner;
>
>+	/**
>+	 * @send: Send a PXP message.
>+	 */
> 	int (*send)(struct device *dev, const void *message, size_t size,
> 		    unsigned long timeout_ms);
>+	/**
>+	 * @recv: Receive a PXP message.
>+	 */
> 	int (*recv)(struct device *dev, void *buffer, size_t size,
> 		    unsigned long timeout_ms);
>+	/**
>+	 * @gsc_command: Send a GSC command.
>+	 */
> 	ssize_t (*gsc_command)(struct device *dev, u8 client_id, u32 fence_id,
> 			       struct scatterlist *sg_in, size_t total_in_len,
> 			       struct scatterlist *sg_out);
>@@ -35,14 +41,21 @@ struct i915_pxp_component_ops {
> /**
>  * struct i915_pxp_component - Used for communication between i915 and TEE
>  * drivers for the PXP services
>- * @tee_dev: device that provide the PXP service from TEE Bus.
>- * @pxp_ops: Ops implemented by TEE driver, used by i915 driver.
>  */
> struct i915_pxp_component {
>+	/**
>+	 * @tee_dev: device that provide the PXP service from TEE Bus.
>+	 */
> 	struct device *tee_dev;
>+
>+	/**
>+	 * @ops: Ops implemented by TEE driver, used by i915 driver.
>+	 */
> 	const struct i915_pxp_component_ops *ops;
>
>-	/* To protect the above members. */
>+	/**
>+	 * @mutex: To protect the above members.
>+	 */
> 	struct mutex mutex;
> };
>
>-- 
>2.39.2
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 14/16] drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h
  2024-03-08 11:55 ` [PATCH v2 14/16] drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h Jani Nikula
@ 2024-03-08 15:12   ` Lucas De Marchi
  0 siblings, 0 replies; 36+ messages in thread
From: Lucas De Marchi @ 2024-03-08 15:12 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada

On Fri, Mar 08, 2024 at 01:55:52PM +0200, Jani Nikula wrote:
>Prefer forward declarations over includes where possible.
>
>Signed-off-by: Jani Nikula <jani.nikula@intel.com>


Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi

>---
> drivers/gpu/drm/display/drm_dp_mst_topology_internal.h | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology_internal.h b/drivers/gpu/drm/display/drm_dp_mst_topology_internal.h
>index a785ccbfdd73..f41c34e26be2 100644
>--- a/drivers/gpu/drm/display/drm_dp_mst_topology_internal.h
>+++ b/drivers/gpu/drm/display/drm_dp_mst_topology_internal.h
>@@ -10,7 +10,9 @@
> #ifndef _DRM_DP_MST_HELPER_INTERNAL_H_
> #define _DRM_DP_MST_HELPER_INTERNAL_H_
>
>-#include <drm/display/drm_dp_mst_helper.h>
>+struct drm_dp_sideband_msg_req_body;
>+struct drm_dp_sideband_msg_tx;
>+struct drm_printer;
>
> void
> drm_dp_encode_sideband_req(const struct drm_dp_sideband_msg_req_body *req,
>-- 
>2.39.2
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 15/16] drm: avoid includes in drm_crtc_helper_internal.h
  2024-03-08 11:55 ` [PATCH v2 15/16] drm: avoid includes in drm_crtc_helper_internal.h Jani Nikula
@ 2024-03-08 15:12   ` Lucas De Marchi
  0 siblings, 0 replies; 36+ messages in thread
From: Lucas De Marchi @ 2024-03-08 15:12 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada

On Fri, Mar 08, 2024 at 01:55:53PM +0200, Jani Nikula wrote:
>Prefer forward declarations over includes where possible.
>
>Signed-off-by: Jani Nikula <jani.nikula@intel.com>


Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi

>---
> drivers/gpu/drm/drm_crtc_helper_internal.h | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/gpu/drm/drm_crtc_helper_internal.h b/drivers/gpu/drm/drm_crtc_helper_internal.h
>index ed4deed07abd..8059f65c5d6c 100644
>--- a/drivers/gpu/drm/drm_crtc_helper_internal.h
>+++ b/drivers/gpu/drm/drm_crtc_helper_internal.h
>@@ -29,10 +29,12 @@
> #ifndef __DRM_CRTC_HELPER_INTERNAL_H__
> #define __DRM_CRTC_HELPER_INTERNAL_H__
>
>-#include <drm/drm_connector.h>
>-#include <drm/drm_crtc.h>
>-#include <drm/drm_encoder.h>
>-#include <drm/drm_modes.h>
>+enum drm_mode_status;
>+struct drm_connector;
>+struct drm_crtc;
>+struct drm_display_mode;
>+struct drm_encoder;
>+struct drm_modeset_acquire_ctx;
>
> /* drm_probe_helper.c */
> enum drm_mode_status drm_crtc_mode_valid(struct drm_crtc *crtc,
>-- 
>2.39.2
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [PATCH v3] drm/ttm: fix ttm_bo.h kernel-doc warnings
  2024-03-08 11:55 ` [PATCH v2 09/16] drm/ttm: fix ttm_bo.h kernel-doc warnings Jani Nikula
  2024-03-08 13:03   ` Christian König
@ 2024-03-08 16:07   ` Jani Nikula
  1 sibling, 0 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-08 16:07 UTC (permalink / raw)
  To: Jani Nikula, dri-devel
  Cc: intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Christian Koenig, Huang Rui

Some renames, some formatting fixes, add some missing documentation.

v3: Fix struct ttm_buffer_object .sg documentation (Christian)

Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/ttm/ttm_bo.h | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h
index 0223a41a64b2..6ccf96c91f3a 100644
--- a/include/drm/ttm/ttm_bo.h
+++ b/include/drm/ttm/ttm_bo.h
@@ -83,6 +83,9 @@ enum ttm_bo_type {
  * @resource: structure describing current placement.
  * @ttm: TTM structure holding system pages.
  * @deleted: True if the object is only a zombie and already deleted.
+ * @bulk_move: The bulk move object.
+ * @priority: Priority for LRU, BOs with lower priority are evicted first.
+ * @pin_count: Pin count.
  *
  * Base class for TTM buffer object, that deals with data placement and CPU
  * mappings. GPU mappings are really up to the driver, but for simpler GPUs
@@ -128,26 +131,27 @@ struct ttm_buffer_object {
 	struct work_struct delayed_delete;
 
 	/**
-	 * Special members that are protected by the reserve lock
-	 * and the bo::lock when written to. Can be read with
-	 * either of these locks held.
+	 * @sg: external source of pages and DMA addresses, protected by the
+	 * reservation lock.
 	 */
 	struct sg_table *sg;
 };
 
+#define TTM_BO_MAP_IOMEM_MASK 0x80
+
 /**
  * struct ttm_bo_kmap_obj
  *
  * @virtual: The current kernel virtual address.
  * @page: The page when kmap'ing a single page.
  * @bo_kmap_type: Type of bo_kmap.
+ * @bo: The TTM BO.
  *
  * Object describing a kernel mapping. Since a TTM bo may be located
  * in various memory types with various caching policies, the
  * mapping can either be an ioremap, a vmap, a kmap or part of a
  * premapped region.
  */
-#define TTM_BO_MAP_IOMEM_MASK 0x80
 struct ttm_bo_kmap_obj {
 	void *virtual;
 	struct page *page;
@@ -171,6 +175,7 @@ struct ttm_bo_kmap_obj {
  * @force_alloc: Don't check the memory account during suspend or CPU page
  * faults. Should only be used by TTM internally.
  * @resv: Reservation object to allow reserved evictions with.
+ * @bytes_moved: Statistics on how many bytes have been moved.
  *
  * Context for TTM operations like changing buffer placement or general memory
  * allocation.
@@ -264,7 +269,7 @@ static inline int ttm_bo_reserve(struct ttm_buffer_object *bo,
  * ttm_bo_reserve_slowpath:
  * @bo: A pointer to a struct ttm_buffer_object.
  * @interruptible: Sleep interruptible if waiting.
- * @sequence: Set (@bo)->sequence to this value after lock
+ * @ticket: Ticket used to acquire the ww_mutex.
  *
  * This is called after ttm_bo_reserve returns -EAGAIN and we backed off
  * from all our other reservations. Because there are no other reservations
@@ -303,7 +308,7 @@ static inline void ttm_bo_assign_mem(struct ttm_buffer_object *bo,
 }
 
 /**
- * ttm_bo_move_null = assign memory for a buffer object.
+ * ttm_bo_move_null - assign memory for a buffer object.
  * @bo: The bo to assign the memory to
  * @new_mem: The memory to be assigned.
  *
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 01/16] drm: add missing header guards to drm_crtc_internal.h
  2024-03-08 11:55 ` [PATCH v2 01/16] drm: add missing header guards to drm_crtc_internal.h Jani Nikula
@ 2024-03-08 17:19   ` Alex Deucher
  0 siblings, 0 replies; 36+ messages in thread
From: Alex Deucher @ 2024-03-08 17:19 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

On Fri, Mar 8, 2024 at 7:03 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> Including the file twice can lead to errors.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/drm_crtc_internal.h | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
> index c0c5d79ed4c9..0c693229a1c9 100644
> --- a/drivers/gpu/drm/drm_crtc_internal.h
> +++ b/drivers/gpu/drm/drm_crtc_internal.h
> @@ -32,6 +32,9 @@
>   * and are not exported to drivers.
>   */
>
> +#ifndef __DRM_CRTC_INTERNAL_H__
> +#define __DRM_CRTC_INTERNAL_H__
> +
>  #include <linux/err.h>
>  #include <linux/types.h>
>
> @@ -305,3 +308,5 @@ drm_edid_load_firmware(struct drm_connector *connector)
>         return ERR_PTR(-ENOENT);
>  }
>  #endif
> +
> +#endif /* __DRM_CRTC_INTERNAL_H__ */
> --
> 2.39.2
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 03/16] drm/encoder: improve drm_encoder_slave.h kernel-doc
  2024-03-08 11:55 ` [PATCH v2 03/16] drm/encoder: improve drm_encoder_slave.h kernel-doc Jani Nikula
@ 2024-03-08 17:21   ` Alex Deucher
  0 siblings, 0 replies; 36+ messages in thread
From: Alex Deucher @ 2024-03-08 17:21 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

On Fri, Mar 8, 2024 at 7:08 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> Document structs drm_encoder_slave_funcs, drm_encoder_slave, and
> drm_i2c_encoder_driver.
>
> v2: Actually document the structs instead of just silencing kernel-doc
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  include/drm/drm_encoder_slave.h | 91 +++++++++++++++++++++++++++------
>  1 file changed, 74 insertions(+), 17 deletions(-)
>
> diff --git a/include/drm/drm_encoder_slave.h b/include/drm/drm_encoder_slave.h
> index 7214101fd731..49172166a164 100644
> --- a/include/drm/drm_encoder_slave.h
> +++ b/include/drm/drm_encoder_slave.h
> @@ -34,12 +34,6 @@
>
>  /**
>   * struct drm_encoder_slave_funcs - Entry points exposed by a slave encoder driver
> - * @set_config:        Initialize any encoder-specific modesetting parameters.
> - *             The meaning of the @params parameter is implementation
> - *             dependent. It will usually be a structure with DVO port
> - *             data format settings or timings. It's not required for
> - *             the new parameters to take effect until the next mode
> - *             is set.
>   *
>   * Most of its members are analogous to the function pointers in
>   * &drm_encoder_helper_funcs and they can optionally be used to
> @@ -48,41 +42,85 @@
>   * if the encoder is the currently selected one for the connector.
>   */
>  struct drm_encoder_slave_funcs {
> +       /**
> +        * @set_config: Initialize any encoder-specific modesetting parameters.
> +        * The meaning of the @params parameter is implementation dependent. It
> +        * will usually be a structure with DVO port data format settings or
> +        * timings. It's not required for the new parameters to take effect
> +        * until the next mode is set.
> +        */
>         void (*set_config)(struct drm_encoder *encoder,
>                            void *params);
>
> +       /**
> +        * @destroy: Analogous to &drm_encoder_funcs @destroy callback.
> +        */
>         void (*destroy)(struct drm_encoder *encoder);
> +
> +       /**
> +        * @dpms: Analogous to &drm_encoder_helper_funcs @dpms callback. Wrapped
> +        * by drm_i2c_encoder_dpms().
> +        */
>         void (*dpms)(struct drm_encoder *encoder, int mode);
> +
> +       /**
> +        * @save: Save state. Wrapped by drm_i2c_encoder_save().
> +        */
>         void (*save)(struct drm_encoder *encoder);
> +
> +       /**
> +        * @restore: Restore state. Wrapped by drm_i2c_encoder_restore().
> +        */
>         void (*restore)(struct drm_encoder *encoder);
> +
> +       /**
> +        * @mode_fixup: Analogous to &drm_encoder_helper_funcs @mode_fixup
> +        * callback. Wrapped by drm_i2c_encoder_mode_fixup().
> +        */
>         bool (*mode_fixup)(struct drm_encoder *encoder,
>                            const struct drm_display_mode *mode,
>                            struct drm_display_mode *adjusted_mode);
> +
> +       /**
> +        * @mode_valid: Analogous to &drm_encoder_helper_funcs @mode_valid.
> +        */
>         int (*mode_valid)(struct drm_encoder *encoder,
>                           struct drm_display_mode *mode);
> +       /**
> +        * @mode_set: Analogous to &drm_encoder_helper_funcs @mode_set
> +        * callback. Wrapped by drm_i2c_encoder_mode_set().
> +        */
>         void (*mode_set)(struct drm_encoder *encoder,
>                          struct drm_display_mode *mode,
>                          struct drm_display_mode *adjusted_mode);
>
> +       /**
> +        * @detect: Analogous to &drm_encoder_helper_funcs @detect
> +        * callback. Wrapped by drm_i2c_encoder_detect().
> +        */
>         enum drm_connector_status (*detect)(struct drm_encoder *encoder,
>                                             struct drm_connector *connector);
> +       /**
> +        * @get_modes: Get modes.
> +        */
>         int (*get_modes)(struct drm_encoder *encoder,
>                          struct drm_connector *connector);
> +       /**
> +        * @create_resources: Create resources.
> +        */
>         int (*create_resources)(struct drm_encoder *encoder,
>                                  struct drm_connector *connector);
> +       /**
> +        * @set_property: Set property.
> +        */
>         int (*set_property)(struct drm_encoder *encoder,
>                             struct drm_connector *connector,
>                             struct drm_property *property,
>                             uint64_t val);
> -
>  };
>
>  /**
>   * struct drm_encoder_slave - Slave encoder struct
> - * @base: DRM encoder object.
> - * @slave_funcs: Slave encoder callbacks.
> - * @slave_priv: Slave encoder private data.
> - * @bus_priv: Bus specific data.
>   *
>   * A &drm_encoder_slave has two sets of callbacks, @slave_funcs and the
>   * ones in @base. The former are never actually called by the common
> @@ -95,10 +133,24 @@ struct drm_encoder_slave_funcs {
>   * this.
>   */
>  struct drm_encoder_slave {
> +       /**
> +        * @base: DRM encoder object.
> +        */
>         struct drm_encoder base;
>
> +       /**
> +        * @slave_funcs: Slave encoder callbacks.
> +        */
>         const struct drm_encoder_slave_funcs *slave_funcs;
> +
> +       /**
> +        * @slave_priv: Slave encoder private data.
> +        */
>         void *slave_priv;
> +
> +       /**
> +        * @bus_priv: Bus specific data.
> +        */
>         void *bus_priv;
>  };
>  #define to_encoder_slave(x) container_of((x), struct drm_encoder_slave, base)
> @@ -112,16 +164,20 @@ int drm_i2c_encoder_init(struct drm_device *dev,
>  /**
>   * struct drm_i2c_encoder_driver
>   *
> - * Describes a device driver for an encoder connected to the GPU
> - * through an I2C bus. In addition to the entry points in @i2c_driver
> - * an @encoder_init function should be provided. It will be called to
> - * give the driver an opportunity to allocate any per-encoder data
> - * structures and to initialize the @slave_funcs and (optionally)
> - * @slave_priv members of @encoder.
> + * Describes a device driver for an encoder connected to the GPU through an I2C
> + * bus.
>   */
>  struct drm_i2c_encoder_driver {
> +       /**
> +        * @i2c_driver: I2C device driver description.
> +        */
>         struct i2c_driver i2c_driver;
>
> +       /**
> +        * @encoder_init: Callback to allocate any per-encoder data structures
> +        * and to initialize the @slave_funcs and (optionally) @slave_priv
> +        * members of @encoder.
> +        */
>         int (*encoder_init)(struct i2c_client *client,
>                             struct drm_device *dev,
>                             struct drm_encoder_slave *encoder);
> @@ -133,6 +189,7 @@ struct drm_i2c_encoder_driver {
>
>  /**
>   * drm_i2c_encoder_get_client - Get the I2C client corresponding to an encoder
> + * @encoder: The encoder
>   */
>  static inline struct i2c_client *drm_i2c_encoder_get_client(struct drm_encoder *encoder)
>  {
> --
> 2.39.2
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 02/16] drm: add missing header guards to drm_crtc_helper_internal.h
  2024-03-08 11:55 ` [PATCH v2 02/16] drm: add missing header guards to drm_crtc_helper_internal.h Jani Nikula
@ 2024-03-08 17:21   ` Alex Deucher
  0 siblings, 0 replies; 36+ messages in thread
From: Alex Deucher @ 2024-03-08 17:21 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

On Fri, Mar 8, 2024 at 7:23 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> Including the file twice can lead to errors.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/drm_crtc_helper_internal.h | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_crtc_helper_internal.h b/drivers/gpu/drm/drm_crtc_helper_internal.h
> index 28e04e750130..ed4deed07abd 100644
> --- a/drivers/gpu/drm/drm_crtc_helper_internal.h
> +++ b/drivers/gpu/drm/drm_crtc_helper_internal.h
> @@ -26,6 +26,9 @@
>   * implementation details and are not exported to drivers.
>   */
>
> +#ifndef __DRM_CRTC_HELPER_INTERNAL_H__
> +#define __DRM_CRTC_HELPER_INTERNAL_H__
> +
>  #include <drm/drm_connector.h>
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_encoder.h>
> @@ -44,3 +47,5 @@ drm_connector_mode_valid(struct drm_connector *connector,
>
>  struct drm_encoder *
>  drm_connector_get_single_encoder(struct drm_connector *connector);
> +
> +#endif /* __DRM_CRTC_HELPER_INTERNAL_H__ */
> --
> 2.39.2
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 10/16] drm/ttm: make ttm_caching.h self-contained
  2024-03-08 11:55 ` [PATCH v2 10/16] drm/ttm: make ttm_caching.h self-contained Jani Nikula
@ 2024-03-08 17:22   ` Alex Deucher
  0 siblings, 0 replies; 36+ messages in thread
From: Alex Deucher @ 2024-03-08 17:22 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Christian Koenig, Huang Rui

On Fri, Mar 8, 2024 at 7:23 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> Include <linux/pgtable.h> for pgprot_t.
>
> Cc: Christian Koenig <christian.koenig@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  include/drm/ttm/ttm_caching.h | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/include/drm/ttm/ttm_caching.h b/include/drm/ttm/ttm_caching.h
> index 235a743d90e1..a18f43e93aba 100644
> --- a/include/drm/ttm/ttm_caching.h
> +++ b/include/drm/ttm/ttm_caching.h
> @@ -25,6 +25,8 @@
>  #ifndef _TTM_CACHING_H_
>  #define _TTM_CACHING_H_
>
> +#include <linux/pgtable.h>
> +
>  #define TTM_NUM_CACHING_TYPES  3
>
>  /**
> --
> 2.39.2
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 13/16] drm/ttm: make ttm_pool.h self-contained
  2024-03-08 11:55 ` [PATCH v2 13/16] drm/ttm: make ttm_pool.h self-contained Jani Nikula
@ 2024-03-08 17:22   ` Alex Deucher
  0 siblings, 0 replies; 36+ messages in thread
From: Alex Deucher @ 2024-03-08 17:22 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi, Christian Koenig, Huang Rui,
	kernel test robot

On Fri, Mar 8, 2024 at 7:23 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> struct seq_file needs a forward declaration in some configs. Sort the
> forward declarations while at it.
>
> Cc: Christian Koenig <christian.koenig@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202403072259.EEC2Vf1X-lkp@intel.com/
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  include/drm/ttm/ttm_pool.h | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/include/drm/ttm/ttm_pool.h b/include/drm/ttm/ttm_pool.h
> index 4490d43c63e3..160d954a261e 100644
> --- a/include/drm/ttm/ttm_pool.h
> +++ b/include/drm/ttm/ttm_pool.h
> @@ -32,9 +32,10 @@
>  #include <drm/ttm/ttm_caching.h>
>
>  struct device;
> -struct ttm_tt;
> -struct ttm_pool;
> +struct seq_file;
>  struct ttm_operation_ctx;
> +struct ttm_pool;
> +struct ttm_tt;
>
>  /**
>   * struct ttm_pool_type - Pool for a certain memory type
> --
> 2.39.2
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for drm: fix headers, add header test facility (rev2)
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (18 preceding siblings ...)
  2024-03-08 15:00 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-03-08 19:30 ` Patchwork
  2024-03-08 19:30 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (2 subsequent siblings)
  22 siblings, 0 replies; 36+ messages in thread
From: Patchwork @ 2024-03-08 19:30 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm: fix headers, add header test facility (rev2)
URL   : https://patchwork.freedesktop.org/series/130917/
State : warning

== Summary ==

Error: dim checkpatch failed
b821d1b2ac6b drm: add missing header guards to drm_crtc_internal.h
2a1e5c572621 drm: add missing header guards to drm_crtc_helper_internal.h
e75d804d2119 drm/encoder: improve drm_encoder_slave.h kernel-doc
3c6e4a345eee drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings
c9a2f7285745 drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc
9d60d72e28b0 drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings
f1197781882a drm/i915/pxp: fix i915_pxp_tee_interface.h kernel-doc warnings
fd4f4727fa9e m68k: pgtable: Add missing #include <asm/page.h>
5c26a13afb9f drm/ttm: fix ttm_bo.h kernel-doc warnings
851eacd1736f drm/ttm: make ttm_caching.h self-contained
eea3a98aac6f drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings
d1e5b982e1b0 drm/ttm: fix ttm_kmap_iter.h kernel-doc warnings
1e654faa3ce2 drm/ttm: make ttm_pool.h self-contained
7554c7a7b3be drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h
58bc8ad9d048 drm: avoid includes in drm_crtc_helper_internal.h
2d0d70a1c9ae drm: ensure drm headers are self-contained and pass kernel-doc
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:80: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#80: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 58 lines checked



^ permalink raw reply	[flat|nested] 36+ messages in thread

* ✗ Fi.CI.SPARSE: warning for drm: fix headers, add header test facility (rev2)
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (19 preceding siblings ...)
  2024-03-08 19:30 ` ✗ Fi.CI.CHECKPATCH: warning for drm: fix headers, add header test facility (rev2) Patchwork
@ 2024-03-08 19:30 ` Patchwork
  2024-03-08 19:47 ` ✗ Fi.CI.BAT: failure " Patchwork
  2024-03-11 12:35 ` [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
  22 siblings, 0 replies; 36+ messages in thread
From: Patchwork @ 2024-03-08 19:30 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm: fix headers, add header test facility (rev2)
URL   : https://patchwork.freedesktop.org/series/130917/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



^ permalink raw reply	[flat|nested] 36+ messages in thread

* ✗ Fi.CI.BAT: failure for drm: fix headers, add header test facility (rev2)
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (20 preceding siblings ...)
  2024-03-08 19:30 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-03-08 19:47 ` Patchwork
  2024-03-11 12:35 ` [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
  22 siblings, 0 replies; 36+ messages in thread
From: Patchwork @ 2024-03-08 19:47 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 16158 bytes --]

== Series Details ==

Series: drm: fix headers, add header test facility (rev2)
URL   : https://patchwork.freedesktop.org/series/130917/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14416 -> Patchwork_130917v2
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_130917v2 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_130917v2, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/index.html

Participating hosts (39 -> 37)
------------------------------

  Additional (1): bat-dg1-7 
  Missing    (3): bat-kbl-2 bat-jsl-1 fi-snb-2520m 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_130917v2:

### CI changes ###

#### Possible regressions ####

  * boot:
    - fi-blb-e6850:       [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14416/fi-blb-e6850/boot.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/fi-blb-e6850/boot.html

  
Known issues
------------

  Here are the changes found in Patchwork_130917v2 that come from known issues:

### CI changes ###

#### Issues hit ####

  * boot:
    - fi-cfl-8109u:       [PASS][3] -> [FAIL][4] ([i915#8293])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14416/fi-cfl-8109u/boot.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/fi-cfl-8109u/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@gem_lmem_swapping@basic:
    - fi-pnv-d510:        NOTRUN -> [SKIP][5] +32 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/fi-pnv-d510/igt@gem_lmem_swapping@basic.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - bat-adlm-1:         NOTRUN -> [SKIP][6] ([i915#4613]) +3 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-mtlp-6:         NOTRUN -> [SKIP][7] ([i915#4613]) +3 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][8] ([i915#4083])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@gem_mmap@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][9] ([i915#4077]) +2 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][10] ([i915#4079]) +1 other test skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-7:          NOTRUN -> [SKIP][11] ([i915#6621])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@i915_pm_rps@basic-api.html
    - bat-dg2-8:          NOTRUN -> [SKIP][12] ([i915#6621])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-8/igt@i915_pm_rps@basic-api.html
    - bat-adlm-1:         NOTRUN -> [SKIP][13] ([i915#6621])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@i915_pm_rps@basic-api.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][14] ([i915#6621])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@coherency:
    - bat-dg2-11:         [PASS][15] -> [ABORT][16] ([i915#10366])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14416/bat-dg2-11/igt@i915_selftest@live@coherency.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-11/igt@i915_selftest@live@coherency.html

  * igt@i915_selftest@live@hangcheck:
    - bat-dg2-8:          NOTRUN -> [ABORT][17] ([i915#10366])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-8/igt@i915_selftest@live@hangcheck.html

  * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][18] ([i915#4212]) +7 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][19] ([i915#4215])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][20] ([i915#4103] / [i915#4213]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][21] ([i915#3555] / [i915#3840])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-adlm-1:         NOTRUN -> [SKIP][22]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@kms_force_connector_basic@force-load-detect.html
    - bat-dg1-7:          NOTRUN -> [SKIP][23]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-mtlp-6:         NOTRUN -> [SKIP][24] ([i915#5274] / [i915#9792])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-adlm-1:         NOTRUN -> [SKIP][25] ([i915#1849] / [i915#4342])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@kms_frontbuffer_tracking@basic.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][26] ([i915#4342] / [i915#5354] / [i915#9792])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_hdmi_inject@inject-audio:
    - bat-dg1-7:          NOTRUN -> [SKIP][27] ([i915#433])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_pipe_crc_basic@hang-read-crc:
    - bat-adlm-1:         NOTRUN -> [SKIP][28] ([i915#9875] / [i915#9900]) +6 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@kms_pipe_crc_basic@hang-read-crc.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][29] ([i915#9792]) +7 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@kms_pipe_crc_basic@hang-read-crc.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-dg1-7:          NOTRUN -> [SKIP][30] ([i915#5354])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html
    - bat-adlm-1:         NOTRUN -> [SKIP][31] ([i915#5354])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@kms_pm_backlight@basic-brightness.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][32] ([i915#5354] / [i915#9792])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_psr@psr-cursor-plane-move:
    - bat-mtlp-6:         NOTRUN -> [SKIP][33] ([i915#9673] / [i915#9732] / [i915#9792]) +3 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@kms_psr@psr-cursor-plane-move.html

  * igt@kms_psr@psr-primary-page-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][34] ([i915#9732]) +3 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - bat-dg2-8:          NOTRUN -> [SKIP][35] ([i915#9673] / [i915#9732]) +3 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-8/igt@kms_psr@psr-sprite-plane-onoff.html
    - bat-adlm-1:         NOTRUN -> [SKIP][36] ([i915#9673] / [i915#9732]) +3 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-dg2-8:          NOTRUN -> [SKIP][37] ([i915#3555])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-8/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-adlm-1:         NOTRUN -> [SKIP][38] ([i915#3555])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][39] ([i915#3555] / [i915#8809] / [i915#9792])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-dg1-7:          NOTRUN -> [SKIP][40] ([i915#3555])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][41] ([i915#3708]) +3 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html
    - bat-dg2-8:          NOTRUN -> [SKIP][42] ([i915#3708])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-8/igt@prime_vgem@basic-fence-flip.html
    - bat-adlm-1:         NOTRUN -> [SKIP][43] ([i915#3708] / [i915#9900])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@prime_vgem@basic-fence-flip.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][44] ([i915#3708] / [i915#9792])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-dg1-7:          NOTRUN -> [SKIP][45] ([i915#3708] / [i915#4077]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html
    - bat-dg2-8:          NOTRUN -> [SKIP][46] ([i915#3708] / [i915#4077]) +1 other test skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-8/igt@prime_vgem@basic-fence-mmap.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][47] ([i915#3708] / [i915#4077]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-write:
    - bat-dg2-8:          NOTRUN -> [SKIP][48] ([i915#3291] / [i915#3708]) +2 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-8/igt@prime_vgem@basic-write.html
    - bat-adlm-1:         NOTRUN -> [SKIP][49] ([i915#3708]) +2 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-adlm-1/igt@prime_vgem@basic-write.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][50] ([i915#3708]) +2 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-mtlp-6/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_module_load@load:
    - fi-pnv-d510:        [ABORT][51] -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14416/fi-pnv-d510/igt@i915_module_load@load.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/fi-pnv-d510/igt@i915_module_load@load.html

  * igt@i915_selftest@live@gt_contexts:
    - bat-dg2-9:          [ABORT][53] ([i915#10366]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14416/bat-dg2-9/igt@i915_selftest@live@gt_contexts.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-9/igt@i915_selftest@live@gt_contexts.html

  * igt@kms_pm_rpm@basic-rte:
    - bat-dg2-8:          [ABORT][55] ([i915#10367]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14416/bat-dg2-8/igt@kms_pm_rpm@basic-rte.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/bat-dg2-8/igt@kms_pm_rpm@basic-rte.html

  
  [i915#10366]: https://gitlab.freedesktop.org/drm/intel/issues/10366
  [i915#10367]: https://gitlab.freedesktop.org/drm/intel/issues/10367
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4342]: https://gitlab.freedesktop.org/drm/intel/issues/4342
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#9673]: https://gitlab.freedesktop.org/drm/intel/issues/9673
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9792]: https://gitlab.freedesktop.org/drm/intel/issues/9792
  [i915#9875]: https://gitlab.freedesktop.org/drm/intel/issues/9875
  [i915#9900]: https://gitlab.freedesktop.org/drm/intel/issues/9900


Build changes
-------------

  * Linux: CI_DRM_14416 -> Patchwork_130917v2

  CI-20190529: 20190529
  CI_DRM_14416: 3fde6df89bac97416ce1c82b14237a1a67ce3285 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7751: 86173d01d4d3644237f781dc5f9890bd26c988de @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_130917v2: 3fde6df89bac97416ce1c82b14237a1a67ce3285 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

bd4a193f0a43 drm: ensure drm headers are self-contained and pass kernel-doc
dbd72382b982 drm: avoid includes in drm_crtc_helper_internal.h
4bd1280bdd6d drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h
2a820e382e78 drm/ttm: make ttm_pool.h self-contained
431e44c7302a drm/ttm: fix ttm_kmap_iter.h kernel-doc warnings
87fcb8738e0a drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings
ca30c719048d drm/ttm: make ttm_caching.h self-contained
0e5ca3b16033 drm/ttm: fix ttm_bo.h kernel-doc warnings
9adcbd882515 m68k: pgtable: Add missing #include <asm/page.h>
cdc580a6e7d2 drm/i915/pxp: fix i915_pxp_tee_interface.h kernel-doc warnings
2ad8b822153c drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings
2ab9bba47cef drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc
14ec33f94d02 drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings
33d8d936c905 drm/encoder: improve drm_encoder_slave.h kernel-doc
198afc8c3f67 drm: add missing header guards to drm_crtc_helper_internal.h
0f0472a2ef6f drm: add missing header guards to drm_crtc_internal.h

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_130917v2/index.html

[-- Attachment #2: Type: text/html, Size: 20236 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 16/16] drm: ensure drm headers are self-contained and pass kernel-doc
  2024-03-08 11:55 ` [PATCH v2 16/16] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
@ 2024-03-11 12:33   ` Jani Nikula
  2025-03-02 15:46     ` Masahiro Yamada
  0 siblings, 1 reply; 36+ messages in thread
From: Jani Nikula @ 2024-03-11 12:33 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

On Fri, 08 Mar 2024, Jani Nikula <jani.nikula@intel.com> wrote:
> Ensure drm headers build, are self-contained, have header guards, and
> have no kernel-doc warnings, when CONFIG_DRM_HEADER_TEST=y.
>
> The mechanism follows similar patters used in i915, xe, and usr/include.
>
> To cover include/drm, we need to recurse there using the top level
> Kbuild and the new include/Kbuild files.
>
> Suggested-by: Daniel Vetter <daniel@ffwll.ch>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Masahiro, ack for merging this?

BR,
Jani.

> ---
>  Kbuild                   |  1 +
>  drivers/gpu/drm/Kconfig  | 11 +++++++++++
>  drivers/gpu/drm/Makefile | 18 ++++++++++++++++++
>  include/Kbuild           |  1 +
>  include/drm/Makefile     | 18 ++++++++++++++++++
>  5 files changed, 49 insertions(+)
>  create mode 100644 include/Kbuild
>  create mode 100644 include/drm/Makefile
>
> diff --git a/Kbuild b/Kbuild
> index 464b34a08f51..f327ca86990c 100644
> --- a/Kbuild
> +++ b/Kbuild
> @@ -97,3 +97,4 @@ obj-$(CONFIG_SAMPLES)	+= samples/
>  obj-$(CONFIG_NET)	+= net/
>  obj-y			+= virt/
>  obj-y			+= $(ARCH_DRIVERS)
> +obj-$(CONFIG_DRM_HEADER_TEST)	+= include/
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index c08e18108c2a..dd17685ef6e7 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -429,3 +429,14 @@ config DRM_WERROR
>  	  this config option is disabled by default.
>  
>  	  If in doubt, say N.
> +
> +config DRM_HEADER_TEST
> +	bool "Ensure DRM headers are self-contained and pass kernel-doc"
> +	depends on EXPERT
> +	default n
> +	help
> +	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
> +	  include/drm compile, are self-contained, have header guards, and have
> +	  no kernel-doc warnings.
> +
> +	  If in doubt, say N.
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index a73c04d2d7a3..6605d5686d01 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -218,3 +218,21 @@ obj-y			+= solomon/
>  obj-$(CONFIG_DRM_SPRD) += sprd/
>  obj-$(CONFIG_DRM_LOONGSON) += loongson/
>  obj-$(CONFIG_DRM_POWERVR) += imagination/
> +
> +# Ensure drm headers are self-contained and pass kernel-doc
> +hdrtest-files := \
> +	$(shell cd $(srctree)/$(src) && find . -maxdepth 1 -name 'drm_*.h') \
> +	$(shell cd $(srctree)/$(src) && find display lib -name '*.h')
> +
> +always-$(CONFIG_DRM_HEADER_TEST) += \
> +	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
> +
> +# Include the header twice to detect missing include guard.
> +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> +      cmd_hdrtest = \
> +		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> +		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_DRM_WERROR),-Werror) $<; \
> +		touch $@
> +
> +$(obj)/%.hdrtest: $(src)/%.h FORCE
> +	$(call if_changed_dep,hdrtest)
> diff --git a/include/Kbuild b/include/Kbuild
> new file mode 100644
> index 000000000000..5e76a599e2dd
> --- /dev/null
> +++ b/include/Kbuild
> @@ -0,0 +1 @@
> +obj-$(CONFIG_DRM_HEADER_TEST)	+= drm/
> diff --git a/include/drm/Makefile b/include/drm/Makefile
> new file mode 100644
> index 000000000000..b9f391d7aadd
> --- /dev/null
> +++ b/include/drm/Makefile
> @@ -0,0 +1,18 @@
> +# SPDX-License-Identifier: GPL-2.0
> +
> +# Ensure drm headers are self-contained and pass kernel-doc
> +hdrtest-files := \
> +	$(shell cd $(srctree)/$(src) && find * -name '*.h' 2>/dev/null)
> +
> +always-$(CONFIG_DRM_HEADER_TEST) += \
> +	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
> +
> +# Include the header twice to detect missing include guard.
> +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> +      cmd_hdrtest = \
> +		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> +		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_DRM_WERROR),-Werror) $<; \
> +		touch $@
> +
> +$(obj)/%.hdrtest: $(src)/%.h FORCE
> +	$(call if_changed_dep,hdrtest)

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 00/16] drm: fix headers, add header test facility
  2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
                   ` (21 preceding siblings ...)
  2024-03-08 19:47 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-03-11 12:35 ` Jani Nikula
  22 siblings, 0 replies; 36+ messages in thread
From: Jani Nikula @ 2024-03-11 12:35 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada, lucas.demarchi

On Fri, 08 Mar 2024, Jani Nikula <jani.nikula@intel.com> wrote:
> Follow-up to [1], with the already merged patches dropped, review
> comments addressed, some new patches added, etc.
>
> I did still leave in the FIXME comments in "drm/i2c: silence ch7006.h
> and sil164.h kernel-doc warnings", and just silenced the
> warnings. Fairly rarely used stuff, and mostly self-explanatory. I hope
> that's fine.

Pushed everything except the last patch to drm-misc-next. Thanks for all
the acks and reviews!

BR,
Jani.



>
> BR,
> Jani.
>
>
> [1] https://lore.kernel.org/all/cover.1709749576.git.jani.nikula@intel.com/
>
> Geert Uytterhoeven (1):
>   m68k: pgtable: Add missing #include <asm/page.h>
>
> Jani Nikula (15):
>   drm: add missing header guards to drm_crtc_internal.h
>   drm: add missing header guards to drm_crtc_helper_internal.h
>   drm/encoder: improve drm_encoder_slave.h kernel-doc
>   drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings
>   drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc
>   drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings
>   drm/i915/pxp: fix i915_pxp_tee_interface.h kernel-doc warnings
>   drm/ttm: fix ttm_bo.h kernel-doc warnings
>   drm/ttm: make ttm_caching.h self-contained
>   drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings
>   drm/ttm: fix ttm_kmap_iter.h kernel-doc warnings
>   drm/ttm: make ttm_pool.h self-contained
>   drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h
>   drm: avoid includes in drm_crtc_helper_internal.h
>   drm: ensure drm headers are self-contained and pass kernel-doc
>
>  Kbuild                                        |  1 +
>  arch/m68k/include/asm/pgtable.h               |  2 +
>  drivers/gpu/drm/Kconfig                       | 11 +++
>  drivers/gpu/drm/Makefile                      | 18 ++++
>  .../display/drm_dp_mst_topology_internal.h    |  4 +-
>  drivers/gpu/drm/drm_crtc_helper_internal.h    | 15 ++-
>  drivers/gpu/drm/drm_crtc_internal.h           |  5 +
>  include/Kbuild                                |  1 +
>  include/drm/Makefile                          | 18 ++++
>  include/drm/drm_encoder_slave.h               | 91 +++++++++++++++----
>  include/drm/i2c/ch7006.h                      |  1 +
>  include/drm/i2c/sil164.h                      |  1 +
>  include/drm/i915_gsc_proxy_mei_interface.h    |  4 +-
>  include/drm/i915_hdcp_interface.h             | 18 +++-
>  include/drm/i915_pxp_tee_interface.h          | 27 ++++--
>  include/drm/ttm/ttm_bo.h                      | 18 ++--
>  include/drm/ttm/ttm_caching.h                 |  2 +
>  include/drm/ttm/ttm_execbuf_util.h            |  7 +-
>  include/drm/ttm/ttm_kmap_iter.h               |  4 +-
>  include/drm/ttm/ttm_pool.h                    |  5 +-
>  20 files changed, 203 insertions(+), 50 deletions(-)
>  create mode 100644 include/Kbuild
>  create mode 100644 include/drm/Makefile

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2 16/16] drm: ensure drm headers are self-contained and pass kernel-doc
  2024-03-11 12:33   ` Jani Nikula
@ 2025-03-02 15:46     ` Masahiro Yamada
  0 siblings, 0 replies; 36+ messages in thread
From: Masahiro Yamada @ 2025-03-02 15:46 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	lucas.demarchi

On Mon, Mar 11, 2024 at 9:33 PM Jani Nikula <jani.nikula@intel.com> wrote:
>
> On Fri, 08 Mar 2024, Jani Nikula <jani.nikula@intel.com> wrote:
> > Ensure drm headers build, are self-contained, have header guards, and
> > have no kernel-doc warnings, when CONFIG_DRM_HEADER_TEST=y.
> >
> > The mechanism follows similar patters used in i915, xe, and usr/include.
> >
> > To cover include/drm, we need to recurse there using the top level
> > Kbuild and the new include/Kbuild files.
> >
> > Suggested-by: Daniel Vetter <daniel@ffwll.ch>
> > Cc: David Airlie <airlied@gmail.com>
> > Cc: Daniel Vetter <daniel@ffwll.ch>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Cc: Maxime Ripard <mripard@kernel.org>
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> Masahiro, ack for merging this?


Sorry, I did not notice that I was pinged so long ago.

I just realized this because I saw it in linux-next.

No, NACK.

This was already reverted by
  fcbb8461fd2376ba3782b5b8bd440c929b8e4980

Please do not re-add it.

The reason is explained in the discussion
linked in that commit description.

I do not believe all headers in include/drm/
must be self-contained.

If we know that <drm/drm-foo.h> is included only
when CONFIG_DRM_FOO is enabled, it does not
need to be self-contained when CONFIG_DRM_FOO=n.

So, I am skeptical with this approach, where
the 'find' command detects all headers and they must
be self-contained regardless.

The only case I think makes sense is UAPI headers
(implemented in usr/include/Makefile)


Masahiro



> BR,
> Jani.
>
> > ---
> >  Kbuild                   |  1 +
> >  drivers/gpu/drm/Kconfig  | 11 +++++++++++
> >  drivers/gpu/drm/Makefile | 18 ++++++++++++++++++
> >  include/Kbuild           |  1 +
> >  include/drm/Makefile     | 18 ++++++++++++++++++
> >  5 files changed, 49 insertions(+)
> >  create mode 100644 include/Kbuild
> >  create mode 100644 include/drm/Makefile
> >
> > diff --git a/Kbuild b/Kbuild
> > index 464b34a08f51..f327ca86990c 100644
> > --- a/Kbuild
> > +++ b/Kbuild
> > @@ -97,3 +97,4 @@ obj-$(CONFIG_SAMPLES)       += samples/
> >  obj-$(CONFIG_NET)    += net/
> >  obj-y                        += virt/
> >  obj-y                        += $(ARCH_DRIVERS)
> > +obj-$(CONFIG_DRM_HEADER_TEST)        += include/
> > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> > index c08e18108c2a..dd17685ef6e7 100644
> > --- a/drivers/gpu/drm/Kconfig
> > +++ b/drivers/gpu/drm/Kconfig
> > @@ -429,3 +429,14 @@ config DRM_WERROR
> >         this config option is disabled by default.
> >
> >         If in doubt, say N.
> > +
> > +config DRM_HEADER_TEST
> > +     bool "Ensure DRM headers are self-contained and pass kernel-doc"
> > +     depends on EXPERT
> > +     default n
> > +     help
> > +       Ensure the DRM subsystem headers both under drivers/gpu/drm and
> > +       include/drm compile, are self-contained, have header guards, and have
> > +       no kernel-doc warnings.
> > +
> > +       If in doubt, say N.
> > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> > index a73c04d2d7a3..6605d5686d01 100644
> > --- a/drivers/gpu/drm/Makefile
> > +++ b/drivers/gpu/drm/Makefile
> > @@ -218,3 +218,21 @@ obj-y                    += solomon/
> >  obj-$(CONFIG_DRM_SPRD) += sprd/
> >  obj-$(CONFIG_DRM_LOONGSON) += loongson/
> >  obj-$(CONFIG_DRM_POWERVR) += imagination/
> > +
> > +# Ensure drm headers are self-contained and pass kernel-doc
> > +hdrtest-files := \
> > +     $(shell cd $(srctree)/$(src) && find . -maxdepth 1 -name 'drm_*.h') \
> > +     $(shell cd $(srctree)/$(src) && find display lib -name '*.h')
> > +
> > +always-$(CONFIG_DRM_HEADER_TEST) += \
> > +     $(patsubst %.h,%.hdrtest, $(hdrtest-files))
> > +
> > +# Include the header twice to detect missing include guard.
> > +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> > +      cmd_hdrtest = \
> > +             $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> > +             $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_DRM_WERROR),-Werror) $<; \
> > +             touch $@
> > +
> > +$(obj)/%.hdrtest: $(src)/%.h FORCE
> > +     $(call if_changed_dep,hdrtest)
> > diff --git a/include/Kbuild b/include/Kbuild
> > new file mode 100644
> > index 000000000000..5e76a599e2dd
> > --- /dev/null
> > +++ b/include/Kbuild
> > @@ -0,0 +1 @@
> > +obj-$(CONFIG_DRM_HEADER_TEST)        += drm/
> > diff --git a/include/drm/Makefile b/include/drm/Makefile
> > new file mode 100644
> > index 000000000000..b9f391d7aadd
> > --- /dev/null
> > +++ b/include/drm/Makefile
> > @@ -0,0 +1,18 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +
> > +# Ensure drm headers are self-contained and pass kernel-doc
> > +hdrtest-files := \
> > +     $(shell cd $(srctree)/$(src) && find * -name '*.h' 2>/dev/null)
> > +
> > +always-$(CONFIG_DRM_HEADER_TEST) += \
> > +     $(patsubst %.h,%.hdrtest, $(hdrtest-files))
> > +
> > +# Include the header twice to detect missing include guard.
> > +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> > +      cmd_hdrtest = \
> > +             $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> > +             $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_DRM_WERROR),-Werror) $<; \
> > +             touch $@
> > +
> > +$(obj)/%.hdrtest: $(src)/%.h FORCE
> > +     $(call if_changed_dep,hdrtest)
>
> --
> Jani Nikula, Intel



--
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2025-03-02 15:47 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-08 11:55 [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula
2024-03-08 11:55 ` [PATCH v2 01/16] drm: add missing header guards to drm_crtc_internal.h Jani Nikula
2024-03-08 17:19   ` Alex Deucher
2024-03-08 11:55 ` [PATCH v2 02/16] drm: add missing header guards to drm_crtc_helper_internal.h Jani Nikula
2024-03-08 17:21   ` Alex Deucher
2024-03-08 11:55 ` [PATCH v2 03/16] drm/encoder: improve drm_encoder_slave.h kernel-doc Jani Nikula
2024-03-08 17:21   ` Alex Deucher
2024-03-08 11:55 ` [PATCH v2 04/16] drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings Jani Nikula
2024-03-08 11:55 ` [PATCH v2 05/16] drm/i915: fix i915_gsc_proxy_mei_interface.h kernel-doc Jani Nikula
2024-03-08 11:55 ` [PATCH v2 06/16] drm/i915/hdcp: fix i915_hdcp_interface.h kernel-doc warnings Jani Nikula
2024-03-08 11:55 ` [PATCH v2 07/16] drm/i915/pxp: fix i915_pxp_tee_interface.h " Jani Nikula
2024-03-08 15:10   ` Lucas De Marchi
2024-03-08 11:55 ` [PATCH v2 08/16] m68k: pgtable: Add missing #include <asm/page.h> Jani Nikula
2024-03-08 11:55 ` [PATCH v2 09/16] drm/ttm: fix ttm_bo.h kernel-doc warnings Jani Nikula
2024-03-08 13:03   ` Christian König
2024-03-08 16:07   ` [PATCH v3] " Jani Nikula
2024-03-08 11:55 ` [PATCH v2 10/16] drm/ttm: make ttm_caching.h self-contained Jani Nikula
2024-03-08 17:22   ` Alex Deucher
2024-03-08 11:55 ` [PATCH v2 11/16] drm/ttm: fix ttm_execbuf_util.h kernel-doc warnings Jani Nikula
2024-03-08 11:55 ` [PATCH v2 12/16] drm/ttm: fix ttm_kmap_iter.h " Jani Nikula
2024-03-08 11:55 ` [PATCH v2 13/16] drm/ttm: make ttm_pool.h self-contained Jani Nikula
2024-03-08 17:22   ` Alex Deucher
2024-03-08 11:55 ` [PATCH v2 14/16] drm/dp_mst: avoid includes in drm_dp_mst_topology_internal.h Jani Nikula
2024-03-08 15:12   ` Lucas De Marchi
2024-03-08 11:55 ` [PATCH v2 15/16] drm: avoid includes in drm_crtc_helper_internal.h Jani Nikula
2024-03-08 15:12   ` Lucas De Marchi
2024-03-08 11:55 ` [PATCH v2 16/16] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
2024-03-11 12:33   ` Jani Nikula
2025-03-02 15:46     ` Masahiro Yamada
2024-03-08 14:46 ` ✗ Fi.CI.CHECKPATCH: warning for drm: fix headers, add header test facility Patchwork
2024-03-08 14:46 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-08 15:00 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-08 19:30 ` ✗ Fi.CI.CHECKPATCH: warning for drm: fix headers, add header test facility (rev2) Patchwork
2024-03-08 19:30 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-08 19:47 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-11 12:35 ` [PATCH v2 00/16] drm: fix headers, add header test facility Jani Nikula

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