All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] drm/print: cleanup and new drm_device based logging
@ 2019-10-09 15:37 Jani Nikula
  2019-10-09 15:37 ` [PATCH 1/8] drm/i915: use drm_debug_enabled() to check for debug categories Jani Nikula
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: jani.nikula

For starters some fairly benign cleanup, and a proposal for new struct
drm_device based drm logging macros analoguous to core kernel struct
device based macros.

BR,
Jani.


Jani Nikula (8):
  drm/i915: use drm_debug_enabled() to check for debug categories
  drm/nouveau: use drm_debug_enabled() to check for debug categories
  drm/amdgpu: use drm_debug_enabled() to check for debug categories
  drm/print: rename drm_debug to __drm_debug to discourage use
  drm/print: underscore prefix functions that should be private to print
  drm/print: convert debug category macros into an enum
  drm/print: group logging functions by prink or device based
  drm/print: introduce new struct drm_device based logging macros

 drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c   |   4 +-
 drivers/gpu/drm/drm_print.c                  |  18 +-
 drivers/gpu/drm/i915/display/intel_display.c |   4 +-
 drivers/gpu/drm/i915/display/intel_dp.c      |   2 +-
 drivers/gpu/drm/i915/i915_drv.c              |   2 +-
 drivers/gpu/drm/i915/i915_gem.h              |   2 +-
 drivers/gpu/drm/i915/i915_utils.c            |   2 +-
 drivers/gpu/drm/i915/intel_pm.c              |   2 +-
 drivers/gpu/drm/nouveau/dispnv50/disp.h      |   4 +-
 drivers/gpu/drm/nouveau/nouveau_drv.h        |   4 +-
 include/drm/drm_print.h                      | 304 ++++++++++++-------
 11 files changed, 224 insertions(+), 124 deletions(-)

-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 1/8] drm/i915: use drm_debug_enabled() to check for debug categories
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
@ 2019-10-09 15:37 ` Jani Nikula
  2019-10-09 15:37 ` [PATCH 2/8] drm/nouveau: " Jani Nikula
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: jani.nikula, Eric Engestrom

Allow better abstraction of the drm_debug global variable in the
future. No functional changes.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 4 ++--
 drivers/gpu/drm/i915/display/intel_dp.c      | 2 +-
 drivers/gpu/drm/i915/i915_drv.c              | 2 +-
 drivers/gpu/drm/i915/i915_gem.h              | 2 +-
 drivers/gpu/drm/i915/i915_utils.c            | 2 +-
 drivers/gpu/drm/i915/intel_pm.c              | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 1a533ccdb54f..36d7d11ed2fc 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -12025,7 +12025,7 @@ static void
 intel_dump_infoframe(struct drm_i915_private *dev_priv,
 		     const union hdmi_infoframe *frame)
 {
-	if ((drm_debug & DRM_UT_KMS) == 0)
+	if (!drm_debug_enabled(DRM_UT_KMS))
 		return;
 
 	hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, frame);
@@ -12541,7 +12541,7 @@ pipe_config_infoframe_mismatch(struct drm_i915_private *dev_priv,
 			       const union hdmi_infoframe *b)
 {
 	if (fastset) {
-		if ((drm_debug & DRM_UT_KMS) == 0)
+		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
 		DRM_DEBUG_KMS("fastset mismatch in %s infoframe\n", name);
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 0e45c61d7331..e64afc503cb5 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1784,7 +1784,7 @@ static void intel_dp_print_rates(struct intel_dp *intel_dp)
 {
 	char str[128]; /* FIXME: too big for stack? */
 
-	if ((drm_debug & DRM_UT_KMS) == 0)
+	if (!drm_debug_enabled(DRM_UT_KMS))
 		return;
 
 	snprintf_int_array(str, sizeof(str),
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index f02a34722217..8e2c8e173f7c 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1380,7 +1380,7 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
 
 static void i915_welcome_messages(struct drm_i915_private *dev_priv)
 {
-	if (drm_debug & DRM_UT_DRIVER) {
+	if (drm_debug_enabled(DRM_UT_DRIVER)) {
 		struct drm_printer p = drm_debug_printer("i915 device info:");
 
 		drm_printf(&p, "pciid=0x%04x rev=0x%02x platform=%s (subplatform=0x%x) gen=%i\n",
diff --git a/drivers/gpu/drm/i915/i915_gem.h b/drivers/gpu/drm/i915/i915_gem.h
index 167a7b56ed5b..a49b39e896b7 100644
--- a/drivers/gpu/drm/i915/i915_gem.h
+++ b/drivers/gpu/drm/i915/i915_gem.h
@@ -34,7 +34,7 @@ struct drm_i915_private;
 
 #ifdef CONFIG_DRM_I915_DEBUG_GEM
 
-#define GEM_SHOW_DEBUG() (drm_debug & DRM_UT_DRIVER)
+#define GEM_SHOW_DEBUG() drm_debug_enabled(DRM_UT_DRIVER)
 
 #define GEM_BUG_ON(condition) do { if (unlikely((condition))) {	\
 		pr_err("%s:%d GEM_BUG_ON(%s)\n", \
diff --git a/drivers/gpu/drm/i915/i915_utils.c b/drivers/gpu/drm/i915/i915_utils.c
index 16acdf7bdbe6..f66540e15793 100644
--- a/drivers/gpu/drm/i915/i915_utils.c
+++ b/drivers/gpu/drm/i915/i915_utils.c
@@ -23,7 +23,7 @@ __i915_printk(struct drm_i915_private *dev_priv, const char *level,
 	struct va_format vaf;
 	va_list args;
 
-	if (is_debug && !(drm_debug & DRM_UT_DRIVER))
+	if (is_debug && !drm_debug_enabled(DRM_UT_DRIVER))
 		return;
 
 	va_start(args, fmt);
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index bfcf03ab5245..d465c87fa9f3 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5322,7 +5322,7 @@ skl_print_wm_changes(struct intel_atomic_state *state)
 	struct intel_crtc *crtc;
 	int i;
 
-	if ((drm_debug & DRM_UT_KMS) == 0)
+	if (!drm_debug_enabled(DRM_UT_KMS))
 		return;
 
 	for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 2/8] drm/nouveau: use drm_debug_enabled() to check for debug categories
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
  2019-10-09 15:37 ` [PATCH 1/8] drm/i915: use drm_debug_enabled() to check for debug categories Jani Nikula
@ 2019-10-09 15:37 ` Jani Nikula
  2019-10-09 15:37 ` [PATCH 3/8] drm/amdgpu: " Jani Nikula
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: jani.nikula, nouveau, Ben Skeggs

Allow better abstraction of the drm_debug global variable in the
future. No functional changes.

v2: move unlikely() to drm_debug_enabled()

Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: nouveau@lists.freedesktop.org
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/nouveau/dispnv50/disp.h | 4 ++--
 drivers/gpu/drm/nouveau/nouveau_drv.h   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.h b/drivers/gpu/drm/nouveau/dispnv50/disp.h
index 7c41b0599d1a..c0a79531b087 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.h
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.h
@@ -78,14 +78,14 @@ void evo_kick(u32 *, struct nv50_dmac *);
 
 #define evo_mthd(p, m, s) do {						\
 	const u32 _m = (m), _s = (s);					\
-	if (drm_debug & DRM_UT_KMS)					\
+	if (drm_debug_enabled(DRM_UT_KMS))				\
 		pr_err("%04x %d %s\n", _m, _s, __func__);		\
 	*((p)++) = ((_s << 18) | _m);					\
 } while(0)
 
 #define evo_data(p, d) do {						\
 	const u32 _d = (d);						\
-	if (drm_debug & DRM_UT_KMS)					\
+	if (drm_debug_enabled(DRM_UT_KMS))				\
 		pr_err("\t%08x\n", _d);					\
 	*((p)++) = _d;							\
 } while(0)
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index 70f34cacc552..da8c46e09943 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -248,11 +248,11 @@ void nouveau_drm_device_remove(struct drm_device *dev);
 #define NV_INFO(drm,f,a...) NV_PRINTK(info, &(drm)->client, f, ##a)
 
 #define NV_DEBUG(drm,f,a...) do {                                              \
-	if (unlikely(drm_debug & DRM_UT_DRIVER))                               \
+	if (drm_debug_enabled(DRM_UT_DRIVER))                                  \
 		NV_PRINTK(info, &(drm)->client, f, ##a);                       \
 } while(0)
 #define NV_ATOMIC(drm,f,a...) do {                                             \
-	if (unlikely(drm_debug & DRM_UT_ATOMIC))                               \
+	if (drm_debug_enabled(DRM_UT_ATOMIC))                                  \
 		NV_PRINTK(info, &(drm)->client, f, ##a);                       \
 } while(0)
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH 3/8] drm/amdgpu: use drm_debug_enabled() to check for debug categories
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
  2019-10-09 15:37 ` [PATCH 1/8] drm/i915: use drm_debug_enabled() to check for debug categories Jani Nikula
  2019-10-09 15:37 ` [PATCH 2/8] drm/nouveau: " Jani Nikula
@ 2019-10-09 15:37 ` Jani Nikula
  2019-10-09 15:37 ` [PATCH 4/8] drm/print: rename drm_debug to __drm_debug to discourage use Jani Nikula
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel
  Cc: jani.nikula, Alex Deucher, Christian König, amd-gfx, David Zhou

Allow better abstraction of the drm_debug global variable in the
future. No functional changes.

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: David (ChunMing) Zhou <David1.Zhou@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c b/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
index c44723c267c9..c902f26cf50d 100644
--- a/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
@@ -234,7 +234,7 @@ static uint32_t smu_v11_0_i2c_transmit(struct i2c_adapter *control,
 	DRM_DEBUG_DRIVER("I2C_Transmit(), address = %x, bytes = %d , data: ",
 		 (uint16_t)address, numbytes);
 
-	if (drm_debug & DRM_UT_DRIVER) {
+	if (drm_debug_enabled(DRM_UT_DRIVER)) {
 		print_hex_dump(KERN_INFO, "data: ", DUMP_PREFIX_NONE,
 			       16, 1, data, numbytes, false);
 	}
@@ -388,7 +388,7 @@ static uint32_t smu_v11_0_i2c_receive(struct i2c_adapter *control,
 	DRM_DEBUG_DRIVER("I2C_Receive(), address = %x, bytes = %d, data :",
 		  (uint16_t)address, bytes_received);
 
-	if (drm_debug & DRM_UT_DRIVER) {
+	if (drm_debug_enabled(DRM_UT_DRIVER)) {
 		print_hex_dump(KERN_INFO, "data: ", DUMP_PREFIX_NONE,
 			       16, 1, data, bytes_received, false);
 	}
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH 4/8] drm/print: rename drm_debug to __drm_debug to discourage use
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
                   ` (2 preceding siblings ...)
  2019-10-09 15:37 ` [PATCH 3/8] drm/amdgpu: " Jani Nikula
@ 2019-10-09 15:37 ` Jani Nikula
  2019-10-09 15:37 ` [PATCH 5/8] drm/print: underscore prefix functions that should be private to print Jani Nikula
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: jani.nikula, Alex Deucher, Eric Engestrom

drm_debug_enabled() is the way to check. __drm_debug is now reserved for
drm print code only. No functional changes.

v2: Rebase on move unlikely() to drm_debug_enabled()

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/drm_print.c | 8 ++++----
 include/drm/drm_print.h     | 5 +++--
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
index 9a25d73c155c..a0d1cde9888a 100644
--- a/drivers/gpu/drm/drm_print.c
+++ b/drivers/gpu/drm/drm_print.c
@@ -37,11 +37,11 @@
 #include <drm/drm_print.h>
 
 /*
- * drm_debug: Enable debug output.
+ * __drm_debug: Enable debug output.
  * Bitmask of DRM_UT_x. See include/drm/drm_print.h for details.
  */
-unsigned int drm_debug;
-EXPORT_SYMBOL(drm_debug);
+unsigned int __drm_debug;
+EXPORT_SYMBOL(__drm_debug);
 
 MODULE_PARM_DESC(debug, "Enable debug output, where each bit enables a debug category.\n"
 "\t\tBit 0 (0x01)  will enable CORE messages (drm core code)\n"
@@ -52,7 +52,7 @@ MODULE_PARM_DESC(debug, "Enable debug output, where each bit enables a debug cat
 "\t\tBit 5 (0x20)  will enable VBL messages (vblank code)\n"
 "\t\tBit 7 (0x80)  will enable LEASE messages (leasing code)\n"
 "\t\tBit 8 (0x100) will enable DP messages (displayport code)");
-module_param_named(debug, drm_debug, int, 0600);
+module_param_named(debug, __drm_debug, int, 0600);
 
 void __drm_puts_coredump(struct drm_printer *p, const char *str)
 {
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index 5b8049992c24..77fef2c7e312 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -34,7 +34,8 @@
 
 #include <drm/drm.h>
 
-extern unsigned int drm_debug;
+/* Do *not* use outside of drm_print.[ch]! */
+extern unsigned int __drm_debug;
 
 /**
  * DOC: print
@@ -295,7 +296,7 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
 
 static inline bool drm_debug_enabled(unsigned int category)
 {
-	return unlikely(drm_debug & category);
+	return unlikely(__drm_debug & category);
 }
 
 __printf(3, 4)
-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 5/8] drm/print: underscore prefix functions that should be private to print
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
                   ` (3 preceding siblings ...)
  2019-10-09 15:37 ` [PATCH 4/8] drm/print: rename drm_debug to __drm_debug to discourage use Jani Nikula
@ 2019-10-09 15:37 ` Jani Nikula
  2019-10-09 15:37 ` [PATCH 6/8] drm/print: convert debug category macros into an enum Jani Nikula
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: jani.nikula

We don't want people calling the functions directly. No functional
changes.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/drm_print.c |  8 ++++----
 include/drm/drm_print.h     | 22 +++++++++++-----------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
index a0d1cde9888a..703b126dd074 100644
--- a/drivers/gpu/drm/drm_print.c
+++ b/drivers/gpu/drm/drm_print.c
@@ -280,7 +280,7 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
 }
 EXPORT_SYMBOL(drm_dev_dbg);
 
-void drm_dbg(unsigned int category, const char *format, ...)
+void __drm_dbg(unsigned int category, const char *format, ...)
 {
 	struct va_format vaf;
 	va_list args;
@@ -297,9 +297,9 @@ void drm_dbg(unsigned int category, const char *format, ...)
 
 	va_end(args);
 }
-EXPORT_SYMBOL(drm_dbg);
+EXPORT_SYMBOL(__drm_dbg);
 
-void drm_err(const char *format, ...)
+void __drm_err(const char *format, ...)
 {
 	struct va_format vaf;
 	va_list args;
@@ -313,7 +313,7 @@ void drm_err(const char *format, ...)
 
 	va_end(args);
 }
-EXPORT_SYMBOL(drm_err);
+EXPORT_SYMBOL(__drm_err);
 
 /**
  * drm_print_regset32 - print the contents of registers to a
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index 77fef2c7e312..ce45ec46202a 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -307,9 +307,9 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
 		 const char *format, ...);
 
 __printf(2, 3)
-void drm_dbg(unsigned int category, const char *format, ...);
+void __drm_dbg(unsigned int category, const char *format, ...);
 __printf(1, 2)
-void drm_err(const char *format, ...);
+void __drm_err(const char *format, ...);
 
 /* Macros to make printk easier */
 
@@ -339,7 +339,7 @@ void drm_err(const char *format, ...);
 #define DRM_DEV_ERROR(dev, fmt, ...)					\
 	drm_dev_printk(dev, KERN_ERR, "*ERROR* " fmt, ##__VA_ARGS__)
 #define DRM_ERROR(fmt, ...)						\
-	drm_err(fmt, ##__VA_ARGS__)
+	__drm_err(fmt, ##__VA_ARGS__)
 
 /**
  * Rate limited error output.  Like DRM_ERROR() but won't flood the log.
@@ -380,40 +380,40 @@ void drm_err(const char *format, ...);
 #define DRM_DEV_DEBUG(dev, fmt, ...)					\
 	drm_dev_dbg(dev, DRM_UT_CORE, fmt, ##__VA_ARGS__)
 #define DRM_DEBUG(fmt, ...)						\
-	drm_dbg(DRM_UT_CORE, fmt, ##__VA_ARGS__)
+	__drm_dbg(DRM_UT_CORE, fmt, ##__VA_ARGS__)
 
 #define DRM_DEV_DEBUG_DRIVER(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_DRIVER,	fmt, ##__VA_ARGS__)
 #define DRM_DEBUG_DRIVER(fmt, ...)					\
-	drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
+	__drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
 
 #define DRM_DEV_DEBUG_KMS(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_KMS, fmt, ##__VA_ARGS__)
 #define DRM_DEBUG_KMS(fmt, ...)						\
-	drm_dbg(DRM_UT_KMS, fmt, ##__VA_ARGS__)
+	__drm_dbg(DRM_UT_KMS, fmt, ##__VA_ARGS__)
 
 #define DRM_DEV_DEBUG_PRIME(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_PRIME, fmt, ##__VA_ARGS__)
 #define DRM_DEBUG_PRIME(fmt, ...)					\
-	drm_dbg(DRM_UT_PRIME, fmt, ##__VA_ARGS__)
+	__drm_dbg(DRM_UT_PRIME, fmt, ##__VA_ARGS__)
 
 #define DRM_DEV_DEBUG_ATOMIC(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_ATOMIC,	fmt, ##__VA_ARGS__)
 #define DRM_DEBUG_ATOMIC(fmt, ...)					\
-	drm_dbg(DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
+	__drm_dbg(DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
 
 #define DRM_DEV_DEBUG_VBL(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_VBL, fmt, ##__VA_ARGS__)
 #define DRM_DEBUG_VBL(fmt, ...)						\
-	drm_dbg(DRM_UT_VBL, fmt, ##__VA_ARGS__)
+	__drm_dbg(DRM_UT_VBL, fmt, ##__VA_ARGS__)
 
 #define DRM_DEBUG_LEASE(fmt, ...)					\
-	drm_dbg(DRM_UT_LEASE, fmt, ##__VA_ARGS__)
+	__drm_dbg(DRM_UT_LEASE, fmt, ##__VA_ARGS__)
 
 #define	DRM_DEV_DEBUG_DP(dev, fmt, ...)					\
 	drm_dev_dbg(dev, DRM_UT_DP, fmt, ## __VA_ARGS__)
 #define DRM_DEBUG_DP(fmt, ...)						\
-	drm_dbg(DRM_UT_DP, fmt, ## __VA_ARGS__)
+	__drm_dbg(DRM_UT_DP, fmt, ## __VA_ARGS__)
 
 #define _DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, category, fmt, ...)	\
 ({									\
-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 6/8] drm/print: convert debug category macros into an enum
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
                   ` (4 preceding siblings ...)
  2019-10-09 15:37 ` [PATCH 5/8] drm/print: underscore prefix functions that should be private to print Jani Nikula
@ 2019-10-09 15:37 ` Jani Nikula
  2019-10-09 15:37 ` [PATCH 7/8] drm/print: group logging functions by prink or device based Jani Nikula
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: jani.nikula

Mostly for improved documentation, convert the debug category macros
into an enum. Drop unused DRM_UT_NONE. Document previously undocumented
categories.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/drm_print.c |   4 +-
 include/drm/drm_print.h     | 101 ++++++++++++++++++++++--------------
 2 files changed, 63 insertions(+), 42 deletions(-)

diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
index 703b126dd074..111b932cf2a9 100644
--- a/drivers/gpu/drm/drm_print.c
+++ b/drivers/gpu/drm/drm_print.c
@@ -256,7 +256,7 @@ void drm_dev_printk(const struct device *dev, const char *level,
 }
 EXPORT_SYMBOL(drm_dev_printk);
 
-void drm_dev_dbg(const struct device *dev, unsigned int category,
+void drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 		 const char *format, ...)
 {
 	struct va_format vaf;
@@ -280,7 +280,7 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
 }
 EXPORT_SYMBOL(drm_dev_dbg);
 
-void __drm_dbg(unsigned int category, const char *format, ...)
+void __drm_dbg(enum drm_debug_category category, const char *format, ...)
 {
 	struct va_format vaf;
 	va_list args;
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index ce45ec46202a..13f65394376e 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -249,52 +249,73 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
 	return p;
 }
 
-/*
- * The following categories are defined:
- *
- * CORE: Used in the generic drm code: drm_ioctl.c, drm_mm.c, drm_memory.c, ...
- *	 This is the category used by the DRM_DEBUG() macro.
- *
- * DRIVER: Used in the vendor specific part of the driver: i915, radeon, ...
- *	   This is the category used by the DRM_DEBUG_DRIVER() macro.
- *
- * KMS: used in the modesetting code.
- *	This is the category used by the DRM_DEBUG_KMS() macro.
- *
- * PRIME: used in the prime code.
- *	  This is the category used by the DRM_DEBUG_PRIME() macro.
+/**
+ * enum drm_debug_category - The DRM debug categories
  *
- * ATOMIC: used in the atomic code.
- *	  This is the category used by the DRM_DEBUG_ATOMIC() macro.
+ * Each of the DRM debug logging macros use a specific category, and the logging
+ * is filtered by the drm.debug module parameter. This enum specifies the values
+ * for the interface.
  *
- * VBL: used for verbose debug message in the vblank code
- *	  This is the category used by the DRM_DEBUG_VBL() macro.
+ * Each DRM_DEBUG_<CATEGORY> macro logs to DRM_UT_<CATEGORY> category, except
+ * DRM_DEBUG() logs to DRM_UT_CORE.
  *
- * Enabling verbose debug messages is done through the drm.debug parameter,
- * each category being enabled by a bit.
+ * Enabling verbose debug messages is done through the drm.debug parameter, each
+ * category being enabled by a bit:
  *
- * drm.debug=0x1 will enable CORE messages
- * drm.debug=0x2 will enable DRIVER messages
- * drm.debug=0x3 will enable CORE and DRIVER messages
- * ...
- * drm.debug=0x3f will enable all messages
+ *  - drm.debug=0x1 will enable CORE messages
+ *  - drm.debug=0x2 will enable DRIVER messages
+ *  - drm.debug=0x3 will enable CORE and DRIVER messages
+ *  - ...
+ *  - drm.debug=0x1ff will enable all messages
  *
  * An interesting feature is that it's possible to enable verbose logging at
- * run-time by echoing the debug value in its sysfs node:
+ * run-time by echoing the debug value in its sysfs node::
+ *
  *   # echo 0xf > /sys/module/drm/parameters/debug
+ *
  */
-#define DRM_UT_NONE		0x00
-#define DRM_UT_CORE		0x01
-#define DRM_UT_DRIVER		0x02
-#define DRM_UT_KMS		0x04
-#define DRM_UT_PRIME		0x08
-#define DRM_UT_ATOMIC		0x10
-#define DRM_UT_VBL		0x20
-#define DRM_UT_STATE		0x40
-#define DRM_UT_LEASE		0x80
-#define DRM_UT_DP		0x100
-
-static inline bool drm_debug_enabled(unsigned int category)
+enum drm_debug_category {
+	/**
+	 * @DRM_UT_CORE: Used in the generic drm code: drm_ioctl.c, drm_mm.c,
+	 * drm_memory.c, ...
+	 */
+	DRM_UT_CORE		= 0x01,
+	/**
+	 * @DRM_UT_DRIVER: Used in the vendor specific part of the driver: i915,
+	 * radeon, ... macro.
+	 */
+	DRM_UT_DRIVER		= 0x02,
+	/**
+	 * @DRM_UT_KMS: Used in the modesetting code.
+	 */
+	DRM_UT_KMS		= 0x04,
+	/**
+	 * @DRM_UT_PRIME: Used in the prime code.
+	 */
+	DRM_UT_PRIME		= 0x08,
+	/**
+	 * @DRM_UT_ATOMIC: Used in the atomic code.
+	 */
+	DRM_UT_ATOMIC		= 0x10,
+	/**
+	 * @DRM_UT_VBL: Used for verbose debug message in the vblank code.
+	 */
+	DRM_UT_VBL		= 0x20,
+	/**
+	 * @DRM_UT_STATE: Used for verbose atomic state debugging.
+	 */
+	DRM_UT_STATE		= 0x40,
+	/**
+	 * @DRM_UT_LEASE: Used in the lease code.
+	 */
+	DRM_UT_LEASE		= 0x80,
+	/**
+	 * @DRM_UT_DP: Used in the DP code.
+	 */
+	DRM_UT_DP		= 0x100,
+};
+
+static inline bool drm_debug_enabled(enum drm_debug_category category)
 {
 	return unlikely(__drm_debug & category);
 }
@@ -303,11 +324,11 @@ __printf(3, 4)
 void drm_dev_printk(const struct device *dev, const char *level,
 		    const char *format, ...);
 __printf(3, 4)
-void drm_dev_dbg(const struct device *dev, unsigned int category,
+void drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 		 const char *format, ...);
 
 __printf(2, 3)
-void __drm_dbg(unsigned int category, const char *format, ...);
+void __drm_dbg(enum drm_debug_category category, const char *format, ...);
 __printf(1, 2)
 void __drm_err(const char *format, ...);
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH 7/8] drm/print: group logging functions by prink or device based
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
                   ` (5 preceding siblings ...)
  2019-10-09 15:37 ` [PATCH 6/8] drm/print: convert debug category macros into an enum Jani Nikula
@ 2019-10-09 15:37 ` Jani Nikula
  2019-10-09 15:37 ` [PATCH 8/8] drm/print: introduce new struct drm_device based logging macros Jani Nikula
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: jani.nikula

In preparation for adding struct drm_device based logging, group the
existing functions by prink or struct device based logging. No
functional changes.

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

diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index 13f65394376e..085a9685270c 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -320,6 +320,10 @@ static inline bool drm_debug_enabled(enum drm_debug_category category)
 	return unlikely(__drm_debug & category);
 }
 
+/*
+ * struct device based logging
+ */
+
 __printf(3, 4)
 void drm_dev_printk(const struct device *dev, const char *level,
 		    const char *format, ...);
@@ -327,30 +331,6 @@ __printf(3, 4)
 void drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 		 const char *format, ...);
 
-__printf(2, 3)
-void __drm_dbg(enum drm_debug_category category, const char *format, ...);
-__printf(1, 2)
-void __drm_err(const char *format, ...);
-
-/* Macros to make printk easier */
-
-#define _DRM_PRINTK(once, level, fmt, ...)				\
-	printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
-
-#define DRM_INFO(fmt, ...)						\
-	_DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
-#define DRM_NOTE(fmt, ...)						\
-	_DRM_PRINTK(, NOTICE, fmt, ##__VA_ARGS__)
-#define DRM_WARN(fmt, ...)						\
-	_DRM_PRINTK(, WARNING, fmt, ##__VA_ARGS__)
-
-#define DRM_INFO_ONCE(fmt, ...)						\
-	_DRM_PRINTK(_once, INFO, fmt, ##__VA_ARGS__)
-#define DRM_NOTE_ONCE(fmt, ...)						\
-	_DRM_PRINTK(_once, NOTICE, fmt, ##__VA_ARGS__)
-#define DRM_WARN_ONCE(fmt, ...)						\
-	_DRM_PRINTK(_once, WARNING, fmt, ##__VA_ARGS__)
-
 /**
  * Error output.
  *
@@ -359,8 +339,6 @@ void __drm_err(const char *format, ...);
  */
 #define DRM_DEV_ERROR(dev, fmt, ...)					\
 	drm_dev_printk(dev, KERN_ERR, "*ERROR* " fmt, ##__VA_ARGS__)
-#define DRM_ERROR(fmt, ...)						\
-	__drm_err(fmt, ##__VA_ARGS__)
 
 /**
  * Rate limited error output.  Like DRM_ERROR() but won't flood the log.
@@ -377,10 +355,8 @@ void __drm_err(const char *format, ...);
 	if (__ratelimit(&_rs))						\
 		DRM_DEV_ERROR(dev, fmt, ##__VA_ARGS__);			\
 })
-#define DRM_ERROR_RATELIMITED(fmt, ...)					\
-	DRM_DEV_ERROR_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
 
-#define DRM_DEV_INFO(dev, fmt, ...)					\
+#define DRM_DEV_INFO(dev, fmt, ...)				\
 	drm_dev_printk(dev, KERN_INFO, fmt, ##__VA_ARGS__)
 
 #define DRM_DEV_INFO_ONCE(dev, fmt, ...)				\
@@ -400,41 +376,18 @@ void __drm_err(const char *format, ...);
  */
 #define DRM_DEV_DEBUG(dev, fmt, ...)					\
 	drm_dev_dbg(dev, DRM_UT_CORE, fmt, ##__VA_ARGS__)
-#define DRM_DEBUG(fmt, ...)						\
-	__drm_dbg(DRM_UT_CORE, fmt, ##__VA_ARGS__)
-
 #define DRM_DEV_DEBUG_DRIVER(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_DRIVER,	fmt, ##__VA_ARGS__)
-#define DRM_DEBUG_DRIVER(fmt, ...)					\
-	__drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
-
 #define DRM_DEV_DEBUG_KMS(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_KMS, fmt, ##__VA_ARGS__)
-#define DRM_DEBUG_KMS(fmt, ...)						\
-	__drm_dbg(DRM_UT_KMS, fmt, ##__VA_ARGS__)
-
 #define DRM_DEV_DEBUG_PRIME(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_PRIME, fmt, ##__VA_ARGS__)
-#define DRM_DEBUG_PRIME(fmt, ...)					\
-	__drm_dbg(DRM_UT_PRIME, fmt, ##__VA_ARGS__)
-
 #define DRM_DEV_DEBUG_ATOMIC(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_ATOMIC,	fmt, ##__VA_ARGS__)
-#define DRM_DEBUG_ATOMIC(fmt, ...)					\
-	__drm_dbg(DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
-
 #define DRM_DEV_DEBUG_VBL(dev, fmt, ...)				\
 	drm_dev_dbg(dev, DRM_UT_VBL, fmt, ##__VA_ARGS__)
-#define DRM_DEBUG_VBL(fmt, ...)						\
-	__drm_dbg(DRM_UT_VBL, fmt, ##__VA_ARGS__)
-
-#define DRM_DEBUG_LEASE(fmt, ...)					\
-	__drm_dbg(DRM_UT_LEASE, fmt, ##__VA_ARGS__)
-
 #define	DRM_DEV_DEBUG_DP(dev, fmt, ...)					\
 	drm_dev_dbg(dev, DRM_UT_DP, fmt, ## __VA_ARGS__)
-#define DRM_DEBUG_DP(fmt, ...)						\
-	__drm_dbg(DRM_UT_DP, fmt, ## __VA_ARGS__)
 
 #define _DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, category, fmt, ...)	\
 ({									\
@@ -454,24 +407,84 @@ void __drm_err(const char *format, ...);
 #define DRM_DEV_DEBUG_RATELIMITED(dev, fmt, ...)			\
 	_DEV_DRM_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_CORE,		\
 					  fmt, ##__VA_ARGS__)
-#define DRM_DEBUG_RATELIMITED(fmt, ...)					\
-	DRM_DEV_DEBUG_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
-
 #define DRM_DEV_DEBUG_DRIVER_RATELIMITED(dev, fmt, ...)			\
 	_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_DRIVER,		\
 					  fmt, ##__VA_ARGS__)
-#define DRM_DEBUG_DRIVER_RATELIMITED(fmt, ...)				\
-	DRM_DEV_DEBUG_DRIVER_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
-
 #define DRM_DEV_DEBUG_KMS_RATELIMITED(dev, fmt, ...)			\
 	_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_KMS,		\
 					  fmt, ##__VA_ARGS__)
-#define DRM_DEBUG_KMS_RATELIMITED(fmt, ...)				\
-	DRM_DEV_DEBUG_KMS_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
-
 #define DRM_DEV_DEBUG_PRIME_RATELIMITED(dev, fmt, ...)			\
 	_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_PRIME,		\
 					  fmt, ##__VA_ARGS__)
+
+/*
+ * printk based logging
+ */
+
+__printf(2, 3)
+void __drm_dbg(enum drm_debug_category category, const char *format, ...);
+__printf(1, 2)
+void __drm_err(const char *format, ...);
+
+/* Macros to make printk easier */
+
+#define _DRM_PRINTK(once, level, fmt, ...)				\
+	printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
+
+#define DRM_INFO(fmt, ...)						\
+	_DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
+#define DRM_NOTE(fmt, ...)						\
+	_DRM_PRINTK(, NOTICE, fmt, ##__VA_ARGS__)
+#define DRM_WARN(fmt, ...)						\
+	_DRM_PRINTK(, WARNING, fmt, ##__VA_ARGS__)
+
+#define DRM_INFO_ONCE(fmt, ...)						\
+	_DRM_PRINTK(_once, INFO, fmt, ##__VA_ARGS__)
+#define DRM_NOTE_ONCE(fmt, ...)						\
+	_DRM_PRINTK(_once, NOTICE, fmt, ##__VA_ARGS__)
+#define DRM_WARN_ONCE(fmt, ...)						\
+	_DRM_PRINTK(_once, WARNING, fmt, ##__VA_ARGS__)
+
+#define DRM_ERROR(fmt, ...)						\
+	__drm_err(fmt, ##__VA_ARGS__)
+
+#define DRM_ERROR_RATELIMITED(fmt, ...)					\
+	DRM_DEV_ERROR_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG(fmt, ...)						\
+	__drm_dbg(DRM_UT_CORE, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_DRIVER(fmt, ...)					\
+	__drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_KMS(fmt, ...)						\
+	__drm_dbg(DRM_UT_KMS, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_PRIME(fmt, ...)					\
+	__drm_dbg(DRM_UT_PRIME, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_ATOMIC(fmt, ...)					\
+	__drm_dbg(DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_VBL(fmt, ...)						\
+	__drm_dbg(DRM_UT_VBL, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_LEASE(fmt, ...)					\
+	__drm_dbg(DRM_UT_LEASE, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_DP(fmt, ...)						\
+	__drm_dbg(DRM_UT_DP, fmt, ## __VA_ARGS__)
+
+
+#define DRM_DEBUG_RATELIMITED(fmt, ...)					\
+	DRM_DEV_DEBUG_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_DRIVER_RATELIMITED(fmt, ...)				\
+	DRM_DEV_DEBUG_DRIVER_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
+
+#define DRM_DEBUG_KMS_RATELIMITED(fmt, ...)				\
+	DRM_DEV_DEBUG_KMS_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
+
 #define DRM_DEBUG_PRIME_RATELIMITED(fmt, ...)				\
 	DRM_DEV_DEBUG_PRIME_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH 8/8] drm/print: introduce new struct drm_device based logging macros
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
                   ` (6 preceding siblings ...)
  2019-10-09 15:37 ` [PATCH 7/8] drm/print: group logging functions by prink or device based Jani Nikula
@ 2019-10-09 15:37 ` Jani Nikula
  2019-10-09 18:15   ` Ruhl, Michael J
  2019-10-09 16:47 ` ✗ Fi.CI.CHECKPATCH: warning for drm/print: cleanup and new drm_device based logging Patchwork
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 14+ messages in thread
From: Jani Nikula @ 2019-10-09 15:37 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: jani.nikula, Sam Ravnborg

Add new struct drm_device based logging macros modeled after the core
kernel device based logging macros. These would be preferred over the
drm printk and struct device based macros in drm code, where possible.

We have existing drm specific struct device based logging functions, but
they are too verbose to use for two main reasons:

 * The names are unnecessarily long, for example DRM_DEV_DEBUG_KMS().

 * The use of struct device over struct drm_device is too generic for
   most users, leading to an extra dereference.

For example:

	DRM_DEV_DEBUG_KMS(drm->dev, "Hello, world\n");

vs.

	drm_dbg_kms(drm, "Hello, world\n");

It's a matter of taste, but the SHOUTING UPPERCASE has been argued to be
less readable than lowercase.

Some names are changed from old DRM names to be based on the core kernel
logging functions. For example, NOTE -> notice, ERROR -> err, DEBUG ->
dbg.

Due to the conflation of DRM_DEBUG and DRM_DEBUG_DRIVER macro use
(DRM_DEBUG is used widely in drivers though it's supposed to be a core
debugging category), they are named as drm_dbg_core and drm_dbg,
respectively.

The drm_err and _once/_ratelimited variants no longer include the
function name in order to be able to use the core device based logging
macros. Arguably this is not a significant change; error messages should
not be so common to be only distinguishable by the function name.

Ratelimited debug logging macros are to be added later.

Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

---

With something like this, I think i915 could start migrating to
drm_device based logging. I have a hard time convincing myself or anyone
about migrating to the DRM_DEV_* variants.
---
 include/drm/drm_print.h | 65 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index 085a9685270c..e4040dea0d8c 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -322,6 +322,8 @@ static inline bool drm_debug_enabled(enum drm_debug_category category)
 
 /*
  * struct device based logging
+ *
+ * Prefer drm_device based logging over device or prink based logging.
  */
 
 __printf(3, 4)
@@ -417,8 +419,71 @@ void drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 	_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_PRIME,		\
 					  fmt, ##__VA_ARGS__)
 
+/*
+ * struct drm_device based logging
+ *
+ * Prefer drm_device based logging over device or prink based logging.
+ */
+
+/* Helper for struct drm_device based logging. */
+#define __drm_printk(drm, level, type, fmt, ...)			\
+	dev_##level##type(drm->dev, "[drm] " fmt, ##__VA_ARGS__)
+
+
+#define drm_info(drm, fmt, ...)					\
+	__drm_printk(drm, info,, fmt, ##__VA_ARGS__)
+
+#define drm_notice(drm, fmt, ...)				\
+	__drm_printk(drm, notice,, fmt, ##__VA_ARGS__)
+
+#define drm_warn(drm, fmt, ...)					\
+	__drm_printk(drm, warn,, fmt, ##__VA_ARGS__)
+
+#define drm_err(drm, fmt, ...)					\
+	__drm_printk(drm, err,, "*ERROR* " fmt, ##__VA_ARGS__)
+
+
+#define drm_info_once(drm, fmt, ...)				\
+	__drm_printk(drm, info, _once, fmt, ##__VA_ARGS__)
+
+#define drm_notice_once(drm, fmt, ...)				\
+	__drm_printk(drm, notice, _once, fmt, ##__VA_ARGS__)
+
+#define drm_warn_once(drm, fmt, ...)				\
+	__drm_printk(drm, warn, _once, fmt, ##__VA_ARGS__)
+
+#define drm_err_once(drm, fmt, ...)				\
+	__drm_printk(drm, err, _once, "*ERROR* " fmt, ##__VA_ARGS__)
+
+
+#define drm_err_ratelimited(drm, fmt, ...)				\
+	__drm_printk(drm, err, _ratelimited, "*ERROR* " fmt, ##__VA_ARGS__)
+
+
+#define drm_dbg_core(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_CORE, fmt, ##__VA_ARGS__)
+#define drm_dbg(drm, fmt, ...)						\
+	drm_dev_dbg(drm->dev, DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
+#define drm_dbg_kms(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__)
+#define drm_dbg_prime(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_PRIME, fmt, ##__VA_ARGS__)
+#define drm_dbg_atomic(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
+#define drm_dbg_vbl(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_VBL, fmt, ##__VA_ARGS__)
+#define drm_dbg_state(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_STATE, fmt, ##__VA_ARGS__)
+#define drm_dbg_lease(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_LEASE, fmt, ##__VA_ARGS__)
+#define drm_dbg_dp(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_DP, fmt, ##__VA_ARGS__)
+
+
 /*
  * printk based logging
+ *
+ * Prefer drm_device based logging over device or prink based logging.
  */
 
 __printf(2, 3)
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.CHECKPATCH: warning for drm/print: cleanup and new drm_device based logging
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
                   ` (7 preceding siblings ...)
  2019-10-09 15:37 ` [PATCH 8/8] drm/print: introduce new struct drm_device based logging macros Jani Nikula
@ 2019-10-09 16:47 ` Patchwork
  2019-10-09 17:16 ` ✓ Fi.CI.BAT: success " Patchwork
  2019-10-09 23:55 ` ✗ Fi.CI.IGT: failure " Patchwork
  10 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2019-10-09 16:47 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/print: cleanup and new drm_device based logging
URL   : https://patchwork.freedesktop.org/series/67795/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
89aa720fbb9a drm/i915: use drm_debug_enabled() to check for debug categories
ad0afd4a8ac2 drm/nouveau: use drm_debug_enabled() to check for debug categories
f19cd5fa4e1d drm/amdgpu: use drm_debug_enabled() to check for debug categories
4169799b13df drm/print: rename drm_debug to __drm_debug to discourage use
2173f3c87495 drm/print: underscore prefix functions that should be private to print
c44938e9aa7c drm/print: convert debug category macros into an enum
5f8536cabd52 drm/print: group logging functions by prink or device based
-:202: CHECK:LINE_SPACING: Please don't use multiple blank lines
#202: FILE: include/drm/drm_print.h:478:
+
+

total: 0 errors, 0 warnings, 1 checks, 193 lines checked
48c9c0212611 drm/print: introduce new struct drm_device based logging macros
-:73: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#73: FILE: include/drm/drm_print.h:429:
+#define __drm_printk(drm, level, type, fmt, ...)			\
+	dev_##level##type(drm->dev, "[drm] " fmt, ##__VA_ARGS__)

-:76: CHECK:LINE_SPACING: Please don't use multiple blank lines
#76: FILE: include/drm/drm_print.h:432:
+
+

-:78: ERROR:SPACING: space required after that ',' (ctx:VxO)
#78: FILE: include/drm/drm_print.h:434:
+	__drm_printk(drm, info,, fmt, ##__VA_ARGS__)
 	                      ^

-:81: ERROR:SPACING: space required after that ',' (ctx:VxO)
#81: FILE: include/drm/drm_print.h:437:
+	__drm_printk(drm, notice,, fmt, ##__VA_ARGS__)
 	                        ^

-:84: ERROR:SPACING: space required after that ',' (ctx:VxO)
#84: FILE: include/drm/drm_print.h:440:
+	__drm_printk(drm, warn,, fmt, ##__VA_ARGS__)
 	                      ^

-:87: ERROR:SPACING: space required after that ',' (ctx:VxO)
#87: FILE: include/drm/drm_print.h:443:
+	__drm_printk(drm, err,, "*ERROR* " fmt, ##__VA_ARGS__)
 	                     ^

-:89: CHECK:LINE_SPACING: Please don't use multiple blank lines
#89: FILE: include/drm/drm_print.h:445:
+
+

-:102: CHECK:LINE_SPACING: Please don't use multiple blank lines
#102: FILE: include/drm/drm_print.h:458:
+
+

-:106: CHECK:LINE_SPACING: Please don't use multiple blank lines
#106: FILE: include/drm/drm_print.h:462:
+
+

-:107: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#107: FILE: include/drm/drm_print.h:463:
+#define drm_dbg_core(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_CORE, fmt, ##__VA_ARGS__)

-:109: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#109: FILE: include/drm/drm_print.h:465:
+#define drm_dbg(drm, fmt, ...)						\
+	drm_dev_dbg(drm->dev, DRM_UT_DRIVER, fmt, ##__VA_ARGS__)

-:111: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#111: FILE: include/drm/drm_print.h:467:
+#define drm_dbg_kms(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__)

-:113: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#113: FILE: include/drm/drm_print.h:469:
+#define drm_dbg_prime(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_PRIME, fmt, ##__VA_ARGS__)

-:115: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#115: FILE: include/drm/drm_print.h:471:
+#define drm_dbg_atomic(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)

-:117: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#117: FILE: include/drm/drm_print.h:473:
+#define drm_dbg_vbl(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_VBL, fmt, ##__VA_ARGS__)

-:119: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#119: FILE: include/drm/drm_print.h:475:
+#define drm_dbg_state(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_STATE, fmt, ##__VA_ARGS__)

-:121: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#121: FILE: include/drm/drm_print.h:477:
+#define drm_dbg_lease(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_LEASE, fmt, ##__VA_ARGS__)

-:123: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'drm' may be better as '(drm)' to avoid precedence issues
#123: FILE: include/drm/drm_print.h:479:
+#define drm_dbg_dp(drm, fmt, ...)					\
+	drm_dev_dbg(drm->dev, DRM_UT_DP, fmt, ##__VA_ARGS__)

-:126: CHECK:LINE_SPACING: Please don't use multiple blank lines
#126: FILE: include/drm/drm_print.h:482:
+
+

total: 4 errors, 0 warnings, 15 checks, 79 lines checked

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.BAT: success for drm/print: cleanup and new drm_device based logging
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
                   ` (8 preceding siblings ...)
  2019-10-09 16:47 ` ✗ Fi.CI.CHECKPATCH: warning for drm/print: cleanup and new drm_device based logging Patchwork
@ 2019-10-09 17:16 ` Patchwork
  2019-10-09 23:55 ` ✗ Fi.CI.IGT: failure " Patchwork
  10 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2019-10-09 17:16 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/print: cleanup and new drm_device based logging
URL   : https://patchwork.freedesktop.org/series/67795/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7043 -> Patchwork_14728
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_mmap_gtt@basic-small-bo-tiledx:
    - fi-icl-u3:          [PASS][1] -> [DMESG-WARN][2] ([fdo#107724]) +2 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-icl-u3/igt@gem_mmap_gtt@basic-small-bo-tiledx.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/fi-icl-u3/igt@gem_mmap_gtt@basic-small-bo-tiledx.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][3] -> [FAIL][4] ([fdo#111407])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * igt@gem_mmap_gtt@basic-copy:
    - fi-icl-u3:          [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-icl-u3/igt@gem_mmap_gtt@basic-copy.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/fi-icl-u3/igt@gem_mmap_gtt@basic-copy.html

  * igt@gem_sync@basic-many-each:
    - {fi-tgl-u}:         [INCOMPLETE][7] ([fdo#111880]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/fi-tgl-u/igt@gem_sync@basic-many-each.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/fi-tgl-u/igt@gem_sync@basic-many-each.html

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

  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111600]: https://bugs.freedesktop.org/show_bug.cgi?id=111600
  [fdo#111831]: https://bugs.freedesktop.org/show_bug.cgi?id=111831
  [fdo#111880]: https://bugs.freedesktop.org/show_bug.cgi?id=111880


Participating hosts (54 -> 47)
------------------------------

  Missing    (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7043 -> Patchwork_14728

  CI-20190529: 20190529
  CI_DRM_7043: ed6c47dff498138cd3494c95a107c5787094b0b9 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5219: e501741f2e2b086a8c55d9f278c630ce68ad5fe1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14728: 48c9c02126116a746d016ad287f95e2b3d881a7d @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

48c9c0212611 drm/print: introduce new struct drm_device based logging macros
5f8536cabd52 drm/print: group logging functions by prink or device based
c44938e9aa7c drm/print: convert debug category macros into an enum
2173f3c87495 drm/print: underscore prefix functions that should be private to print
4169799b13df drm/print: rename drm_debug to __drm_debug to discourage use
f19cd5fa4e1d drm/amdgpu: use drm_debug_enabled() to check for debug categories
ad0afd4a8ac2 drm/nouveau: use drm_debug_enabled() to check for debug categories
89aa720fbb9a drm/i915: use drm_debug_enabled() to check for debug categories

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 8/8] drm/print: introduce new struct drm_device based logging macros
  2019-10-09 15:37 ` [PATCH 8/8] drm/print: introduce new struct drm_device based logging macros Jani Nikula
@ 2019-10-09 18:15   ` Ruhl, Michael J
  2019-10-10  9:32     ` Jani Nikula
  0 siblings, 1 reply; 14+ messages in thread
From: Ruhl, Michael J @ 2019-10-09 18:15 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Nikula, Jani, Sam Ravnborg

>-----Original Message-----
>From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of
>Jani Nikula
>Sent: Wednesday, October 9, 2019 11:38 AM
>To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org
>Cc: Nikula, Jani <jani.nikula@intel.com>; Sam Ravnborg <sam@ravnborg.org>
>Subject: [Intel-gfx] [PATCH 8/8] drm/print: introduce new struct drm_device
>based logging macros
>
>Add new struct drm_device based logging macros modeled after the core
>kernel device based logging macros. These would be preferred over the
>drm printk and struct device based macros in drm code, where possible.
>
>We have existing drm specific struct device based logging functions, but
>they are too verbose to use for two main reasons:
>
> * The names are unnecessarily long, for example DRM_DEV_DEBUG_KMS().
>
> * The use of struct device over struct drm_device is too generic for
>   most users, leading to an extra dereference.
>
>For example:
>
>	DRM_DEV_DEBUG_KMS(drm->dev, "Hello, world\n");
>
>vs.
>
>	drm_dbg_kms(drm, "Hello, world\n");
>
>It's a matter of taste, but the SHOUTING UPPERCASE has been argued to be
>less readable than lowercase.
>
>Some names are changed from old DRM names to be based on the core
>kernel
>logging functions. For example, NOTE -> notice, ERROR -> err, DEBUG ->
>dbg.
>
>Due to the conflation of DRM_DEBUG and DRM_DEBUG_DRIVER macro use
>(DRM_DEBUG is used widely in drivers though it's supposed to be a core
>debugging category), they are named as drm_dbg_core and drm_dbg,
>respectively.
>
>The drm_err and _once/_ratelimited variants no longer include the
>function name in order to be able to use the core device based logging
>macros. Arguably this is not a significant change; error messages should
>not be so common to be only distinguishable by the function name.
>
>Ratelimited debug logging macros are to be added later.
>
>Cc: Sam Ravnborg <sam@ravnborg.org>
>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
>---
>
>With something like this, I think i915 could start migrating to
>drm_device based logging. I have a hard time convincing myself or anyone
>about migrating to the DRM_DEV_* variants.
>---
> include/drm/drm_print.h | 65
>+++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 65 insertions(+)
>
>diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
>index 085a9685270c..e4040dea0d8c 100644
>--- a/include/drm/drm_print.h
>+++ b/include/drm/drm_print.h
>@@ -322,6 +322,8 @@ static inline bool drm_debug_enabled(enum
>drm_debug_category category)
>
> /*
>  * struct device based logging
>+ *
>+ * Prefer drm_device based logging over device or prink based logging.
>  */
>
> __printf(3, 4)
>@@ -417,8 +419,71 @@ void drm_dev_dbg(const struct device *dev, enum
>drm_debug_category category,
> 	_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_PRIME,
>		\
> 					  fmt, ##__VA_ARGS__)
>
>+/*
>+ * struct drm_device based logging
>+ *
>+ * Prefer drm_device based logging over device or prink based logging.
>+ */
>+
>+/* Helper for struct drm_device based logging. */
>+#define __drm_printk(drm, level, type, fmt, ...)			\
>+	dev_##level##type(drm->dev, "[drm] " fmt, ##__VA_ARGS__)

In the past, I have been able to do a:

#undef pr_fmt
#define pr_fmt(fmt) "[myinfo here] " fmt

And have the "[myinfo here]" portion show up the output.

Is it possible that you might be able to use this instead of "[drm] " fmt?

I think that the this will be the same result, but might be more in line with the printk interface?

Mike


>+
>+
>+#define drm_info(drm, fmt, ...)					\
>+	__drm_printk(drm, info,, fmt, ##__VA_ARGS__)
>+
>+#define drm_notice(drm, fmt, ...)				\
>+	__drm_printk(drm, notice,, fmt, ##__VA_ARGS__)
>+
>+#define drm_warn(drm, fmt, ...)					\
>+	__drm_printk(drm, warn,, fmt, ##__VA_ARGS__)
>+
>+#define drm_err(drm, fmt, ...)					\
>+	__drm_printk(drm, err,, "*ERROR* " fmt, ##__VA_ARGS__)
>+
>+
>+#define drm_info_once(drm, fmt, ...)				\
>+	__drm_printk(drm, info, _once, fmt, ##__VA_ARGS__)
>+
>+#define drm_notice_once(drm, fmt, ...)				\
>+	__drm_printk(drm, notice, _once, fmt, ##__VA_ARGS__)
>+
>+#define drm_warn_once(drm, fmt, ...)				\
>+	__drm_printk(drm, warn, _once, fmt, ##__VA_ARGS__)
>+
>+#define drm_err_once(drm, fmt, ...)				\
>+	__drm_printk(drm, err, _once, "*ERROR* " fmt, ##__VA_ARGS__)
>+
>+
>+#define drm_err_ratelimited(drm, fmt, ...)				\
>+	__drm_printk(drm, err, _ratelimited, "*ERROR* " fmt,
>##__VA_ARGS__)
>+
>+
>+#define drm_dbg_core(drm, fmt, ...)					\
>+	drm_dev_dbg(drm->dev, DRM_UT_CORE, fmt, ##__VA_ARGS__)
>+#define drm_dbg(drm, fmt, ...)
>	\
>+	drm_dev_dbg(drm->dev, DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
>+#define drm_dbg_kms(drm, fmt, ...)					\
>+	drm_dev_dbg(drm->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__)
>+#define drm_dbg_prime(drm, fmt, ...)
>	\
>+	drm_dev_dbg(drm->dev, DRM_UT_PRIME, fmt, ##__VA_ARGS__)
>+#define drm_dbg_atomic(drm, fmt, ...)
>	\
>+	drm_dev_dbg(drm->dev, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
>+#define drm_dbg_vbl(drm, fmt, ...)					\
>+	drm_dev_dbg(drm->dev, DRM_UT_VBL, fmt, ##__VA_ARGS__)
>+#define drm_dbg_state(drm, fmt, ...)					\
>+	drm_dev_dbg(drm->dev, DRM_UT_STATE, fmt, ##__VA_ARGS__)
>+#define drm_dbg_lease(drm, fmt, ...)					\
>+	drm_dev_dbg(drm->dev, DRM_UT_LEASE, fmt, ##__VA_ARGS__)
>+#define drm_dbg_dp(drm, fmt, ...)					\
>+	drm_dev_dbg(drm->dev, DRM_UT_DP, fmt, ##__VA_ARGS__)
>+
>+
> /*
>  * printk based logging
>+ *
>+ * Prefer drm_device based logging over device or prink based logging.
>  */
>
> __printf(2, 3)
>--
>2.20.1
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.IGT: failure for drm/print: cleanup and new drm_device based logging
  2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
                   ` (9 preceding siblings ...)
  2019-10-09 17:16 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-10-09 23:55 ` Patchwork
  10 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2019-10-09 23:55 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/print: cleanup and new drm_device based logging
URL   : https://patchwork.freedesktop.org/series/67795/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7043_full -> Patchwork_14728_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_14728_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_14728_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_suspend@forcewake:
    - shard-iclb:         [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb4/igt@i915_suspend@forcewake.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb7/igt@i915_suspend@forcewake.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_schedule@promotion-bsd1:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([fdo#109276]) +14 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb4/igt@gem_exec_schedule@promotion-bsd1.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb7/igt@gem_exec_schedule@promotion-bsd1.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [PASS][5] -> [SKIP][6] ([fdo#111325]) +7 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb3/igt@gem_exec_schedule@reorder-wide-bsd.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb1/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_mmap_gtt@hang:
    - shard-snb:          [PASS][7] -> [INCOMPLETE][8] ([fdo#105411])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-snb5/igt@gem_mmap_gtt@hang.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-snb7/igt@gem_mmap_gtt@hang.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-hsw:          [PASS][9] -> [DMESG-WARN][10] ([fdo#111870])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-hsw6/igt@gem_userptr_blits@dmabuf-unsync.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-hsw4/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@i915_pm_rpm@modeset-stress-extra-wait:
    - shard-glk:          [PASS][11] -> [DMESG-WARN][12] ([fdo#105763] / [fdo#106538])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-glk2/igt@i915_pm_rpm@modeset-stress-extra-wait.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-glk8/igt@i915_pm_rpm@modeset-stress-extra-wait.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-skl:          [PASS][13] -> [INCOMPLETE][14] ([fdo#104108])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-skl5/igt@i915_suspend@fence-restore-tiled2untiled.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-skl1/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [PASS][15] -> [DMESG-WARN][16] ([fdo#108566]) +4 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-apl7/igt@i915_suspend@sysfs-reader.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-apl7/igt@i915_suspend@sysfs-reader.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render:
    - shard-iclb:         [PASS][17] -> [FAIL][18] ([fdo#103167]) +3 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [PASS][19] -> [FAIL][20] ([fdo#108145]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-skl5/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-skl7/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][21] -> [FAIL][22] ([fdo#108145] / [fdo#110403])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-skl7/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-iclb:         [PASS][23] -> [FAIL][24] ([fdo#103166])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb6/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb4/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [PASS][25] -> [SKIP][26] ([fdo#109642] / [fdo#111068])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb6/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [PASS][27] -> [FAIL][28] ([fdo#108341])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb2/igt@kms_psr@no_drrs.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_dpms:
    - shard-iclb:         [PASS][29] -> [SKIP][30] ([fdo#109441])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb2/igt@kms_psr@psr2_dpms.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb1/igt@kms_psr@psr2_dpms.html

  * igt@kms_setmode@basic:
    - shard-apl:          [PASS][31] -> [FAIL][32] ([fdo#99912])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-apl7/igt@kms_setmode@basic.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-apl8/igt@kms_setmode@basic.html

  * igt@perf@polling:
    - shard-skl:          [PASS][33] -> [FAIL][34] ([fdo#110728])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-skl4/igt@perf@polling.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-skl4/igt@perf@polling.html

  * igt@perf_pmu@rc6:
    - shard-iclb:         [PASS][35] -> [INCOMPLETE][36] ([fdo#107713])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb7/igt@perf_pmu@rc6.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb1/igt@perf_pmu@rc6.html

  
#### Possible fixes ####

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [SKIP][37] ([fdo#110841]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb8/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_eio@in-flight-contexts-immediate:
    - shard-snb:          [FAIL][39] ([fdo#111925]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-snb7/igt@gem_eio@in-flight-contexts-immediate.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-snb6/igt@gem_eio@in-flight-contexts-immediate.html

  * igt@gem_exec_gttfill@basic:
    - {shard-tglb}:       [INCOMPLETE][41] ([fdo#111593]) -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-tglb1/igt@gem_exec_gttfill@basic.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-tglb1/igt@gem_exec_gttfill@basic.html

  * igt@gem_exec_schedule@preempt-self-bsd:
    - shard-iclb:         [SKIP][43] ([fdo#111325]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb4/igt@gem_exec_schedule@preempt-self-bsd.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb8/igt@gem_exec_schedule@preempt-self-bsd.html

  * igt@gem_ppgtt@blt-vs-render-ctx0:
    - shard-hsw:          [INCOMPLETE][45] ([fdo#103540]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-hsw1/igt@gem_ppgtt@blt-vs-render-ctx0.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-hsw5/igt@gem_ppgtt@blt-vs-render-ctx0.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-iclb:         [INCOMPLETE][47] ([fdo#107713] / [fdo#108686]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb1/igt@gem_tiled_swapping@non-threaded.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb3/igt@gem_tiled_swapping@non-threaded.html
    - shard-glk:          [INCOMPLETE][49] ([fdo#103359] / [fdo#108686] / [k.org#198133]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-glk9/igt@gem_tiled_swapping@non-threaded.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-glk5/igt@gem_tiled_swapping@non-threaded.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup:
    - shard-snb:          [DMESG-WARN][51] ([fdo#111870]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html

  * igt@gem_userptr_blits@sync-unmap:
    - shard-hsw:          [DMESG-WARN][53] ([fdo#111870]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-hsw7/igt@gem_userptr_blits@sync-unmap.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-hsw2/igt@gem_userptr_blits@sync-unmap.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [DMESG-WARN][55] ([fdo#108566]) -> [PASS][56] +5 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-apl1/igt@gem_workarounds@suspend-resume-context.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-apl1/igt@gem_workarounds@suspend-resume-context.html

  * igt@i915_hangman@hangcheck-unterminated:
    - shard-apl:          [INCOMPLETE][57] ([fdo#103927]) -> [PASS][58] +2 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-apl6/igt@i915_hangman@hangcheck-unterminated.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-apl8/igt@i915_hangman@hangcheck-unterminated.html

  * {igt@i915_pm_dc@dc6-psr}:
    - shard-iclb:         [FAIL][59] ([fdo#110548]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb8/igt@i915_pm_dc@dc6-psr.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb5/igt@i915_pm_dc@dc6-psr.html

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
    - shard-snb:          [SKIP][61] ([fdo#109271] / [fdo#109278]) -> [PASS][62] +1 similar issue
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-snb6/igt@kms_busy@extended-modeset-hang-newfb-render-b.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-snb7/igt@kms_busy@extended-modeset-hang-newfb-render-b.html

  * igt@kms_cursor_crc@pipe-b-cursor-256x256-random:
    - shard-snb:          [SKIP][63] ([fdo#109271]) -> [PASS][64] +3 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-snb6/igt@kms_cursor_crc@pipe-b-cursor-256x256-random.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-snb7/igt@kms_cursor_crc@pipe-b-cursor-256x256-random.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-skl:          [FAIL][65] ([fdo#105363]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-skl7/igt@kms_flip@flip-vs-expired-vblank.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-skl2/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-kbl:          [INCOMPLETE][67] ([fdo#103665]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-kbl7/igt@kms_flip@flip-vs-suspend.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-kbl1/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-snb:          [INCOMPLETE][69] ([fdo#105411]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-snb1/igt@kms_flip@flip-vs-suspend-interruptible.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-snb2/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [FAIL][71] ([fdo#103167]) -> [PASS][72] +4 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt:
    - {shard-tglb}:       [FAIL][73] ([fdo#103167]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [SKIP][75] ([fdo#109441]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb3/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@perf@blocking:
    - shard-skl:          [FAIL][77] ([fdo#110728]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-skl2/igt@perf@blocking.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-skl8/igt@perf@blocking.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [SKIP][79] ([fdo#109276]) -> [PASS][80] +18 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb5/igt@prime_busy@hang-bsd2.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb4/igt@prime_busy@hang-bsd2.html

  
#### Warnings ####

  * igt@gem_mocs_settings@mocs-isolation-bsd2:
    - shard-iclb:         [SKIP][81] ([fdo#109276]) -> [FAIL][82] ([fdo#111330])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-iclb3/igt@gem_mocs_settings@mocs-isolation-bsd2.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-iclb1/igt@gem_mocs_settings@mocs-isolation-bsd2.html

  * igt@kms_vblank@pipe-c-query-forked-busy:
    - shard-snb:          [SKIP][83] ([fdo#109271]) -> [SKIP][84] ([fdo#109271] / [fdo#109278])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7043/shard-snb6/igt@kms_vblank@pipe-c-query-forked-busy.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/shard-snb7/igt@kms_vblank@pipe-c-query-forked-busy.html

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

  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#110548]: https://bugs.freedesktop.org/show_bug.cgi?id=110548
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593
  [fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
  [fdo#111867]: https://bugs.freedesktop.org/show_bug.cgi?id=111867
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#111925]: https://bugs.freedesktop.org/show_bug.cgi?id=111925
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7043 -> Patchwork_14728

  CI-20190529: 20190529
  CI_DRM_7043: ed6c47dff498138cd3494c95a107c5787094b0b9 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5219: e501741f2e2b086a8c55d9f278c630ce68ad5fe1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14728: 48c9c02126116a746d016ad287f95e2b3d881a7d @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14728/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 8/8] drm/print: introduce new struct drm_device based logging macros
  2019-10-09 18:15   ` Ruhl, Michael J
@ 2019-10-10  9:32     ` Jani Nikula
  0 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2019-10-10  9:32 UTC (permalink / raw)
  To: Ruhl, Michael J, intel-gfx, dri-devel; +Cc: Sam Ravnborg

On Wed, 09 Oct 2019, "Ruhl, Michael J" <michael.j.ruhl@intel.com> wrote:
>>-----Original Message-----
>>From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of
>>Jani Nikula

>>+/* Helper for struct drm_device based logging. */
>>+#define __drm_printk(drm, level, type, fmt, ...)			\
>>+	dev_##level##type(drm->dev, "[drm] " fmt, ##__VA_ARGS__)
>
> In the past, I have been able to do a:
>
> #undef pr_fmt
> #define pr_fmt(fmt) "[myinfo here] " fmt
>
> And have the "[myinfo here]" portion show up the output.
>
> Is it possible that you might be able to use this instead of "[drm] " fmt?
>
> I think that the this will be the same result, but might be more in
> line with the printk interface?

pr_fmt is only used by the pr_<level>() macros in printk.h that use
printk. This does not use printk.

BR,
Jani.

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2019-10-10  9:32 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-09 15:37 [PATCH 0/8] drm/print: cleanup and new drm_device based logging Jani Nikula
2019-10-09 15:37 ` [PATCH 1/8] drm/i915: use drm_debug_enabled() to check for debug categories Jani Nikula
2019-10-09 15:37 ` [PATCH 2/8] drm/nouveau: " Jani Nikula
2019-10-09 15:37 ` [PATCH 3/8] drm/amdgpu: " Jani Nikula
2019-10-09 15:37 ` [PATCH 4/8] drm/print: rename drm_debug to __drm_debug to discourage use Jani Nikula
2019-10-09 15:37 ` [PATCH 5/8] drm/print: underscore prefix functions that should be private to print Jani Nikula
2019-10-09 15:37 ` [PATCH 6/8] drm/print: convert debug category macros into an enum Jani Nikula
2019-10-09 15:37 ` [PATCH 7/8] drm/print: group logging functions by prink or device based Jani Nikula
2019-10-09 15:37 ` [PATCH 8/8] drm/print: introduce new struct drm_device based logging macros Jani Nikula
2019-10-09 18:15   ` Ruhl, Michael J
2019-10-10  9:32     ` Jani Nikula
2019-10-09 16:47 ` ✗ Fi.CI.CHECKPATCH: warning for drm/print: cleanup and new drm_device based logging Patchwork
2019-10-09 17:16 ` ✓ Fi.CI.BAT: success " Patchwork
2019-10-09 23:55 ` ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.