drm/print: add drm_debug_enabled()
authorJani Nikula <jani.nikula@intel.com>
Tue, 1 Oct 2019 14:06:14 +0000 (17:06 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 2 Oct 2019 13:28:55 +0000 (16:28 +0300)
Add helper to check if a drm debug category is enabled. Convert drm core
to use it. No functional changes.

v2: Move unlikely() to drm_debug_enabled() (Eric)

v3: Keep unlikely() when combined with other conditions (Eric)

Cc: Eric Engestrom <eric@engestrom.ch>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191001140614.26909-1-jani.nikula@intel.com
drivers/gpu/drm/drm_atomic_uapi.c
drivers/gpu/drm/drm_dp_mst_topology.c
drivers/gpu/drm/drm_edid.c
drivers/gpu/drm/drm_edid_load.c
drivers/gpu/drm/drm_mipi_dbi.c
drivers/gpu/drm/drm_print.c
drivers/gpu/drm/drm_vblank.c
include/drm/drm_print.h

index 5a5b42db6f2a5904d9f57e575ccfb5c2dfee3d36..b4b6b1f8e49d874e0e31ce10b088fbab79bcb9fe 100644 (file)
@@ -1406,7 +1406,7 @@ retry:
        } else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
                ret = drm_atomic_nonblocking_commit(state);
        } else {
-               if (unlikely(drm_debug & DRM_UT_STATE))
+               if (drm_debug_enabled(DRM_UT_STATE))
                        drm_atomic_print_state(state);
 
                ret = drm_atomic_commit(state);
index e6801db54d0f1501badbbd61361d976d24cbd02b..6b14b63b8d623836b532e74d46e16c00eb7accfc 100644 (file)
@@ -1179,7 +1179,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);
@@ -2322,7 +2322,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");
@@ -2389,7 +2389,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 (drm_debug_enabled(DRM_UT_DP)) {
                struct drm_printer p = drm_debug_printer(DBG_PREFIX);
 
                drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
index 3c9703b08491049a0e9aa1103c63a415951b05d1..0552175313cbf1ccc3a97ef6de4d40fbf7472758 100644 (file)
@@ -1651,7 +1651,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,
index d38b3b255926e3783c66c86c09d55a1a478c2991..37d8ba3ddb46af97536f1950ae4ba44dee148be6 100644 (file)
@@ -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) {
index f8154316a3b0d7abc6d0a83ae10a2c2ce86b8fb3..ccfb5b33c5e3f2552cf873fb8839c6804331a95b 100644 (file)
@@ -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);
 
index 1ade3a917c10d4904899504393ed0d8b699aac83..9a25d73c155c96757d24a5216254e123431f7c07 100644 (file)
@@ -262,7 +262,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);
@@ -285,7 +285,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);
index 9c6899758bc927ec98cc1d1675947a1ed5400182..4f7962b6427b362cc3b5f764b07bacb345e24278 100644 (file)
@@ -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;
 
index fc9f218ab715fbf7bdf972b1fdab79ea841153ee..5b8049992c2400f38f220d2db00b3b1e981d5ec4 100644 (file)
@@ -293,6 +293,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 unlikely(drm_debug & category);
+}
+
 __printf(3, 4)
 void drm_dev_printk(const struct device *dev, const char *level,
                    const char *format, ...);