All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] drm/print: add and use drm_debug_enabled()
@ 2019-09-13 11:51 ` Jani Nikula
  0 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel
  Cc: jani.nikula, intel-gfx, Alex Deucher, Christian König,
	David Zhou, amd-gfx, Ben Skeggs, nouveau, Rob Clark, Sean Paul,
	linux-arm-msm, freedreno, Francisco Jerez, Lucas Stach,
	Russell King, Christian Gmeiner, etnaviv

Hi all, just a little refactoring around drm_debug access to abstract it
better. There shouldn't be any functional changes.

I'd appreciate acks for merging the lot via drm-misc. If there are any
objections to that, we'll need to postpone the last patch until
everything has been merged and converted in drm-next.

BR,
Jani.


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
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: nouveau@lists.freedesktop.org
Cc: Rob Clark <robdclark@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Cc: Francisco Jerez <currojerez@riseup.net>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: etnaviv@lists.freedesktop.org


Jani Nikula (9):
  drm/print: move drm_debug variable to drm_print.[ch]
  drm/print: add drm_debug_enabled()
  drm/etnaviv: use drm_debug_enabled() to check for debug categories
  drm/i2c/sil164: use drm_debug_enabled() to check for debug categories
  drm/i915: use drm_debug_enabled() to check for debug categories
  drm/msm: 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

 drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c   |  4 ++--
 drivers/gpu/drm/drm_atomic_uapi.c            |  2 +-
 drivers/gpu/drm/drm_dp_mst_topology.c        |  6 ++---
 drivers/gpu/drm/drm_drv.c                    | 17 ---------------
 drivers/gpu/drm/drm_edid.c                   |  2 +-
 drivers/gpu/drm/drm_edid_load.c              |  2 +-
 drivers/gpu/drm/drm_mipi_dbi.c               |  4 ++--
 drivers/gpu/drm/drm_print.c                  | 23 ++++++++++++++++++--
 drivers/gpu/drm/drm_vblank.c                 |  6 ++---
 drivers/gpu/drm/etnaviv/etnaviv_buffer.c     |  8 +++----
 drivers/gpu/drm/i2c/sil164_drv.c             |  2 +-
 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/msm/disp/dpu1/dpu_kms.h      |  4 ++--
 drivers/gpu/drm/nouveau/dispnv50/disp.h      |  4 ++--
 drivers/gpu/drm/nouveau/nouveau_drv.h        |  4 ++--
 include/drm/drm_drv.h                        |  2 --
 include/drm/drm_print.h                      |  8 +++++++
 22 files changed, 60 insertions(+), 52 deletions(-)

-- 
2.20.1


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

* [PATCH 0/9] drm/print: add and use drm_debug_enabled()
@ 2019-09-13 11:51 ` Jani Nikula
  0 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel
  Cc: David Zhou, jani.nikula, nouveau, intel-gfx, Russell King,
	amd-gfx, etnaviv, Ben Skeggs, linux-arm-msm, Alex Deucher,
	freedreno, Christian König, Lucas Stach

Hi all, just a little refactoring around drm_debug access to abstract it
better. There shouldn't be any functional changes.

I'd appreciate acks for merging the lot via drm-misc. If there are any
objections to that, we'll need to postpone the last patch until
everything has been merged and converted in drm-next.

BR,
Jani.


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
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: nouveau@lists.freedesktop.org
Cc: Rob Clark <robdclark@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Cc: Francisco Jerez <currojerez@riseup.net>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: etnaviv@lists.freedesktop.org


Jani Nikula (9):
  drm/print: move drm_debug variable to drm_print.[ch]
  drm/print: add drm_debug_enabled()
  drm/etnaviv: use drm_debug_enabled() to check for debug categories
  drm/i2c/sil164: use drm_debug_enabled() to check for debug categories
  drm/i915: use drm_debug_enabled() to check for debug categories
  drm/msm: 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

 drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c   |  4 ++--
 drivers/gpu/drm/drm_atomic_uapi.c            |  2 +-
 drivers/gpu/drm/drm_dp_mst_topology.c        |  6 ++---
 drivers/gpu/drm/drm_drv.c                    | 17 ---------------
 drivers/gpu/drm/drm_edid.c                   |  2 +-
 drivers/gpu/drm/drm_edid_load.c              |  2 +-
 drivers/gpu/drm/drm_mipi_dbi.c               |  4 ++--
 drivers/gpu/drm/drm_print.c                  | 23 ++++++++++++++++++--
 drivers/gpu/drm/drm_vblank.c                 |  6 ++---
 drivers/gpu/drm/etnaviv/etnaviv_buffer.c     |  8 +++----
 drivers/gpu/drm/i2c/sil164_drv.c             |  2 +-
 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/msm/disp/dpu1/dpu_kms.h      |  4 ++--
 drivers/gpu/drm/nouveau/dispnv50/disp.h      |  4 ++--
 drivers/gpu/drm/nouveau/nouveau_drv.h        |  4 ++--
 include/drm/drm_drv.h                        |  2 --
 include/drm/drm_print.h                      |  8 +++++++
 22 files changed, 60 insertions(+), 52 deletions(-)

-- 
2.20.1

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

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

* [PATCH 1/9] drm/print: move drm_debug variable to drm_print.[ch]
  2019-09-13 11:51 ` Jani Nikula
  (?)
@ 2019-09-13 11:51 ` Jani Nikula
  -1 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel; +Cc: jani.nikula, intel-gfx

Move drm_debug variable declaration and definition to where they are
relevant and needed. No functional changes.

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

diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index c456c3d3def2..b5b3fffe2299 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -46,26 +46,9 @@
 #include "drm_internal.h"
 #include "drm_legacy.h"
 
-/*
- * drm_debug: Enable debug output.
- * Bitmask of DRM_UT_x. See include/drm/drm_print.h for details.
- */
-unsigned int drm_debug = 0;
-EXPORT_SYMBOL(drm_debug);
-
 MODULE_AUTHOR("Gareth Hughes, Leif Delgass, José Fonseca, Jon Smirl");
 MODULE_DESCRIPTION("DRM shared core routines");
 MODULE_LICENSE("GPL and additional rights");
-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"
-"\t\tBit 1 (0x02)  will enable DRIVER messages (drm controller code)\n"
-"\t\tBit 2 (0x04)  will enable KMS messages (modesetting code)\n"
-"\t\tBit 3 (0x08)  will enable PRIME messages (prime code)\n"
-"\t\tBit 4 (0x10)  will enable ATOMIC messages (atomic code)\n"
-"\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);
 
 static DEFINE_SPINLOCK(drm_minor_lock);
 static struct idr drm_minors_idr;
diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
index dfa27367ebb8..c9b57012d412 100644
--- a/drivers/gpu/drm/drm_print.c
+++ b/drivers/gpu/drm/drm_print.c
@@ -28,6 +28,7 @@
 #include <stdarg.h>
 
 #include <linux/io.h>
+#include <linux/moduleparam.h>
 #include <linux/seq_file.h>
 #include <linux/slab.h>
 
@@ -35,6 +36,24 @@
 #include <drm/drm_drv.h>
 #include <drm/drm_print.h>
 
+/*
+ * 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);
+
+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"
+"\t\tBit 1 (0x02)  will enable DRIVER messages (drm controller code)\n"
+"\t\tBit 2 (0x04)  will enable KMS messages (modesetting code)\n"
+"\t\tBit 3 (0x08)  will enable PRIME messages (prime code)\n"
+"\t\tBit 4 (0x10)  will enable ATOMIC messages (atomic code)\n"
+"\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);
+
 void __drm_puts_coredump(struct drm_printer *p, const char *str)
 {
 	struct drm_print_iterator *iterator = p->arg;
diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
index 8976afe48c1c..cf13470810a5 100644
--- a/include/drm/drm_drv.h
+++ b/include/drm/drm_drv.h
@@ -778,8 +778,6 @@ struct drm_driver {
 	int dev_priv_size;
 };
 
-extern unsigned int drm_debug;
-
 int drm_dev_init(struct drm_device *dev,
 		 struct drm_driver *driver,
 		 struct device *parent);
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index 12d4916254b4..e5c421abce48 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -34,6 +34,8 @@
 
 #include <drm/drm.h>
 
+extern unsigned int drm_debug;
+
 /**
  * DOC: print
  *
-- 
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] 22+ messages in thread

* [PATCH 2/9] drm/print: add drm_debug_enabled()
  2019-09-13 11:51 ` Jani Nikula
  (?)
  (?)
@ 2019-09-13 11:51 ` Jani Nikula
  2019-09-13 13:07   ` Eric Engestrom
  -1 siblings, 1 reply; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel; +Cc: jani.nikula, intel-gfx

Add helper to check if a drm debug category is enabled. Convert drm core
to use it. No functional changes.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/drm_atomic_uapi.c     | 2 +-
 drivers/gpu/drm/drm_dp_mst_topology.c | 6 +++---
 drivers/gpu/drm/drm_edid.c            | 2 +-
 drivers/gpu/drm/drm_edid_load.c       | 2 +-
 drivers/gpu/drm/drm_mipi_dbi.c        | 4 ++--
 drivers/gpu/drm/drm_print.c           | 4 ++--
 drivers/gpu/drm/drm_vblank.c          | 6 +++---
 include/drm/drm_print.h               | 5 +++++
 8 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
index 5a5b42db6f2a..6576cd997cbd 100644
--- a/drivers/gpu/drm/drm_atomic_uapi.c
+++ b/drivers/gpu/drm/drm_atomic_uapi.c
@@ -1406,7 +1406,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
 	} else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
 		ret = drm_atomic_nonblocking_commit(state);
 	} else {
-		if (unlikely(drm_debug & DRM_UT_STATE))
+		if (unlikely(drm_debug_enabled(DRM_UT_STATE)))
 			drm_atomic_print_state(state);
 
 		ret = drm_atomic_commit(state);
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 97216099a718..f47c5b6b51f7 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1180,7 +1180,7 @@ static int drm_dp_mst_wait_tx_reply(struct drm_dp_mst_branch *mstb,
 		}
 	}
 out:
-	if (unlikely(ret == -EIO && drm_debug & DRM_UT_DP)) {
+	if (unlikely(ret == -EIO && drm_debug_enabled(DRM_UT_DP))) {
 		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
 
 		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
@@ -2321,7 +2321,7 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr,
 	idx += tosend + 1;
 
 	ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
-	if (unlikely(ret && drm_debug & DRM_UT_DP)) {
+	if (unlikely(ret && drm_debug_enabled(DRM_UT_DP))) {
 		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
 
 		drm_printf(&p, "sideband msg failed to send\n");
@@ -2388,7 +2388,7 @@ static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr,
 	mutex_lock(&mgr->qlock);
 	list_add_tail(&txmsg->next, &mgr->tx_msg_downq);
 
-	if (unlikely(drm_debug & DRM_UT_DP)) {
+	if (unlikely(drm_debug_enabled(DRM_UT_DP))) {
 		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
 
 		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 12c783f4d956..58dad4d24cd4 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1551,7 +1551,7 @@ static void connector_bad_edid(struct drm_connector *connector,
 {
 	int i;
 
-	if (connector->bad_edid_counter++ && !(drm_debug & DRM_UT_KMS))
+	if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS))
 		return;
 
 	dev_warn(connector->dev->dev,
diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
index d38b3b255926..37d8ba3ddb46 100644
--- a/drivers/gpu/drm/drm_edid_load.c
+++ b/drivers/gpu/drm/drm_edid_load.c
@@ -175,7 +175,7 @@ static void *edid_load(struct drm_connector *connector, const char *name,
 	u8 *edid;
 	int fwsize, builtin;
 	int i, valid_extensions = 0;
-	bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS);
+	bool print_bad_edid = !connector->bad_edid_counter || drm_debug_enabled(DRM_UT_KMS);
 
 	builtin = match_string(generic_edid_name, GENERIC_EDIDS, name);
 	if (builtin >= 0) {
diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
index f8154316a3b0..ccfb5b33c5e3 100644
--- a/drivers/gpu/drm/drm_mipi_dbi.c
+++ b/drivers/gpu/drm/drm_mipi_dbi.c
@@ -783,7 +783,7 @@ static int mipi_dbi_spi1e_transfer(struct mipi_dbi *dbi, int dc,
 	int i, ret;
 	u8 *dst;
 
-	if (drm_debug & DRM_UT_DRIVER)
+	if (drm_debug_enabled(DRM_UT_DRIVER))
 		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
 			 __func__, dc, max_chunk);
 
@@ -907,7 +907,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc,
 	max_chunk = dbi->tx_buf9_len;
 	dst16 = dbi->tx_buf9;
 
-	if (drm_debug & DRM_UT_DRIVER)
+	if (drm_debug_enabled(DRM_UT_DRIVER))
 		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
 			 __func__, dc, max_chunk);
 
diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
index c9b57012d412..a7c89ec5ff26 100644
--- a/drivers/gpu/drm/drm_print.c
+++ b/drivers/gpu/drm/drm_print.c
@@ -264,7 +264,7 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
 	struct va_format vaf;
 	va_list args;
 
-	if (!(drm_debug & category))
+	if (!drm_debug_enabled(category))
 		return;
 
 	va_start(args, format);
@@ -287,7 +287,7 @@ void drm_dbg(unsigned int category, const char *format, ...)
 	struct va_format vaf;
 	va_list args;
 
-	if (!(drm_debug & category))
+	if (!drm_debug_enabled(category))
 		return;
 
 	va_start(args, format);
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 9c6899758bc9..4f7962b6427b 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -332,7 +332,7 @@ u64 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc)
 	u64 vblank;
 	unsigned long flags;
 
-	WARN_ONCE(drm_debug & DRM_UT_VBL && !dev->driver->get_vblank_timestamp,
+	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !dev->driver->get_vblank_timestamp,
 		  "This function requires support for accurate vblank timestamps.");
 
 	spin_lock_irqsave(&dev->vblank_time_lock, flags);
@@ -706,7 +706,7 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
 	 */
 	*vblank_time = ktime_sub_ns(etime, delta_ns);
 
-	if ((drm_debug & DRM_UT_VBL) == 0)
+	if (!drm_debug_enabled(DRM_UT_VBL))
 		return true;
 
 	ts_etime = ktime_to_timespec64(etime);
@@ -1352,7 +1352,7 @@ void drm_vblank_restore(struct drm_device *dev, unsigned int pipe)
 	assert_spin_locked(&dev->vblank_time_lock);
 
 	vblank = &dev->vblank[pipe];
-	WARN_ONCE((drm_debug & DRM_UT_VBL) && !vblank->framedur_ns,
+	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !vblank->framedur_ns,
 		  "Cannot compute missed vblanks without frame duration\n");
 	framedur_ns = vblank->framedur_ns;
 
diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index e5c421abce48..e13f901312a4 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -294,6 +294,11 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
 #define DRM_UT_LEASE		0x80
 #define DRM_UT_DP		0x100
 
+static inline bool drm_debug_enabled(unsigned int category)
+{
+	return drm_debug & category;
+}
+
 __printf(3, 4)
 void drm_dev_printk(const struct device *dev, const char *level,
 		    const char *format, ...);
-- 
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] 22+ messages in thread

* [PATCH 3/9] drm/etnaviv: use drm_debug_enabled() to check for debug categories
  2019-09-13 11:51 ` Jani Nikula
                   ` (2 preceding siblings ...)
  (?)
@ 2019-09-13 11:51 ` Jani Nikula
  2019-09-13 14:24   ` Lucas Stach
  -1 siblings, 1 reply; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel; +Cc: jani.nikula, intel-gfx, etnaviv, Russell King

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

Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: etnaviv@lists.freedesktop.org
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_buffer.c b/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
index 7e4e2959bf4f..32d9fac587f9 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
@@ -326,7 +326,7 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state,
 
 	lockdep_assert_held(&gpu->lock);
 
-	if (drm_debug & DRM_UT_DRIVER)
+	if (drm_debug_enabled(DRM_UT_DRIVER))
 		etnaviv_buffer_dump(gpu, buffer, 0, 0x50);
 
 	link_target = etnaviv_cmdbuf_get_va(cmdbuf,
@@ -459,13 +459,13 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state,
 		 etnaviv_cmdbuf_get_va(buffer, &gpu->mmu_context->cmdbuf_mapping)
 		 + buffer->user_size - 4);
 
-	if (drm_debug & DRM_UT_DRIVER)
+	if (drm_debug_enabled(DRM_UT_DRIVER))
 		pr_info("stream link to 0x%08x @ 0x%08x %p\n",
 			return_target,
 			etnaviv_cmdbuf_get_va(cmdbuf, &gpu->mmu_context->cmdbuf_mapping),
 			cmdbuf->vaddr);
 
-	if (drm_debug & DRM_UT_DRIVER) {
+	if (drm_debug_enabled(DRM_UT_DRIVER)) {
 		print_hex_dump(KERN_INFO, "cmd ", DUMP_PREFIX_OFFSET, 16, 4,
 			       cmdbuf->vaddr, cmdbuf->size, 0);
 
@@ -484,6 +484,6 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state,
 				    VIV_FE_LINK_HEADER_PREFETCH(link_dwords),
 				    link_target);
 
-	if (drm_debug & DRM_UT_DRIVER)
+	if (drm_debug_enabled(DRM_UT_DRIVER))
 		etnaviv_buffer_dump(gpu, buffer, 0, 0x50);
 }
-- 
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] 22+ messages in thread

* [PATCH 4/9] drm/i2c/sil164: use drm_debug_enabled() to check for debug categories
  2019-09-13 11:51 ` Jani Nikula
                   ` (3 preceding siblings ...)
  (?)
@ 2019-09-13 11:51 ` Jani Nikula
  -1 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel; +Cc: jani.nikula, intel-gfx

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

Cc: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i2c/sil164_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i2c/sil164_drv.c b/drivers/gpu/drm/i2c/sil164_drv.c
index 8bcf0d199145..a839f78a4c8a 100644
--- a/drivers/gpu/drm/i2c/sil164_drv.c
+++ b/drivers/gpu/drm/i2c/sil164_drv.c
@@ -44,7 +44,7 @@ struct sil164_priv {
 	((struct sil164_priv *)to_encoder_slave(x)->slave_priv)
 
 #define sil164_dbg(client, format, ...) do {				\
-		if (drm_debug & DRM_UT_KMS)				\
+		if (drm_debug_enabled(DRM_UT_KMS))			\
 			dev_printk(KERN_DEBUG, &client->dev,		\
 				   "%s: " format, __func__, ## __VA_ARGS__); \
 	} 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] 22+ messages in thread

* [PATCH 5/9] drm/i915: use drm_debug_enabled() to check for debug categories
  2019-09-13 11:51 ` Jani Nikula
                   ` (4 preceding siblings ...)
  (?)
@ 2019-09-13 11:51 ` Jani Nikula
  -1 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel; +Cc: jani.nikula, intel-gfx

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

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 a19f8c73f2e0..b0f688152bd9 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -11956,7 +11956,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);
@@ -12472,7 +12472,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_dbg(DRM_UT_KMS, "fastset mismatch in %s infoframe", name);
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index d09133a958e1..1281d52b0670 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1685,7 +1685,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 0dfcb40f3162..46ed265d5e79 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1442,7 +1442,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 d0ceb272551f..d173d2aa17fe 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5343,7 +5343,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] 22+ messages in thread

* [PATCH 6/9] drm/msm: use drm_debug_enabled() to check for debug categories
  2019-09-13 11:51 ` Jani Nikula
@ 2019-09-13 11:51   ` Jani Nikula
  -1 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel
  Cc: jani.nikula, intel-gfx, Rob Clark, Sean Paul, linux-arm-msm, freedreno

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

Cc: Rob Clark <robdclark@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
index 9e40f559c51f..00e3353f9aad 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
@@ -29,7 +29,7 @@
  */
 #define DPU_DEBUG(fmt, ...)                                                \
 	do {                                                               \
-		if (unlikely(drm_debug & DRM_UT_KMS))                      \
+		if (unlikely(drm_debug_enabled(DRM_UT_KMS)))               \
 			DRM_DEBUG(fmt, ##__VA_ARGS__); \
 		else                                                       \
 			pr_debug(fmt, ##__VA_ARGS__);                      \
@@ -41,7 +41,7 @@
  */
 #define DPU_DEBUG_DRIVER(fmt, ...)                                         \
 	do {                                                               \
-		if (unlikely(drm_debug & DRM_UT_DRIVER))                   \
+		if (unlikely(drm_debug_enabled(DRM_UT_DRIVER)))            \
 			DRM_ERROR(fmt, ##__VA_ARGS__); \
 		else                                                       \
 			pr_debug(fmt, ##__VA_ARGS__);                      \
-- 
2.20.1


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

* [PATCH 6/9] drm/msm: use drm_debug_enabled() to check for debug categories
@ 2019-09-13 11:51   ` Jani Nikula
  0 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel; +Cc: jani.nikula, linux-arm-msm, intel-gfx, freedreno

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

Cc: Rob Clark <robdclark@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
index 9e40f559c51f..00e3353f9aad 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
@@ -29,7 +29,7 @@
  */
 #define DPU_DEBUG(fmt, ...)                                                \
 	do {                                                               \
-		if (unlikely(drm_debug & DRM_UT_KMS))                      \
+		if (unlikely(drm_debug_enabled(DRM_UT_KMS)))               \
 			DRM_DEBUG(fmt, ##__VA_ARGS__); \
 		else                                                       \
 			pr_debug(fmt, ##__VA_ARGS__);                      \
@@ -41,7 +41,7 @@
  */
 #define DPU_DEBUG_DRIVER(fmt, ...)                                         \
 	do {                                                               \
-		if (unlikely(drm_debug & DRM_UT_DRIVER))                   \
+		if (unlikely(drm_debug_enabled(DRM_UT_DRIVER)))            \
 			DRM_ERROR(fmt, ##__VA_ARGS__); \
 		else                                                       \
 			pr_debug(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] 22+ messages in thread

* [PATCH 7/9] drm/nouveau: use drm_debug_enabled() to check for debug categories
  2019-09-13 11:51 ` Jani Nikula
                   ` (6 preceding siblings ...)
  (?)
@ 2019-09-13 11:51 ` Jani Nikula
  -1 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel; +Cc: jani.nikula, nouveau, intel-gfx, Ben Skeggs

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

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..16283d1e51aa 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 (unlikely(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 (unlikely(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] 22+ messages in thread

* [PATCH 8/9] drm/amdgpu: use drm_debug_enabled() to check for debug categories
  2019-09-13 11:51 ` Jani Nikula
                   ` (7 preceding siblings ...)
  (?)
@ 2019-09-13 11:51 ` Jani Nikula
  -1 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel
  Cc: David Zhou, jani.nikula, intel-gfx, amd-gfx, Alex Deucher,
	Christian König

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
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 4a5951036927..5f17bd4899e2 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] 22+ messages in thread

* [PATCH 9/9] drm/print: rename drm_debug to __drm_debug to discourage use
  2019-09-13 11:51 ` Jani Nikula
                   ` (8 preceding siblings ...)
  (?)
@ 2019-09-13 11:51 ` Jani Nikula
  -1 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2019-09-13 11:51 UTC (permalink / raw)
  To: dri-devel; +Cc: jani.nikula, intel-gfx

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

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 a7c89ec5ff26..ca3c56b026f0 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 e13f901312a4..880bc0d1fd48 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
@@ -296,7 +297,7 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
 
 static inline bool drm_debug_enabled(unsigned int category)
 {
-	return drm_debug & category;
+	return __drm_debug & category;
 }
 
 __printf(3, 4)
-- 
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] 22+ messages in thread

* Re: [PATCH 2/9] drm/print: add drm_debug_enabled()
  2019-09-13 11:51 ` [PATCH 2/9] drm/print: add drm_debug_enabled() Jani Nikula
@ 2019-09-13 13:07   ` Eric Engestrom
  2019-09-16  8:53     ` Jani Nikula
  0 siblings, 1 reply; 22+ messages in thread
From: Eric Engestrom @ 2019-09-13 13:07 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, dri-devel

On Friday, 2019-09-13 14:51:39 +0300, Jani Nikula wrote:
> Add helper to check if a drm debug category is enabled. Convert drm core
> to use it. No functional changes.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/drm_atomic_uapi.c     | 2 +-
>  drivers/gpu/drm/drm_dp_mst_topology.c | 6 +++---
>  drivers/gpu/drm/drm_edid.c            | 2 +-
>  drivers/gpu/drm/drm_edid_load.c       | 2 +-
>  drivers/gpu/drm/drm_mipi_dbi.c        | 4 ++--
>  drivers/gpu/drm/drm_print.c           | 4 ++--
>  drivers/gpu/drm/drm_vblank.c          | 6 +++---
>  include/drm/drm_print.h               | 5 +++++
>  8 files changed, 18 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
> index 5a5b42db6f2a..6576cd997cbd 100644
> --- a/drivers/gpu/drm/drm_atomic_uapi.c
> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
> @@ -1406,7 +1406,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
>  	} else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
>  		ret = drm_atomic_nonblocking_commit(state);
>  	} else {
> -		if (unlikely(drm_debug & DRM_UT_STATE))
> +		if (unlikely(drm_debug_enabled(DRM_UT_STATE)))
>  			drm_atomic_print_state(state);
>  
>  		ret = drm_atomic_commit(state);
> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
> index 97216099a718..f47c5b6b51f7 100644
> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> @@ -1180,7 +1180,7 @@ static int drm_dp_mst_wait_tx_reply(struct drm_dp_mst_branch *mstb,
>  		}
>  	}
>  out:
> -	if (unlikely(ret == -EIO && drm_debug & DRM_UT_DP)) {
> +	if (unlikely(ret == -EIO && drm_debug_enabled(DRM_UT_DP))) {
>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>  
>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
> @@ -2321,7 +2321,7 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr,
>  	idx += tosend + 1;
>  
>  	ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
> -	if (unlikely(ret && drm_debug & DRM_UT_DP)) {
> +	if (unlikely(ret && drm_debug_enabled(DRM_UT_DP))) {
>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>  
>  		drm_printf(&p, "sideband msg failed to send\n");
> @@ -2388,7 +2388,7 @@ static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr,
>  	mutex_lock(&mgr->qlock);
>  	list_add_tail(&txmsg->next, &mgr->tx_msg_downq);
>  
> -	if (unlikely(drm_debug & DRM_UT_DP)) {
> +	if (unlikely(drm_debug_enabled(DRM_UT_DP))) {
>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>  
>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 12c783f4d956..58dad4d24cd4 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1551,7 +1551,7 @@ static void connector_bad_edid(struct drm_connector *connector,
>  {
>  	int i;
>  
> -	if (connector->bad_edid_counter++ && !(drm_debug & DRM_UT_KMS))
> +	if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS))
>  		return;
>  
>  	dev_warn(connector->dev->dev,
> diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
> index d38b3b255926..37d8ba3ddb46 100644
> --- a/drivers/gpu/drm/drm_edid_load.c
> +++ b/drivers/gpu/drm/drm_edid_load.c
> @@ -175,7 +175,7 @@ static void *edid_load(struct drm_connector *connector, const char *name,
>  	u8 *edid;
>  	int fwsize, builtin;
>  	int i, valid_extensions = 0;
> -	bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS);
> +	bool print_bad_edid = !connector->bad_edid_counter || drm_debug_enabled(DRM_UT_KMS);
>  
>  	builtin = match_string(generic_edid_name, GENERIC_EDIDS, name);
>  	if (builtin >= 0) {
> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> index f8154316a3b0..ccfb5b33c5e3 100644
> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> @@ -783,7 +783,7 @@ static int mipi_dbi_spi1e_transfer(struct mipi_dbi *dbi, int dc,
>  	int i, ret;
>  	u8 *dst;
>  
> -	if (drm_debug & DRM_UT_DRIVER)
> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
>  			 __func__, dc, max_chunk);
>  
> @@ -907,7 +907,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc,
>  	max_chunk = dbi->tx_buf9_len;
>  	dst16 = dbi->tx_buf9;
>  
> -	if (drm_debug & DRM_UT_DRIVER)
> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
>  			 __func__, dc, max_chunk);
>  
> diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
> index c9b57012d412..a7c89ec5ff26 100644
> --- a/drivers/gpu/drm/drm_print.c
> +++ b/drivers/gpu/drm/drm_print.c
> @@ -264,7 +264,7 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
>  	struct va_format vaf;
>  	va_list args;
>  
> -	if (!(drm_debug & category))
> +	if (!drm_debug_enabled(category))
>  		return;
>  
>  	va_start(args, format);
> @@ -287,7 +287,7 @@ void drm_dbg(unsigned int category, const char *format, ...)
>  	struct va_format vaf;
>  	va_list args;
>  
> -	if (!(drm_debug & category))
> +	if (!drm_debug_enabled(category))
>  		return;
>  
>  	va_start(args, format);
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 9c6899758bc9..4f7962b6427b 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -332,7 +332,7 @@ u64 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc)
>  	u64 vblank;
>  	unsigned long flags;
>  
> -	WARN_ONCE(drm_debug & DRM_UT_VBL && !dev->driver->get_vblank_timestamp,
> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !dev->driver->get_vblank_timestamp,
>  		  "This function requires support for accurate vblank timestamps.");
>  
>  	spin_lock_irqsave(&dev->vblank_time_lock, flags);
> @@ -706,7 +706,7 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
>  	 */
>  	*vblank_time = ktime_sub_ns(etime, delta_ns);
>  
> -	if ((drm_debug & DRM_UT_VBL) == 0)
> +	if (!drm_debug_enabled(DRM_UT_VBL))
>  		return true;
>  
>  	ts_etime = ktime_to_timespec64(etime);
> @@ -1352,7 +1352,7 @@ void drm_vblank_restore(struct drm_device *dev, unsigned int pipe)
>  	assert_spin_locked(&dev->vblank_time_lock);
>  
>  	vblank = &dev->vblank[pipe];
> -	WARN_ONCE((drm_debug & DRM_UT_VBL) && !vblank->framedur_ns,
> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !vblank->framedur_ns,
>  		  "Cannot compute missed vblanks without frame duration\n");
>  	framedur_ns = vblank->framedur_ns;
>  
> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> index e5c421abce48..e13f901312a4 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -294,6 +294,11 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
>  #define DRM_UT_LEASE		0x80
>  #define DRM_UT_DP		0x100
>  
> +static inline bool drm_debug_enabled(unsigned int category)
> +{
> +	return drm_debug & category;

Worth making that `return unlikely(drm_debug & category);` to make sure
the preloaded path is always to skip the debug stuff?

> +}
> +
>  __printf(3, 4)
>  void drm_dev_printk(const struct device *dev, const char *level,
>  		    const char *format, ...);
> -- 
> 2.20.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 3/9] drm/etnaviv: use drm_debug_enabled() to check for debug categories
  2019-09-13 11:51 ` [PATCH 3/9] drm/etnaviv: use drm_debug_enabled() to check for debug categories Jani Nikula
@ 2019-09-13 14:24   ` Lucas Stach
  0 siblings, 0 replies; 22+ messages in thread
From: Lucas Stach @ 2019-09-13 14:24 UTC (permalink / raw)
  To: Jani Nikula, dri-devel; +Cc: intel-gfx, etnaviv, Russell King

On Fr, 2019-09-13 at 14:51 +0300, Jani Nikula wrote:
> Allow better abstraction of the drm_debug global variable in the
> future. No functional changes.
> 
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Russell King <linux+etnaviv@armlinux.org.uk>
> Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
> Cc: etnaviv@lists.freedesktop.org
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Acked-by: Lucas Stach <l.stach@pengutronix.de>

> ---
>  drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_buffer.c b/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
> index 7e4e2959bf4f..32d9fac587f9 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
> @@ -326,7 +326,7 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state,
>  
>  	lockdep_assert_held(&gpu->lock);
>  
> -	if (drm_debug & DRM_UT_DRIVER)
> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>  		etnaviv_buffer_dump(gpu, buffer, 0, 0x50);
>  
>  	link_target = etnaviv_cmdbuf_get_va(cmdbuf,
> @@ -459,13 +459,13 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state,
>  		 etnaviv_cmdbuf_get_va(buffer, &gpu->mmu_context->cmdbuf_mapping)
>  		 + buffer->user_size - 4);
>  
> -	if (drm_debug & DRM_UT_DRIVER)
> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>  		pr_info("stream link to 0x%08x @ 0x%08x %p\n",
>  			return_target,
>  			etnaviv_cmdbuf_get_va(cmdbuf, &gpu->mmu_context->cmdbuf_mapping),
>  			cmdbuf->vaddr);
>  
> -	if (drm_debug & DRM_UT_DRIVER) {
> +	if (drm_debug_enabled(DRM_UT_DRIVER)) {
>  		print_hex_dump(KERN_INFO, "cmd ", DUMP_PREFIX_OFFSET, 16, 4,
>  			       cmdbuf->vaddr, cmdbuf->size, 0);
>  
> @@ -484,6 +484,6 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state,
>  				    VIV_FE_LINK_HEADER_PREFETCH(link_dwords),
>  				    link_target);
>  
> -	if (drm_debug & DRM_UT_DRIVER)
> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>  		etnaviv_buffer_dump(gpu, buffer, 0, 0x50);
>  }

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

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

* ✓ Fi.CI.BAT: success for drm/print: add and use drm_debug_enabled()
  2019-09-13 11:51 ` Jani Nikula
                   ` (9 preceding siblings ...)
  (?)
@ 2019-09-13 15:17 ` Patchwork
  -1 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2019-09-13 15:17 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/print: add and use drm_debug_enabled()
URL   : https://patchwork.freedesktop.org/series/66656/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6890 -> Patchwork_14400
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_switch@legacy-render:
    - fi-bxt-dsi:         [PASS][1] -> [INCOMPLETE][2] ([fdo#103927] / [fdo#111381])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-bxt-dsi/igt@gem_ctx_switch@legacy-render.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-bxt-dsi/igt@gem_ctx_switch@legacy-render.html

  * igt@gem_linear_blits@basic:
    - fi-icl-u3:          [PASS][3] -> [DMESG-WARN][4] ([fdo#107724]) +2 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-icl-u3/igt@gem_linear_blits@basic.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-icl-u3/igt@gem_linear_blits@basic.html

  * igt@i915_selftest@live_hangcheck:
    - fi-icl-u2:          [PASS][5] -> [DMESG-FAIL][6] ([fdo#111678])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-icl-u2/igt@i915_selftest@live_hangcheck.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-icl-u2/igt@i915_selftest@live_hangcheck.html

  * igt@i915_selftest@live_workarounds:
    - fi-bsw-kefka:       [PASS][7] -> [DMESG-WARN][8] ([fdo#111373])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-bsw-kefka/igt@i915_selftest@live_workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-bsw-kefka/igt@i915_selftest@live_workarounds.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       [PASS][9] -> [DMESG-WARN][10] ([fdo#102614])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html

  
#### Possible fixes ####

  * igt@gem_render_linear_blits@basic:
    - fi-icl-u3:          [DMESG-WARN][11] ([fdo#107724]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-icl-u3/igt@gem_render_linear_blits@basic.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-icl-u3/igt@gem_render_linear_blits@basic.html

  * igt@gem_sync@basic-each:
    - {fi-tgl-u}:         [INCOMPLETE][13] ([fdo#111647]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-tgl-u/igt@gem_sync@basic-each.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-tgl-u/igt@gem_sync@basic-each.html

  * igt@kms_frontbuffer_tracking@basic:
    - {fi-icl-u4}:        [FAIL][15] ([fdo#103167]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-icl-u4/igt@kms_frontbuffer_tracking@basic.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-icl-u4/igt@kms_frontbuffer_tracking@basic.html
    - fi-icl-u2:          [FAIL][17] ([fdo#103167]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111373]: https://bugs.freedesktop.org/show_bug.cgi?id=111373
  [fdo#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381
  [fdo#111647]: https://bugs.freedesktop.org/show_bug.cgi?id=111647
  [fdo#111678]: https://bugs.freedesktop.org/show_bug.cgi?id=111678


Participating hosts (54 -> 45)
------------------------------

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


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6890 -> Patchwork_14400

  CI-20190529: 20190529
  CI_DRM_6890: 85db8e7ffdfa727551a7d99e77a26c4befb8e640 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5180: 811b10e2bd7fd2cd8ced9bbb55361c178886bbbd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14400: 0cf240ef4bf2fa488c4a57142bc4cb9a8790c858 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

0cf240ef4bf2 drm/print: rename drm_debug to __drm_debug to discourage use
54c5afd601a3 drm/amdgpu: use drm_debug_enabled() to check for debug categories
bd8165b9afbd drm/nouveau: use drm_debug_enabled() to check for debug categories
57178519fc00 drm/msm: use drm_debug_enabled() to check for debug categories
ce482587ea13 drm/i915: use drm_debug_enabled() to check for debug categories
2954a9709b2a drm/i2c/sil164: use drm_debug_enabled() to check for debug categories
ae79a509528f drm/etnaviv: use drm_debug_enabled() to check for debug categories
b28ce38ce593 drm/print: add drm_debug_enabled()
2bd6d26e4dd2 drm/print: move drm_debug variable to drm_print.[ch]

== Logs ==

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

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

* ✓ Fi.CI.IGT: success for drm/print: add and use drm_debug_enabled()
  2019-09-13 11:51 ` Jani Nikula
                   ` (10 preceding siblings ...)
  (?)
@ 2019-09-14 15:22 ` Patchwork
  -1 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2019-09-14 15:22 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/print: add and use drm_debug_enabled()
URL   : https://patchwork.freedesktop.org/series/66656/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6890_full -> Patchwork_14400_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_shared@exec-single-timeline-bsd1:
    - shard-iclb:         [PASS][1] -> [SKIP][2] ([fdo#109276]) +15 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb2/igt@gem_ctx_shared@exec-single-timeline-bsd1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb8/igt@gem_ctx_shared@exec-single-timeline-bsd1.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([fdo#110854])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb4/igt@gem_exec_balancer@smoke.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb3/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [PASS][5] -> [SKIP][6] ([fdo#111325]) +5 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb5/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +6 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-apl4/igt@i915_suspend@sysfs-reader.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-apl5/igt@i915_suspend@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-random:
    - shard-iclb:         [PASS][9] -> [INCOMPLETE][10] ([fdo#107713])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb5/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb7/igt@kms_cursor_crc@pipe-b-cursor-128x128-random.html

  * igt@kms_cursor_crc@pipe-c-cursor-64x64-sliding:
    - shard-skl:          [PASS][11] -> [FAIL][12] ([fdo#103232])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl3/igt@kms_cursor_crc@pipe-c-cursor-64x64-sliding.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl2/igt@kms_cursor_crc@pipe-c-cursor-64x64-sliding.html

  * igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled:
    - shard-skl:          [PASS][13] -> [FAIL][14] ([fdo#103184] / [fdo#103232])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl9/igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl10/igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled.html

  * igt@kms_flip@dpms-vs-vblank-race:
    - shard-apl:          [PASS][15] -> [FAIL][16] ([fdo#111609])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-apl4/igt@kms_flip@dpms-vs-vblank-race.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-apl4/igt@kms_flip@dpms-vs-vblank-race.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-skl:          [PASS][17] -> [FAIL][18] ([fdo#105363]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl10/igt@kms_flip@flip-vs-expired-vblank.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl6/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-skl:          [PASS][19] -> [INCOMPLETE][20] ([fdo#109507])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl10/igt@kms_flip@flip-vs-suspend.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl9/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-kbl:          [PASS][21] -> [DMESG-WARN][22] ([fdo#108566]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-kbl1/igt@kms_flip@flip-vs-suspend-interruptible.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-kbl3/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip_tiling@flip-to-yf-tiled:
    - shard-skl:          [PASS][23] -> [FAIL][24] ([fdo#107931] / [fdo#108134])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl9/igt@kms_flip_tiling@flip-to-yf-tiled.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl10/igt@kms_flip_tiling@flip-to-yf-tiled.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
    - shard-iclb:         [PASS][25] -> [FAIL][26] ([fdo#103167]) +4 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-wc:
    - shard-skl:          [PASS][27] -> [FAIL][28] ([fdo#103167]) +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl9/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-wc.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-wc.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
    - shard-skl:          [PASS][29] -> [FAIL][30] ([fdo#103166])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl9/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl10/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [PASS][31] -> [FAIL][32] ([fdo#108145]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl10/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][33] -> [FAIL][34] ([fdo#108145] / [fdo#110403])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_setmode@basic:
    - shard-hsw:          [PASS][35] -> [FAIL][36] ([fdo#99912])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-hsw7/igt@kms_setmode@basic.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-hsw5/igt@kms_setmode@basic.html

  * igt@perf@blocking:
    - shard-skl:          [PASS][37] -> [FAIL][38] ([fdo#110728])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl6/igt@perf@blocking.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl8/igt@perf@blocking.html

  
#### Possible fixes ####

  * igt@gem_exec_schedule@independent-bsd:
    - shard-iclb:         [SKIP][39] ([fdo#111325]) -> [PASS][40] +2 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb2/igt@gem_exec_schedule@independent-bsd.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb8/igt@gem_exec_schedule@independent-bsd.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
    - shard-iclb:         [SKIP][41] ([fdo#109276]) -> [PASS][42] +14 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb5/igt@gem_exec_schedule@preempt-queue-bsd1.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb1/igt@gem_exec_schedule@preempt-queue-bsd1.html

  * igt@gem_softpin@noreloc-s3:
    - shard-kbl:          [DMESG-WARN][43] ([fdo#108566]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-kbl3/igt@gem_softpin@noreloc-s3.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-kbl6/igt@gem_softpin@noreloc-s3.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [DMESG-WARN][45] ([fdo#108566]) -> [PASS][46] +2 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-apl8/igt@gem_workarounds@suspend-resume-context.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-apl3/igt@gem_workarounds@suspend-resume-context.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt:
    - shard-iclb:         [FAIL][47] ([fdo#103167]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [FAIL][49] ([fdo#108145] / [fdo#110403]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl9/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl8/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [SKIP][51] ([fdo#109642] / [fdo#111068]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb6/igt@kms_psr2_su@page_flip.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_dpms:
    - shard-iclb:         [SKIP][53] ([fdo#109441]) -> [PASS][54] +1 similar issue
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb6/igt@kms_psr@psr2_dpms.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb2/igt@kms_psr@psr2_dpms.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][55] ([fdo#99912]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-apl5/igt@kms_setmode@basic.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-apl2/igt@kms_setmode@basic.html

  * igt@kms_vblank@pipe-b-ts-continuation-modeset-hang:
    - shard-iclb:         [INCOMPLETE][57] ([fdo#107713]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb7/igt@kms_vblank@pipe-b-ts-continuation-modeset-hang.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb8/igt@kms_vblank@pipe-b-ts-continuation-modeset-hang.html

  * igt@perf@polling:
    - shard-skl:          [FAIL][59] ([fdo#110728]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-skl3/igt@perf@polling.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-skl9/igt@perf@polling.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [SKIP][61] ([fdo#109276]) -> [FAIL][62] ([fdo#111329])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@gem_mocs_settings@mocs-isolation-bsd2:
    - shard-iclb:         [FAIL][63] ([fdo#111330]) -> [SKIP][64] ([fdo#109276])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb2/igt@gem_mocs_settings@mocs-isolation-bsd2.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb8/igt@gem_mocs_settings@mocs-isolation-bsd2.html

  * igt@gem_mocs_settings@mocs-reset-bsd2:
    - shard-iclb:         [SKIP][65] ([fdo#109276]) -> [FAIL][66] ([fdo#111330]) +1 similar issue
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6890/shard-iclb3/igt@gem_mocs_settings@mocs-reset-bsd2.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14400/shard-iclb1/igt@gem_mocs_settings@mocs-reset-bsd2.html

  
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103184]: https://bugs.freedesktop.org/show_bug.cgi?id=103184
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107931]: https://bugs.freedesktop.org/show_bug.cgi?id=107931
  [fdo#108134]: https://bugs.freedesktop.org/show_bug.cgi?id=108134
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
  [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111609]: https://bugs.freedesktop.org/show_bug.cgi?id=111609
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6890 -> Patchwork_14400

  CI-20190529: 20190529
  CI_DRM_6890: 85db8e7ffdfa727551a7d99e77a26c4befb8e640 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5180: 811b10e2bd7fd2cd8ced9bbb55361c178886bbbd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14400: 0cf240ef4bf2fa488c4a57142bc4cb9a8790c858 @ 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_14400/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 6/9] drm/msm: use drm_debug_enabled() to check for debug categories
  2019-09-13 11:51   ` Jani Nikula
@ 2019-09-14 15:46     ` Rob Clark
  -1 siblings, 0 replies; 22+ messages in thread
From: Rob Clark @ 2019-09-14 15:46 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, Intel Graphics Development, Sean Paul, linux-arm-msm,
	freedreno

On Fri, Sep 13, 2019 at 4:52 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> Allow better abstraction of the drm_debug global variable in the
> future. No functional changes.
>
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: freedreno@lists.freedesktop.org
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Rob Clark <robdclark@gmail.com>

I don't think this should conflict w/ anything, so land via drm-misc?

BR,
-R

> ---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> index 9e40f559c51f..00e3353f9aad 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> @@ -29,7 +29,7 @@
>   */
>  #define DPU_DEBUG(fmt, ...)                                                \
>         do {                                                               \
> -               if (unlikely(drm_debug & DRM_UT_KMS))                      \
> +               if (unlikely(drm_debug_enabled(DRM_UT_KMS)))               \
>                         DRM_DEBUG(fmt, ##__VA_ARGS__); \
>                 else                                                       \
>                         pr_debug(fmt, ##__VA_ARGS__);                      \
> @@ -41,7 +41,7 @@
>   */
>  #define DPU_DEBUG_DRIVER(fmt, ...)                                         \
>         do {                                                               \
> -               if (unlikely(drm_debug & DRM_UT_DRIVER))                   \
> +               if (unlikely(drm_debug_enabled(DRM_UT_DRIVER)))            \
>                         DRM_ERROR(fmt, ##__VA_ARGS__); \
>                 else                                                       \
>                         pr_debug(fmt, ##__VA_ARGS__);                      \
> --
> 2.20.1
>

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

* Re: [PATCH 6/9] drm/msm: use drm_debug_enabled() to check for debug categories
@ 2019-09-14 15:46     ` Rob Clark
  0 siblings, 0 replies; 22+ messages in thread
From: Rob Clark @ 2019-09-14 15:46 UTC (permalink / raw)
  To: Jani Nikula
  Cc: linux-arm-msm, Intel Graphics Development, freedreno, dri-devel

On Fri, Sep 13, 2019 at 4:52 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> Allow better abstraction of the drm_debug global variable in the
> future. No functional changes.
>
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: freedreno@lists.freedesktop.org
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Rob Clark <robdclark@gmail.com>

I don't think this should conflict w/ anything, so land via drm-misc?

BR,
-R

> ---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> index 9e40f559c51f..00e3353f9aad 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> @@ -29,7 +29,7 @@
>   */
>  #define DPU_DEBUG(fmt, ...)                                                \
>         do {                                                               \
> -               if (unlikely(drm_debug & DRM_UT_KMS))                      \
> +               if (unlikely(drm_debug_enabled(DRM_UT_KMS)))               \
>                         DRM_DEBUG(fmt, ##__VA_ARGS__); \
>                 else                                                       \
>                         pr_debug(fmt, ##__VA_ARGS__);                      \
> @@ -41,7 +41,7 @@
>   */
>  #define DPU_DEBUG_DRIVER(fmt, ...)                                         \
>         do {                                                               \
> -               if (unlikely(drm_debug & DRM_UT_DRIVER))                   \
> +               if (unlikely(drm_debug_enabled(DRM_UT_DRIVER)))            \
>                         DRM_ERROR(fmt, ##__VA_ARGS__); \
>                 else                                                       \
>                         pr_debug(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	[flat|nested] 22+ messages in thread

* Re: [PATCH 2/9] drm/print: add drm_debug_enabled()
  2019-09-13 13:07   ` Eric Engestrom
@ 2019-09-16  8:53     ` Jani Nikula
  2019-09-16 11:56       ` Eric Engestrom
  0 siblings, 1 reply; 22+ messages in thread
From: Jani Nikula @ 2019-09-16  8:53 UTC (permalink / raw)
  To: Eric Engestrom; +Cc: intel-gfx, dri-devel

On Fri, 13 Sep 2019, Eric Engestrom <eric.engestrom@intel.com> wrote:
> On Friday, 2019-09-13 14:51:39 +0300, Jani Nikula wrote:
>> Add helper to check if a drm debug category is enabled. Convert drm core
>> to use it. No functional changes.
>> 
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/drm_atomic_uapi.c     | 2 +-
>>  drivers/gpu/drm/drm_dp_mst_topology.c | 6 +++---
>>  drivers/gpu/drm/drm_edid.c            | 2 +-
>>  drivers/gpu/drm/drm_edid_load.c       | 2 +-
>>  drivers/gpu/drm/drm_mipi_dbi.c        | 4 ++--
>>  drivers/gpu/drm/drm_print.c           | 4 ++--
>>  drivers/gpu/drm/drm_vblank.c          | 6 +++---
>>  include/drm/drm_print.h               | 5 +++++
>>  8 files changed, 18 insertions(+), 13 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
>> index 5a5b42db6f2a..6576cd997cbd 100644
>> --- a/drivers/gpu/drm/drm_atomic_uapi.c
>> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
>> @@ -1406,7 +1406,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
>>  	} else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
>>  		ret = drm_atomic_nonblocking_commit(state);
>>  	} else {
>> -		if (unlikely(drm_debug & DRM_UT_STATE))
>> +		if (unlikely(drm_debug_enabled(DRM_UT_STATE)))
>>  			drm_atomic_print_state(state);
>>  
>>  		ret = drm_atomic_commit(state);
>> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
>> index 97216099a718..f47c5b6b51f7 100644
>> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
>> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
>> @@ -1180,7 +1180,7 @@ static int drm_dp_mst_wait_tx_reply(struct drm_dp_mst_branch *mstb,
>>  		}
>>  	}
>>  out:
>> -	if (unlikely(ret == -EIO && drm_debug & DRM_UT_DP)) {
>> +	if (unlikely(ret == -EIO && drm_debug_enabled(DRM_UT_DP))) {
>>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>>  
>>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
>> @@ -2321,7 +2321,7 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr,
>>  	idx += tosend + 1;
>>  
>>  	ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
>> -	if (unlikely(ret && drm_debug & DRM_UT_DP)) {
>> +	if (unlikely(ret && drm_debug_enabled(DRM_UT_DP))) {
>>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>>  
>>  		drm_printf(&p, "sideband msg failed to send\n");
>> @@ -2388,7 +2388,7 @@ static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr,
>>  	mutex_lock(&mgr->qlock);
>>  	list_add_tail(&txmsg->next, &mgr->tx_msg_downq);
>>  
>> -	if (unlikely(drm_debug & DRM_UT_DP)) {
>> +	if (unlikely(drm_debug_enabled(DRM_UT_DP))) {
>>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>>  
>>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> index 12c783f4d956..58dad4d24cd4 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -1551,7 +1551,7 @@ static void connector_bad_edid(struct drm_connector *connector,
>>  {
>>  	int i;
>>  
>> -	if (connector->bad_edid_counter++ && !(drm_debug & DRM_UT_KMS))
>> +	if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS))
>>  		return;
>>  
>>  	dev_warn(connector->dev->dev,
>> diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
>> index d38b3b255926..37d8ba3ddb46 100644
>> --- a/drivers/gpu/drm/drm_edid_load.c
>> +++ b/drivers/gpu/drm/drm_edid_load.c
>> @@ -175,7 +175,7 @@ static void *edid_load(struct drm_connector *connector, const char *name,
>>  	u8 *edid;
>>  	int fwsize, builtin;
>>  	int i, valid_extensions = 0;
>> -	bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS);
>> +	bool print_bad_edid = !connector->bad_edid_counter || drm_debug_enabled(DRM_UT_KMS);
>>  
>>  	builtin = match_string(generic_edid_name, GENERIC_EDIDS, name);
>>  	if (builtin >= 0) {
>> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
>> index f8154316a3b0..ccfb5b33c5e3 100644
>> --- a/drivers/gpu/drm/drm_mipi_dbi.c
>> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
>> @@ -783,7 +783,7 @@ static int mipi_dbi_spi1e_transfer(struct mipi_dbi *dbi, int dc,
>>  	int i, ret;
>>  	u8 *dst;
>>  
>> -	if (drm_debug & DRM_UT_DRIVER)
>> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
>>  			 __func__, dc, max_chunk);
>>  
>> @@ -907,7 +907,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc,
>>  	max_chunk = dbi->tx_buf9_len;
>>  	dst16 = dbi->tx_buf9;
>>  
>> -	if (drm_debug & DRM_UT_DRIVER)
>> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
>>  			 __func__, dc, max_chunk);
>>  
>> diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
>> index c9b57012d412..a7c89ec5ff26 100644
>> --- a/drivers/gpu/drm/drm_print.c
>> +++ b/drivers/gpu/drm/drm_print.c
>> @@ -264,7 +264,7 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
>>  	struct va_format vaf;
>>  	va_list args;
>>  
>> -	if (!(drm_debug & category))
>> +	if (!drm_debug_enabled(category))
>>  		return;
>>  
>>  	va_start(args, format);
>> @@ -287,7 +287,7 @@ void drm_dbg(unsigned int category, const char *format, ...)
>>  	struct va_format vaf;
>>  	va_list args;
>>  
>> -	if (!(drm_debug & category))
>> +	if (!drm_debug_enabled(category))
>>  		return;
>>  
>>  	va_start(args, format);
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 9c6899758bc9..4f7962b6427b 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -332,7 +332,7 @@ u64 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc)
>>  	u64 vblank;
>>  	unsigned long flags;
>>  
>> -	WARN_ONCE(drm_debug & DRM_UT_VBL && !dev->driver->get_vblank_timestamp,
>> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !dev->driver->get_vblank_timestamp,
>>  		  "This function requires support for accurate vblank timestamps.");
>>  
>>  	spin_lock_irqsave(&dev->vblank_time_lock, flags);
>> @@ -706,7 +706,7 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
>>  	 */
>>  	*vblank_time = ktime_sub_ns(etime, delta_ns);
>>  
>> -	if ((drm_debug & DRM_UT_VBL) == 0)
>> +	if (!drm_debug_enabled(DRM_UT_VBL))
>>  		return true;
>>  
>>  	ts_etime = ktime_to_timespec64(etime);
>> @@ -1352,7 +1352,7 @@ void drm_vblank_restore(struct drm_device *dev, unsigned int pipe)
>>  	assert_spin_locked(&dev->vblank_time_lock);
>>  
>>  	vblank = &dev->vblank[pipe];
>> -	WARN_ONCE((drm_debug & DRM_UT_VBL) && !vblank->framedur_ns,
>> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !vblank->framedur_ns,
>>  		  "Cannot compute missed vblanks without frame duration\n");
>>  	framedur_ns = vblank->framedur_ns;
>>  
>> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
>> index e5c421abce48..e13f901312a4 100644
>> --- a/include/drm/drm_print.h
>> +++ b/include/drm/drm_print.h
>> @@ -294,6 +294,11 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
>>  #define DRM_UT_LEASE		0x80
>>  #define DRM_UT_DP		0x100
>>  
>> +static inline bool drm_debug_enabled(unsigned int category)
>> +{
>> +	return drm_debug & category;
>
> Worth making that `return unlikely(drm_debug & category);` to make sure
> the preloaded path is always to skip the debug stuff?

If that would let us drop the unlikely() wrapping from the various users
of this function, agreed, it would be great.

However I'm not at all certain unlikely() here will propagate like
that. I just don't know. Do you?

BR,
Jani.


>
>> +}
>> +
>>  __printf(3, 4)
>>  void drm_dev_printk(const struct device *dev, const char *level,
>>  		    const char *format, ...);
>> -- 
>> 2.20.1
>> 
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

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

* Re: [PATCH 2/9] drm/print: add drm_debug_enabled()
  2019-09-16  8:53     ` Jani Nikula
@ 2019-09-16 11:56       ` Eric Engestrom
  2019-09-16 13:23         ` Jani Nikula
  0 siblings, 1 reply; 22+ messages in thread
From: Eric Engestrom @ 2019-09-16 11:56 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, dri-devel

On Monday, 2019-09-16 11:53:24 +0300, Jani Nikula wrote:
> On Fri, 13 Sep 2019, Eric Engestrom <eric.engestrom@intel.com> wrote:
> > On Friday, 2019-09-13 14:51:39 +0300, Jani Nikula wrote:
> >> Add helper to check if a drm debug category is enabled. Convert drm core
> >> to use it. No functional changes.
> >> 
> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> ---
> >>  drivers/gpu/drm/drm_atomic_uapi.c     | 2 +-
> >>  drivers/gpu/drm/drm_dp_mst_topology.c | 6 +++---
> >>  drivers/gpu/drm/drm_edid.c            | 2 +-
> >>  drivers/gpu/drm/drm_edid_load.c       | 2 +-
> >>  drivers/gpu/drm/drm_mipi_dbi.c        | 4 ++--
> >>  drivers/gpu/drm/drm_print.c           | 4 ++--
> >>  drivers/gpu/drm/drm_vblank.c          | 6 +++---
> >>  include/drm/drm_print.h               | 5 +++++
> >>  8 files changed, 18 insertions(+), 13 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
> >> index 5a5b42db6f2a..6576cd997cbd 100644
> >> --- a/drivers/gpu/drm/drm_atomic_uapi.c
> >> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
> >> @@ -1406,7 +1406,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
> >>  	} else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
> >>  		ret = drm_atomic_nonblocking_commit(state);
> >>  	} else {
> >> -		if (unlikely(drm_debug & DRM_UT_STATE))
> >> +		if (unlikely(drm_debug_enabled(DRM_UT_STATE)))
> >>  			drm_atomic_print_state(state);
> >>  
> >>  		ret = drm_atomic_commit(state);
> >> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
> >> index 97216099a718..f47c5b6b51f7 100644
> >> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> >> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> >> @@ -1180,7 +1180,7 @@ static int drm_dp_mst_wait_tx_reply(struct drm_dp_mst_branch *mstb,
> >>  		}
> >>  	}
> >>  out:
> >> -	if (unlikely(ret == -EIO && drm_debug & DRM_UT_DP)) {
> >> +	if (unlikely(ret == -EIO && drm_debug_enabled(DRM_UT_DP))) {
> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
> >>  
> >>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
> >> @@ -2321,7 +2321,7 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr,
> >>  	idx += tosend + 1;
> >>  
> >>  	ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
> >> -	if (unlikely(ret && drm_debug & DRM_UT_DP)) {
> >> +	if (unlikely(ret && drm_debug_enabled(DRM_UT_DP))) {
> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
> >>  
> >>  		drm_printf(&p, "sideband msg failed to send\n");
> >> @@ -2388,7 +2388,7 @@ static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr,
> >>  	mutex_lock(&mgr->qlock);
> >>  	list_add_tail(&txmsg->next, &mgr->tx_msg_downq);
> >>  
> >> -	if (unlikely(drm_debug & DRM_UT_DP)) {
> >> +	if (unlikely(drm_debug_enabled(DRM_UT_DP))) {
> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
> >>  
> >>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
> >> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> >> index 12c783f4d956..58dad4d24cd4 100644
> >> --- a/drivers/gpu/drm/drm_edid.c
> >> +++ b/drivers/gpu/drm/drm_edid.c
> >> @@ -1551,7 +1551,7 @@ static void connector_bad_edid(struct drm_connector *connector,
> >>  {
> >>  	int i;
> >>  
> >> -	if (connector->bad_edid_counter++ && !(drm_debug & DRM_UT_KMS))
> >> +	if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS))
> >>  		return;
> >>  
> >>  	dev_warn(connector->dev->dev,
> >> diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
> >> index d38b3b255926..37d8ba3ddb46 100644
> >> --- a/drivers/gpu/drm/drm_edid_load.c
> >> +++ b/drivers/gpu/drm/drm_edid_load.c
> >> @@ -175,7 +175,7 @@ static void *edid_load(struct drm_connector *connector, const char *name,
> >>  	u8 *edid;
> >>  	int fwsize, builtin;
> >>  	int i, valid_extensions = 0;
> >> -	bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS);
> >> +	bool print_bad_edid = !connector->bad_edid_counter || drm_debug_enabled(DRM_UT_KMS);
> >>  
> >>  	builtin = match_string(generic_edid_name, GENERIC_EDIDS, name);
> >>  	if (builtin >= 0) {
> >> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> >> index f8154316a3b0..ccfb5b33c5e3 100644
> >> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> >> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> >> @@ -783,7 +783,7 @@ static int mipi_dbi_spi1e_transfer(struct mipi_dbi *dbi, int dc,
> >>  	int i, ret;
> >>  	u8 *dst;
> >>  
> >> -	if (drm_debug & DRM_UT_DRIVER)
> >> +	if (drm_debug_enabled(DRM_UT_DRIVER))
> >>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
> >>  			 __func__, dc, max_chunk);
> >>  
> >> @@ -907,7 +907,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc,
> >>  	max_chunk = dbi->tx_buf9_len;
> >>  	dst16 = dbi->tx_buf9;
> >>  
> >> -	if (drm_debug & DRM_UT_DRIVER)
> >> +	if (drm_debug_enabled(DRM_UT_DRIVER))
> >>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
> >>  			 __func__, dc, max_chunk);
> >>  
> >> diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
> >> index c9b57012d412..a7c89ec5ff26 100644
> >> --- a/drivers/gpu/drm/drm_print.c
> >> +++ b/drivers/gpu/drm/drm_print.c
> >> @@ -264,7 +264,7 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
> >>  	struct va_format vaf;
> >>  	va_list args;
> >>  
> >> -	if (!(drm_debug & category))
> >> +	if (!drm_debug_enabled(category))
> >>  		return;
> >>  
> >>  	va_start(args, format);
> >> @@ -287,7 +287,7 @@ void drm_dbg(unsigned int category, const char *format, ...)
> >>  	struct va_format vaf;
> >>  	va_list args;
> >>  
> >> -	if (!(drm_debug & category))
> >> +	if (!drm_debug_enabled(category))
> >>  		return;
> >>  
> >>  	va_start(args, format);
> >> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> >> index 9c6899758bc9..4f7962b6427b 100644
> >> --- a/drivers/gpu/drm/drm_vblank.c
> >> +++ b/drivers/gpu/drm/drm_vblank.c
> >> @@ -332,7 +332,7 @@ u64 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc)
> >>  	u64 vblank;
> >>  	unsigned long flags;
> >>  
> >> -	WARN_ONCE(drm_debug & DRM_UT_VBL && !dev->driver->get_vblank_timestamp,
> >> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !dev->driver->get_vblank_timestamp,
> >>  		  "This function requires support for accurate vblank timestamps.");
> >>  
> >>  	spin_lock_irqsave(&dev->vblank_time_lock, flags);
> >> @@ -706,7 +706,7 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
> >>  	 */
> >>  	*vblank_time = ktime_sub_ns(etime, delta_ns);
> >>  
> >> -	if ((drm_debug & DRM_UT_VBL) == 0)
> >> +	if (!drm_debug_enabled(DRM_UT_VBL))
> >>  		return true;
> >>  
> >>  	ts_etime = ktime_to_timespec64(etime);
> >> @@ -1352,7 +1352,7 @@ void drm_vblank_restore(struct drm_device *dev, unsigned int pipe)
> >>  	assert_spin_locked(&dev->vblank_time_lock);
> >>  
> >>  	vblank = &dev->vblank[pipe];
> >> -	WARN_ONCE((drm_debug & DRM_UT_VBL) && !vblank->framedur_ns,
> >> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !vblank->framedur_ns,
> >>  		  "Cannot compute missed vblanks without frame duration\n");
> >>  	framedur_ns = vblank->framedur_ns;
> >>  
> >> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> >> index e5c421abce48..e13f901312a4 100644
> >> --- a/include/drm/drm_print.h
> >> +++ b/include/drm/drm_print.h
> >> @@ -294,6 +294,11 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
> >>  #define DRM_UT_LEASE		0x80
> >>  #define DRM_UT_DP		0x100
> >>  
> >> +static inline bool drm_debug_enabled(unsigned int category)
> >> +{
> >> +	return drm_debug & category;
> >
> > Worth making that `return unlikely(drm_debug & category);` to make sure
> > the preloaded path is always to skip the debug stuff?
> 
> If that would let us drop the unlikely() wrapping from the various users
> of this function, agreed, it would be great.
> 
> However I'm not at all certain unlikely() here will propagate like
> that. I just don't know. Do you?

I don't know either, but I expect it would?
Otherwise, this definitely would:
  #define drm_debug_enabled(cat) unlikely(drm_debug & category)

And yeah, dropping the unlikely() sprinkled around some drm_debug_enabled()
calls is a definite bonus.

> 
> BR,
> Jani.
> 
> 
> >
> >> +}
> >> +
> >>  __printf(3, 4)
> >>  void drm_dev_printk(const struct device *dev, const char *level,
> >>  		    const char *format, ...);
> >> -- 
> >> 2.20.1
> >> 
> >> _______________________________________________
> >> dri-devel mailing list
> >> dri-devel@lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 2/9] drm/print: add drm_debug_enabled()
  2019-09-16 11:56       ` Eric Engestrom
@ 2019-09-16 13:23         ` Jani Nikula
  2019-09-20 11:51           ` Eric Engestrom
  0 siblings, 1 reply; 22+ messages in thread
From: Jani Nikula @ 2019-09-16 13:23 UTC (permalink / raw)
  To: Eric Engestrom; +Cc: intel-gfx, dri-devel

On Mon, 16 Sep 2019, Eric Engestrom <eric.engestrom@intel.com> wrote:
> On Monday, 2019-09-16 11:53:24 +0300, Jani Nikula wrote:
>> On Fri, 13 Sep 2019, Eric Engestrom <eric.engestrom@intel.com> wrote:
>> > On Friday, 2019-09-13 14:51:39 +0300, Jani Nikula wrote:
>> >> Add helper to check if a drm debug category is enabled. Convert drm core
>> >> to use it. No functional changes.
>> >> 
>> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> >> ---
>> >>  drivers/gpu/drm/drm_atomic_uapi.c     | 2 +-
>> >>  drivers/gpu/drm/drm_dp_mst_topology.c | 6 +++---
>> >>  drivers/gpu/drm/drm_edid.c            | 2 +-
>> >>  drivers/gpu/drm/drm_edid_load.c       | 2 +-
>> >>  drivers/gpu/drm/drm_mipi_dbi.c        | 4 ++--
>> >>  drivers/gpu/drm/drm_print.c           | 4 ++--
>> >>  drivers/gpu/drm/drm_vblank.c          | 6 +++---
>> >>  include/drm/drm_print.h               | 5 +++++
>> >>  8 files changed, 18 insertions(+), 13 deletions(-)
>> >> 
>> >> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
>> >> index 5a5b42db6f2a..6576cd997cbd 100644
>> >> --- a/drivers/gpu/drm/drm_atomic_uapi.c
>> >> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
>> >> @@ -1406,7 +1406,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
>> >>  	} else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
>> >>  		ret = drm_atomic_nonblocking_commit(state);
>> >>  	} else {
>> >> -		if (unlikely(drm_debug & DRM_UT_STATE))
>> >> +		if (unlikely(drm_debug_enabled(DRM_UT_STATE)))
>> >>  			drm_atomic_print_state(state);
>> >>  
>> >>  		ret = drm_atomic_commit(state);
>> >> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
>> >> index 97216099a718..f47c5b6b51f7 100644
>> >> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
>> >> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
>> >> @@ -1180,7 +1180,7 @@ static int drm_dp_mst_wait_tx_reply(struct drm_dp_mst_branch *mstb,
>> >>  		}
>> >>  	}
>> >>  out:
>> >> -	if (unlikely(ret == -EIO && drm_debug & DRM_UT_DP)) {
>> >> +	if (unlikely(ret == -EIO && drm_debug_enabled(DRM_UT_DP))) {
>> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>> >>  
>> >>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
>> >> @@ -2321,7 +2321,7 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr,
>> >>  	idx += tosend + 1;
>> >>  
>> >>  	ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
>> >> -	if (unlikely(ret && drm_debug & DRM_UT_DP)) {
>> >> +	if (unlikely(ret && drm_debug_enabled(DRM_UT_DP))) {
>> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>> >>  
>> >>  		drm_printf(&p, "sideband msg failed to send\n");
>> >> @@ -2388,7 +2388,7 @@ static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr,
>> >>  	mutex_lock(&mgr->qlock);
>> >>  	list_add_tail(&txmsg->next, &mgr->tx_msg_downq);
>> >>  
>> >> -	if (unlikely(drm_debug & DRM_UT_DP)) {
>> >> +	if (unlikely(drm_debug_enabled(DRM_UT_DP))) {
>> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>> >>  
>> >>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
>> >> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> >> index 12c783f4d956..58dad4d24cd4 100644
>> >> --- a/drivers/gpu/drm/drm_edid.c
>> >> +++ b/drivers/gpu/drm/drm_edid.c
>> >> @@ -1551,7 +1551,7 @@ static void connector_bad_edid(struct drm_connector *connector,
>> >>  {
>> >>  	int i;
>> >>  
>> >> -	if (connector->bad_edid_counter++ && !(drm_debug & DRM_UT_KMS))
>> >> +	if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS))
>> >>  		return;
>> >>  
>> >>  	dev_warn(connector->dev->dev,
>> >> diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
>> >> index d38b3b255926..37d8ba3ddb46 100644
>> >> --- a/drivers/gpu/drm/drm_edid_load.c
>> >> +++ b/drivers/gpu/drm/drm_edid_load.c
>> >> @@ -175,7 +175,7 @@ static void *edid_load(struct drm_connector *connector, const char *name,
>> >>  	u8 *edid;
>> >>  	int fwsize, builtin;
>> >>  	int i, valid_extensions = 0;
>> >> -	bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS);
>> >> +	bool print_bad_edid = !connector->bad_edid_counter || drm_debug_enabled(DRM_UT_KMS);
>> >>  
>> >>  	builtin = match_string(generic_edid_name, GENERIC_EDIDS, name);
>> >>  	if (builtin >= 0) {
>> >> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
>> >> index f8154316a3b0..ccfb5b33c5e3 100644
>> >> --- a/drivers/gpu/drm/drm_mipi_dbi.c
>> >> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
>> >> @@ -783,7 +783,7 @@ static int mipi_dbi_spi1e_transfer(struct mipi_dbi *dbi, int dc,
>> >>  	int i, ret;
>> >>  	u8 *dst;
>> >>  
>> >> -	if (drm_debug & DRM_UT_DRIVER)
>> >> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>> >>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
>> >>  			 __func__, dc, max_chunk);
>> >>  
>> >> @@ -907,7 +907,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc,
>> >>  	max_chunk = dbi->tx_buf9_len;
>> >>  	dst16 = dbi->tx_buf9;
>> >>  
>> >> -	if (drm_debug & DRM_UT_DRIVER)
>> >> +	if (drm_debug_enabled(DRM_UT_DRIVER))
>> >>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
>> >>  			 __func__, dc, max_chunk);
>> >>  
>> >> diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
>> >> index c9b57012d412..a7c89ec5ff26 100644
>> >> --- a/drivers/gpu/drm/drm_print.c
>> >> +++ b/drivers/gpu/drm/drm_print.c
>> >> @@ -264,7 +264,7 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
>> >>  	struct va_format vaf;
>> >>  	va_list args;
>> >>  
>> >> -	if (!(drm_debug & category))
>> >> +	if (!drm_debug_enabled(category))
>> >>  		return;
>> >>  
>> >>  	va_start(args, format);
>> >> @@ -287,7 +287,7 @@ void drm_dbg(unsigned int category, const char *format, ...)
>> >>  	struct va_format vaf;
>> >>  	va_list args;
>> >>  
>> >> -	if (!(drm_debug & category))
>> >> +	if (!drm_debug_enabled(category))
>> >>  		return;
>> >>  
>> >>  	va_start(args, format);
>> >> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> >> index 9c6899758bc9..4f7962b6427b 100644
>> >> --- a/drivers/gpu/drm/drm_vblank.c
>> >> +++ b/drivers/gpu/drm/drm_vblank.c
>> >> @@ -332,7 +332,7 @@ u64 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc)
>> >>  	u64 vblank;
>> >>  	unsigned long flags;
>> >>  
>> >> -	WARN_ONCE(drm_debug & DRM_UT_VBL && !dev->driver->get_vblank_timestamp,
>> >> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !dev->driver->get_vblank_timestamp,
>> >>  		  "This function requires support for accurate vblank timestamps.");
>> >>  
>> >>  	spin_lock_irqsave(&dev->vblank_time_lock, flags);
>> >> @@ -706,7 +706,7 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
>> >>  	 */
>> >>  	*vblank_time = ktime_sub_ns(etime, delta_ns);
>> >>  
>> >> -	if ((drm_debug & DRM_UT_VBL) == 0)
>> >> +	if (!drm_debug_enabled(DRM_UT_VBL))
>> >>  		return true;
>> >>  
>> >>  	ts_etime = ktime_to_timespec64(etime);
>> >> @@ -1352,7 +1352,7 @@ void drm_vblank_restore(struct drm_device *dev, unsigned int pipe)
>> >>  	assert_spin_locked(&dev->vblank_time_lock);
>> >>  
>> >>  	vblank = &dev->vblank[pipe];
>> >> -	WARN_ONCE((drm_debug & DRM_UT_VBL) && !vblank->framedur_ns,
>> >> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !vblank->framedur_ns,
>> >>  		  "Cannot compute missed vblanks without frame duration\n");
>> >>  	framedur_ns = vblank->framedur_ns;
>> >>  
>> >> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
>> >> index e5c421abce48..e13f901312a4 100644
>> >> --- a/include/drm/drm_print.h
>> >> +++ b/include/drm/drm_print.h
>> >> @@ -294,6 +294,11 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
>> >>  #define DRM_UT_LEASE		0x80
>> >>  #define DRM_UT_DP		0x100
>> >>  
>> >> +static inline bool drm_debug_enabled(unsigned int category)
>> >> +{
>> >> +	return drm_debug & category;
>> >
>> > Worth making that `return unlikely(drm_debug & category);` to make sure
>> > the preloaded path is always to skip the debug stuff?
>> 
>> If that would let us drop the unlikely() wrapping from the various users
>> of this function, agreed, it would be great.
>> 
>> However I'm not at all certain unlikely() here will propagate like
>> that. I just don't know. Do you?
>
> I don't know either, but I expect it would?
> Otherwise, this definitely would:
>   #define drm_debug_enabled(cat) unlikely(drm_debug & category)
>
> And yeah, dropping the unlikely() sprinkled around some drm_debug_enabled()
> calls is a definite bonus.

With either of the approaches, would it be okay to change call sites
like this:

- 	if (unlikely(ret && drm_debug_enabled(DRM_UT_DP))) {
+ 	if (ret && drm_debug_enabled(DRM_UT_DP)) {

In theory the compiler should be able to conclude that the unlikely
covers the whole branch even if ret is short-circuit evaluated.


BR,
Jani.



>
>> 
>> BR,
>> Jani.
>> 
>> 
>> >
>> >> +}
>> >> +
>> >>  __printf(3, 4)
>> >>  void drm_dev_printk(const struct device *dev, const char *level,
>> >>  		    const char *format, ...);
>> >> -- 
>> >> 2.20.1
>> >> 
>> >> _______________________________________________
>> >> dri-devel mailing list
>> >> dri-devel@lists.freedesktop.org
>> >> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>> > _______________________________________________
>> > dri-devel mailing list
>> > dri-devel@lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>> 
>> -- 
>> Jani Nikula, Intel Open Source Graphics Center

-- 
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] 22+ messages in thread

* Re: [PATCH 2/9] drm/print: add drm_debug_enabled()
  2019-09-16 13:23         ` Jani Nikula
@ 2019-09-20 11:51           ` Eric Engestrom
  0 siblings, 0 replies; 22+ messages in thread
From: Eric Engestrom @ 2019-09-20 11:51 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, dri-devel

On Monday, 2019-09-16 16:23:13 +0300, Jani Nikula wrote:
> On Mon, 16 Sep 2019, Eric Engestrom <eric.engestrom@intel.com> wrote:
> > On Monday, 2019-09-16 11:53:24 +0300, Jani Nikula wrote:
> >> On Fri, 13 Sep 2019, Eric Engestrom <eric.engestrom@intel.com> wrote:
> >> > On Friday, 2019-09-13 14:51:39 +0300, Jani Nikula wrote:
> >> >> Add helper to check if a drm debug category is enabled. Convert drm core
> >> >> to use it. No functional changes.
> >> >> 
> >> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> >> ---
> >> >>  drivers/gpu/drm/drm_atomic_uapi.c     | 2 +-
> >> >>  drivers/gpu/drm/drm_dp_mst_topology.c | 6 +++---
> >> >>  drivers/gpu/drm/drm_edid.c            | 2 +-
> >> >>  drivers/gpu/drm/drm_edid_load.c       | 2 +-
> >> >>  drivers/gpu/drm/drm_mipi_dbi.c        | 4 ++--
> >> >>  drivers/gpu/drm/drm_print.c           | 4 ++--
> >> >>  drivers/gpu/drm/drm_vblank.c          | 6 +++---
> >> >>  include/drm/drm_print.h               | 5 +++++
> >> >>  8 files changed, 18 insertions(+), 13 deletions(-)
> >> >> 
> >> >> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
> >> >> index 5a5b42db6f2a..6576cd997cbd 100644
> >> >> --- a/drivers/gpu/drm/drm_atomic_uapi.c
> >> >> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
> >> >> @@ -1406,7 +1406,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
> >> >>  	} else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
> >> >>  		ret = drm_atomic_nonblocking_commit(state);
> >> >>  	} else {
> >> >> -		if (unlikely(drm_debug & DRM_UT_STATE))
> >> >> +		if (unlikely(drm_debug_enabled(DRM_UT_STATE)))
> >> >>  			drm_atomic_print_state(state);
> >> >>  
> >> >>  		ret = drm_atomic_commit(state);
> >> >> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
> >> >> index 97216099a718..f47c5b6b51f7 100644
> >> >> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> >> >> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> >> >> @@ -1180,7 +1180,7 @@ static int drm_dp_mst_wait_tx_reply(struct drm_dp_mst_branch *mstb,
> >> >>  		}
> >> >>  	}
> >> >>  out:
> >> >> -	if (unlikely(ret == -EIO && drm_debug & DRM_UT_DP)) {
> >> >> +	if (unlikely(ret == -EIO && drm_debug_enabled(DRM_UT_DP))) {
> >> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
> >> >>  
> >> >>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
> >> >> @@ -2321,7 +2321,7 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr,
> >> >>  	idx += tosend + 1;
> >> >>  
> >> >>  	ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
> >> >> -	if (unlikely(ret && drm_debug & DRM_UT_DP)) {
> >> >> +	if (unlikely(ret && drm_debug_enabled(DRM_UT_DP))) {
> >> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
> >> >>  
> >> >>  		drm_printf(&p, "sideband msg failed to send\n");
> >> >> @@ -2388,7 +2388,7 @@ static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr,
> >> >>  	mutex_lock(&mgr->qlock);
> >> >>  	list_add_tail(&txmsg->next, &mgr->tx_msg_downq);
> >> >>  
> >> >> -	if (unlikely(drm_debug & DRM_UT_DP)) {
> >> >> +	if (unlikely(drm_debug_enabled(DRM_UT_DP))) {
> >> >>  		struct drm_printer p = drm_debug_printer(DBG_PREFIX);
> >> >>  
> >> >>  		drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
> >> >> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> >> >> index 12c783f4d956..58dad4d24cd4 100644
> >> >> --- a/drivers/gpu/drm/drm_edid.c
> >> >> +++ b/drivers/gpu/drm/drm_edid.c
> >> >> @@ -1551,7 +1551,7 @@ static void connector_bad_edid(struct drm_connector *connector,
> >> >>  {
> >> >>  	int i;
> >> >>  
> >> >> -	if (connector->bad_edid_counter++ && !(drm_debug & DRM_UT_KMS))
> >> >> +	if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS))
> >> >>  		return;
> >> >>  
> >> >>  	dev_warn(connector->dev->dev,
> >> >> diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
> >> >> index d38b3b255926..37d8ba3ddb46 100644
> >> >> --- a/drivers/gpu/drm/drm_edid_load.c
> >> >> +++ b/drivers/gpu/drm/drm_edid_load.c
> >> >> @@ -175,7 +175,7 @@ static void *edid_load(struct drm_connector *connector, const char *name,
> >> >>  	u8 *edid;
> >> >>  	int fwsize, builtin;
> >> >>  	int i, valid_extensions = 0;
> >> >> -	bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS);
> >> >> +	bool print_bad_edid = !connector->bad_edid_counter || drm_debug_enabled(DRM_UT_KMS);
> >> >>  
> >> >>  	builtin = match_string(generic_edid_name, GENERIC_EDIDS, name);
> >> >>  	if (builtin >= 0) {
> >> >> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> >> >> index f8154316a3b0..ccfb5b33c5e3 100644
> >> >> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> >> >> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> >> >> @@ -783,7 +783,7 @@ static int mipi_dbi_spi1e_transfer(struct mipi_dbi *dbi, int dc,
> >> >>  	int i, ret;
> >> >>  	u8 *dst;
> >> >>  
> >> >> -	if (drm_debug & DRM_UT_DRIVER)
> >> >> +	if (drm_debug_enabled(DRM_UT_DRIVER))
> >> >>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
> >> >>  			 __func__, dc, max_chunk);
> >> >>  
> >> >> @@ -907,7 +907,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc,
> >> >>  	max_chunk = dbi->tx_buf9_len;
> >> >>  	dst16 = dbi->tx_buf9;
> >> >>  
> >> >> -	if (drm_debug & DRM_UT_DRIVER)
> >> >> +	if (drm_debug_enabled(DRM_UT_DRIVER))
> >> >>  		pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
> >> >>  			 __func__, dc, max_chunk);
> >> >>  
> >> >> diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
> >> >> index c9b57012d412..a7c89ec5ff26 100644
> >> >> --- a/drivers/gpu/drm/drm_print.c
> >> >> +++ b/drivers/gpu/drm/drm_print.c
> >> >> @@ -264,7 +264,7 @@ void drm_dev_dbg(const struct device *dev, unsigned int category,
> >> >>  	struct va_format vaf;
> >> >>  	va_list args;
> >> >>  
> >> >> -	if (!(drm_debug & category))
> >> >> +	if (!drm_debug_enabled(category))
> >> >>  		return;
> >> >>  
> >> >>  	va_start(args, format);
> >> >> @@ -287,7 +287,7 @@ void drm_dbg(unsigned int category, const char *format, ...)
> >> >>  	struct va_format vaf;
> >> >>  	va_list args;
> >> >>  
> >> >> -	if (!(drm_debug & category))
> >> >> +	if (!drm_debug_enabled(category))
> >> >>  		return;
> >> >>  
> >> >>  	va_start(args, format);
> >> >> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> >> >> index 9c6899758bc9..4f7962b6427b 100644
> >> >> --- a/drivers/gpu/drm/drm_vblank.c
> >> >> +++ b/drivers/gpu/drm/drm_vblank.c
> >> >> @@ -332,7 +332,7 @@ u64 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc)
> >> >>  	u64 vblank;
> >> >>  	unsigned long flags;
> >> >>  
> >> >> -	WARN_ONCE(drm_debug & DRM_UT_VBL && !dev->driver->get_vblank_timestamp,
> >> >> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !dev->driver->get_vblank_timestamp,
> >> >>  		  "This function requires support for accurate vblank timestamps.");
> >> >>  
> >> >>  	spin_lock_irqsave(&dev->vblank_time_lock, flags);
> >> >> @@ -706,7 +706,7 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
> >> >>  	 */
> >> >>  	*vblank_time = ktime_sub_ns(etime, delta_ns);
> >> >>  
> >> >> -	if ((drm_debug & DRM_UT_VBL) == 0)
> >> >> +	if (!drm_debug_enabled(DRM_UT_VBL))
> >> >>  		return true;
> >> >>  
> >> >>  	ts_etime = ktime_to_timespec64(etime);
> >> >> @@ -1352,7 +1352,7 @@ void drm_vblank_restore(struct drm_device *dev, unsigned int pipe)
> >> >>  	assert_spin_locked(&dev->vblank_time_lock);
> >> >>  
> >> >>  	vblank = &dev->vblank[pipe];
> >> >> -	WARN_ONCE((drm_debug & DRM_UT_VBL) && !vblank->framedur_ns,
> >> >> +	WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !vblank->framedur_ns,
> >> >>  		  "Cannot compute missed vblanks without frame duration\n");
> >> >>  	framedur_ns = vblank->framedur_ns;
> >> >>  
> >> >> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> >> >> index e5c421abce48..e13f901312a4 100644
> >> >> --- a/include/drm/drm_print.h
> >> >> +++ b/include/drm/drm_print.h
> >> >> @@ -294,6 +294,11 @@ static inline struct drm_printer drm_err_printer(const char *prefix)
> >> >>  #define DRM_UT_LEASE		0x80
> >> >>  #define DRM_UT_DP		0x100
> >> >>  
> >> >> +static inline bool drm_debug_enabled(unsigned int category)
> >> >> +{
> >> >> +	return drm_debug & category;
> >> >
> >> > Worth making that `return unlikely(drm_debug & category);` to make sure
> >> > the preloaded path is always to skip the debug stuff?
> >> 
> >> If that would let us drop the unlikely() wrapping from the various users
> >> of this function, agreed, it would be great.
> >> 
> >> However I'm not at all certain unlikely() here will propagate like
> >> that. I just don't know. Do you?
> >
> > I don't know either, but I expect it would?
> > Otherwise, this definitely would:
> >   #define drm_debug_enabled(cat) unlikely(drm_debug & category)
> >
> > And yeah, dropping the unlikely() sprinkled around some drm_debug_enabled()
> > calls is a definite bonus.
> 
> With either of the approaches, would it be okay to change call sites
> like this:
> 
> - 	if (unlikely(ret && drm_debug_enabled(DRM_UT_DP))) {
> + 	if (ret && drm_debug_enabled(DRM_UT_DP)) {
> 
> In theory the compiler should be able to conclude that the unlikely
> covers the whole branch even if ret is short-circuit evaluated.

Yeah, the compiler should definitely be smart enough to figure out that
`ret && probably_false` is `probably_false` :)

> 
> 
> BR,
> Jani.
> 
> 
> 
> >
> >> 
> >> BR,
> >> Jani.
> >> 
> >> 
> >> >
> >> >> +}
> >> >> +
> >> >>  __printf(3, 4)
> >> >>  void drm_dev_printk(const struct device *dev, const char *level,
> >> >>  		    const char *format, ...);
> >> >> -- 
> >> >> 2.20.1
> >> >> 
> >> >> _______________________________________________
> >> >> dri-devel mailing list
> >> >> dri-devel@lists.freedesktop.org
> >> >> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> >> > _______________________________________________
> >> > dri-devel mailing list
> >> > dri-devel@lists.freedesktop.org
> >> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> >> 
> >> -- 
> >> Jani Nikula, Intel Open Source Graphics Center
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2019-09-20 11:51 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-13 11:51 [PATCH 0/9] drm/print: add and use drm_debug_enabled() Jani Nikula
2019-09-13 11:51 ` Jani Nikula
2019-09-13 11:51 ` [PATCH 1/9] drm/print: move drm_debug variable to drm_print.[ch] Jani Nikula
2019-09-13 11:51 ` [PATCH 2/9] drm/print: add drm_debug_enabled() Jani Nikula
2019-09-13 13:07   ` Eric Engestrom
2019-09-16  8:53     ` Jani Nikula
2019-09-16 11:56       ` Eric Engestrom
2019-09-16 13:23         ` Jani Nikula
2019-09-20 11:51           ` Eric Engestrom
2019-09-13 11:51 ` [PATCH 3/9] drm/etnaviv: use drm_debug_enabled() to check for debug categories Jani Nikula
2019-09-13 14:24   ` Lucas Stach
2019-09-13 11:51 ` [PATCH 4/9] drm/i2c/sil164: " Jani Nikula
2019-09-13 11:51 ` [PATCH 5/9] drm/i915: " Jani Nikula
2019-09-13 11:51 ` [PATCH 6/9] drm/msm: " Jani Nikula
2019-09-13 11:51   ` Jani Nikula
2019-09-14 15:46   ` Rob Clark
2019-09-14 15:46     ` Rob Clark
2019-09-13 11:51 ` [PATCH 7/9] drm/nouveau: " Jani Nikula
2019-09-13 11:51 ` [PATCH 8/9] drm/amdgpu: " Jani Nikula
2019-09-13 11:51 ` [PATCH 9/9] drm/print: rename drm_debug to __drm_debug to discourage use Jani Nikula
2019-09-13 15:17 ` ✓ Fi.CI.BAT: success for drm/print: add and use drm_debug_enabled() Patchwork
2019-09-14 15:22 ` ✓ Fi.CI.IGT: " 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.