From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751529AbcHFU2D (ORCPT ); Sat, 6 Aug 2016 16:28:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49982 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751036AbcHFU17 (ORCPT ); Sat, 6 Aug 2016 16:27:59 -0400 From: Lyude To: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, xorg-driver-ati@lists.freedesktop.org Cc: Lyude , David Airlie , linux-kernel@vger.kernel.org Subject: [PATCH 6/7] drm: Add ratelimited versions of the DRM_DEBUG* macros Date: Fri, 5 Aug 2016 20:30:38 -0400 Message-Id: <1470443443-27252-7-git-send-email-cpaul@redhat.com> In-Reply-To: <1470443443-27252-1-git-send-email-cpaul@redhat.com> References: <1470443443-27252-1-git-send-email-cpaul@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Sat, 06 Aug 2016 00:31:22 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There's a couple of places where this would be useful for drivers (such as reporting DP aux transaction timeouts). Signed-off-by: Lyude --- include/drm/drmP.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/include/drm/drmP.h b/include/drm/drmP.h index d377865..1c4d91b 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -231,6 +231,36 @@ void drm_err(const char *format, ...); drm_ut_debug_printk(__func__, fmt, ##args); \ } while (0) +#define _DRM_DEFINE_DEBUG_RATELIMITED(level, fmt, args...) \ + do { \ + if (unlikely(drm_debug & DRM_UT_ ## level)) { \ + static DEFINE_RATELIMIT_STATE( \ + _rs, \ + DEFAULT_RATELIMIT_INTERVAL, \ + DEFAULT_RATELIMIT_BURST); \ + \ + if (__ratelimit(&_rs)) { \ + drm_ut_debug_printk(__func__, fmt, \ + ##args); \ + } \ + } \ + } while (0) + +/** + * Rate limited debug output. Like DRM_DEBUG() but won't flood the log. + * + * \param fmt printf() like format string. + * \param arg arguments + */ +#define DRM_DEBUG_RATELIMITED(fmt, args...) \ + _DRM_DEFINE_DEBUG_RATELIMITED(CORE, fmt, ##args) +#define DRM_DEBUG_DRIVER_RATELIMITED(fmt, args...) \ + _DRM_DEFINE_DEBUG_RATELIMITED(DRIVER, fmt, ##args) +#define DRM_DEBUG_KMS_RATELIMITED(fmt, args...) \ + _DRM_DEFINE_DEBUG_RATELIMITED(KMS, fmt, ##args) +#define DRM_DEBUG_PRIME_RATELIMITED(fmt, args...) \ + _DRM_DEFINE_DEBUG_RATELIMITED(PRIME, fmt, ##args) + /*@}*/ /***********************************************************************/ -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH 6/7] drm: Add ratelimited versions of the DRM_DEBUG* macros Date: Fri, 5 Aug 2016 20:30:38 -0400 Message-ID: <1470443443-27252-7-git-send-email-cpaul@redhat.com> References: <1470443443-27252-1-git-send-email-cpaul@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470443443-27252-1-git-send-email-cpaul-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: xorg-driver-ati-bounces-go0+a7rfsptAfugRpC6u6w@public.gmane.org Sender: "xorg-driver-ati" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, xorg-driver-ati-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: David Airlie , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: dri-devel@lists.freedesktop.org VGhlcmUncyBhIGNvdXBsZSBvZiBwbGFjZXMgd2hlcmUgdGhpcyB3b3VsZCBiZSB1c2VmdWwgZm9y IGRyaXZlcnMgKHN1Y2gKYXMgcmVwb3J0aW5nIERQIGF1eCB0cmFuc2FjdGlvbiB0aW1lb3V0cyku CgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSA8Y3BhdWxAcmVkaGF0LmNvbT4KLS0tCiBpbmNsdWRlL2Ry bS9kcm1QLmggfCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFu Z2VkLCAzMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtUC5oIGIv aW5jbHVkZS9kcm0vZHJtUC5oCmluZGV4IGQzNzc4NjUuLjFjNGQ5MWIgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvZHJtL2RybVAuaAorKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKQEAgLTIzMSw2ICsyMzEs MzYgQEAgdm9pZCBkcm1fZXJyKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKIAkJCWRybV91dF9k ZWJ1Z19wcmludGsoX19mdW5jX18sIGZtdCwgIyNhcmdzKTsJXAogCX0gd2hpbGUgKDApCiAKKyNk ZWZpbmUgX0RSTV9ERUZJTkVfREVCVUdfUkFURUxJTUlURUQobGV2ZWwsIGZtdCwgYXJncy4uLikJ CVwKKwlkbyB7CQkJCQkJCQlcCisJCWlmICh1bmxpa2VseShkcm1fZGVidWcgJiBEUk1fVVRfICMj IGxldmVsKSkgewkJXAorCQkJc3RhdGljIERFRklORV9SQVRFTElNSVRfU1RBVEUoCQkJXAorCQkJ CV9ycywJCQkJCVwKKwkJCQlERUZBVUxUX1JBVEVMSU1JVF9JTlRFUlZBTCwJCVwKKwkJCQlERUZB VUxUX1JBVEVMSU1JVF9CVVJTVCk7CQlcCisJCQkJCQkJCQlcCisJCQlpZiAoX19yYXRlbGltaXQo Jl9ycykpIHsJCQlcCisJCQkJZHJtX3V0X2RlYnVnX3ByaW50ayhfX2Z1bmNfXywgZm10LAlcCisJ CQkJCQkgICAgIyNhcmdzKTsJCVwKKwkJCX0JCQkJCQlcCisJCX0JCQkJCQkJXAorCX0gd2hpbGUg KDApCisKKy8qKgorICogUmF0ZSBsaW1pdGVkIGRlYnVnIG91dHB1dC4gTGlrZSBEUk1fREVCVUco KSBidXQgd29uJ3QgZmxvb2QgdGhlIGxvZy4KKyAqCisgKiBccGFyYW0gZm10IHByaW50ZigpIGxp a2UgZm9ybWF0IHN0cmluZy4KKyAqIFxwYXJhbSBhcmcgYXJndW1lbnRzCisgKi8KKyNkZWZpbmUg RFJNX0RFQlVHX1JBVEVMSU1JVEVEKGZtdCwgYXJncy4uLikJCQkJXAorCV9EUk1fREVGSU5FX0RF QlVHX1JBVEVMSU1JVEVEKENPUkUsIGZtdCwgIyNhcmdzKQorI2RlZmluZSBEUk1fREVCVUdfRFJJ VkVSX1JBVEVMSU1JVEVEKGZtdCwgYXJncy4uLikJCQlcCisJX0RSTV9ERUZJTkVfREVCVUdfUkFU RUxJTUlURUQoRFJJVkVSLCBmbXQsICMjYXJncykKKyNkZWZpbmUgRFJNX0RFQlVHX0tNU19SQVRF TElNSVRFRChmbXQsIGFyZ3MuLi4pCQkJCVwKKwlfRFJNX0RFRklORV9ERUJVR19SQVRFTElNSVRF RChLTVMsIGZtdCwgIyNhcmdzKQorI2RlZmluZSBEUk1fREVCVUdfUFJJTUVfUkFURUxJTUlURUQo Zm10LCBhcmdzLi4uKQkJCVwKKwlfRFJNX0RFRklORV9ERUJVR19SQVRFTElNSVRFRChQUklNRSwg Zm10LCAjI2FyZ3MpCisKIC8qQH0qLwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0tIAoyLjcuNAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KeG9yZy1kcml2ZXIt YXRpIG1haWxpbmcgbGlzdAp4b3JnLWRyaXZlci1hdGlAbGlzdHMueC5vcmcKaHR0cHM6Ly9saXN0 cy54Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hvcmctZHJpdmVyLWF0aQo=