From patchwork Fri Oct 14 23:55:48 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Clark X-Patchwork-Id: 9377653 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 5838860779 for ; Fri, 14 Oct 2016 23:56:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4586E28A0B for ; Fri, 14 Oct 2016 23:56:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3A6BF28B3D; Fri, 14 Oct 2016 23:56:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 3328728A0B for ; Fri, 14 Oct 2016 23:56:36 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A16F86ED48; Fri, 14 Oct 2016 23:56:31 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-qk0-x242.google.com (mail-qk0-x242.google.com [IPv6:2607:f8b0:400d:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id CA7496ED55; Fri, 14 Oct 2016 23:56:24 +0000 (UTC) Received: by mail-qk0-x242.google.com with SMTP id f128so8943943qkb.0; Fri, 14 Oct 2016 16:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=9k5sN8aG30Jp9VuFSQKv/W7CFzNWsbV5QT9LatnZIkQ=; b=YEYJ56p2jPWNqDrAHtH0rm7gaXPgwBXHavIRrLmvSjps/+pr7Y9VJwA37k+Z4BCIOJ 0sPq5nF68UielZpuAeQxXKn5XxPVuUheomzRdtLauvDVTPwZY4eDV3KFukpAWSCePzRd JX+7rrkZUMhGYD0Rt2mabuSHiZk8INMx6nnneL3MA23xAM2jBx7rDm+/PsnDvedvw4Oe LwGb7pDX0ibbojfbHLI6g4+bUPx11V0k/seBWExEsNNJP1IAtaycQCYHQKX1Zp+o6DVa GDLRU1A65usCPapcLJF6EasrtlN2J/lTtN2P5jXBzFiK9ifh6psxdFoIyA6UeZDeOIJy bFvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=9k5sN8aG30Jp9VuFSQKv/W7CFzNWsbV5QT9LatnZIkQ=; b=FIKOoZad10jdrpCxPfanXE56yiRwASvRn2leQh2rKL+3u8PK82Vx+vkUPqdLW5jR/g ezexJnDmKH6adtxlYFyXAmK2e4Ehrer4mmxTfyXGpL7Mv7c6AyldnNNF5GMTr2R3FCcr NrM0LjLNYqDH6apxLeZZszyLCNcJE+KSBb6P4H94E5ubRuqPHTFlpDulYcbytw5hudZ9 LQTxNxYgImKHMqcs6YS1QlhObn+yLC+Ec0AwmOrxbSDuw/6UtkXo+jdc83S9QovhO2jP G+aLyPZCH2Px0/qwjDo8HO6u9rBXHprx0nIrvdCOOSg52uZGunniqbShryaY6N7aKULX JpPw== X-Gm-Message-State: AA6/9RkdSWoSVImlOrORulBVpM45kgeuv6tlXIUix4uA2AQupu9ngMAtrd48UbXq1EVg9Q== X-Received: by 10.55.42.163 with SMTP id q35mr13684493qkq.283.1476489368522; Fri, 14 Oct 2016 16:56:08 -0700 (PDT) Received: from localhost ([2601:184:4002:8340:4bc4:6936:53db:a239]) by smtp.gmail.com with ESMTPSA id s65sm8853594qkd.27.2016.10.14.16.56.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Oct 2016 16:56:08 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Subject: [PATCH 1/6] drm: helper macros to print composite types Date: Fri, 14 Oct 2016 19:55:48 -0400 Message-Id: <1476489353-16261-2-git-send-email-robdclark@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1476489353-16261-1-git-send-email-robdclark@gmail.com> References: <1476489353-16261-1-git-send-email-robdclark@gmail.com> Cc: freedreno@lists.freedesktop.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP I'll want to print things in a similar way in a later patch. This will make it easier. TODO drm_rect_debug_print() doesn't have many call sites, and is kind of unnecessary now. Should we just drop it? Signed-off-by: Rob Clark Reviewed-by: Sean Paul --- drivers/gpu/drm/drm_modes.c | 8 +------- drivers/gpu/drm/drm_rect.c | 11 ++--------- include/drm/drmP.h | 21 +++++++++++++++++++++ 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index fc5040a..77b0301 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c @@ -49,13 +49,7 @@ */ void drm_mode_debug_printmodeline(const struct drm_display_mode *mode) { - DRM_DEBUG_KMS("Modeline %d:\"%s\" %d %d %d %d %d %d %d %d %d %d " - "0x%x 0x%x\n", - mode->base.id, mode->name, mode->vrefresh, mode->clock, - mode->hdisplay, mode->hsync_start, - mode->hsync_end, mode->htotal, - mode->vdisplay, mode->vsync_start, - mode->vsync_end, mode->vtotal, mode->type, mode->flags); + DRM_DEBUG_KMS("Modeline " DRM_MODE_FMT "\n", DRM_MODE_ARG(mode)); } EXPORT_SYMBOL(drm_mode_debug_printmodeline); diff --git a/drivers/gpu/drm/drm_rect.c b/drivers/gpu/drm/drm_rect.c index a8e2c86..d451112 100644 --- a/drivers/gpu/drm/drm_rect.c +++ b/drivers/gpu/drm/drm_rect.c @@ -281,17 +281,10 @@ EXPORT_SYMBOL(drm_rect_calc_vscale_relaxed); */ void drm_rect_debug_print(const char *prefix, const struct drm_rect *r, bool fixed_point) { - int w = drm_rect_width(r); - int h = drm_rect_height(r); - if (fixed_point) - DRM_DEBUG_KMS("%s%d.%06ux%d.%06u%+d.%06u%+d.%06u\n", prefix, - w >> 16, ((w & 0xffff) * 15625) >> 10, - h >> 16, ((h & 0xffff) * 15625) >> 10, - r->x1 >> 16, ((r->x1 & 0xffff) * 15625) >> 10, - r->y1 >> 16, ((r->y1 & 0xffff) * 15625) >> 10); + DRM_DEBUG_KMS("%s" DRM_RECT_FP_FMT "\n", prefix, DRM_RECT_FP_ARG(r)); else - DRM_DEBUG_KMS("%s%dx%d%+d%+d\n", prefix, w, h, r->x1, r->y1); + DRM_DEBUG_KMS("%s" DRM_RECT_FMT "\n", prefix, DRM_RECT_ARG(r)); } EXPORT_SYMBOL(drm_rect_debug_print); diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 28d341a..7ffaa35 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -231,6 +231,27 @@ void drm_err(const char *format, ...); drm_ut_debug_printk(__func__, fmt, ##args); \ } while (0) +/* Format strings and argument splitters to simplify printing + * various "complex" objects + */ +#define DRM_MODE_FMT "%d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x" +#define DRM_MODE_ARG(m) \ + (m)->base.id, (m)->name, (m)->vrefresh, (m)->clock, \ + (m)->hdisplay, (m)->hsync_start, (m)->hsync_end, (m)->htotal, \ + (m)->vdisplay, (m)->vsync_start, (m)->vsync_end, (m)->vtotal, \ + (m)->type, (m)->flags + +#define DRM_RECT_FMT "%dx%d%+d%+d" +#define DRM_RECT_ARG(r) drm_rect_width(r), drm_rect_height(r), (r)->x1, (r)->y1 + +/* for rect's in fixed-point format: */ +#define DRM_RECT_FP_FMT "%d.%06ux%d.%06u%+d.%06u%+d.%06u" +#define DRM_RECT_FP_ARG(r) \ + drm_rect_width(r) >> 16, ((drm_rect_width(r) & 0xffff) * 15625) >> 10, \ + drm_rect_height(r) >> 16, ((drm_rect_height(r) & 0xffff) * 15625) >> 10, \ + (r)->x1 >> 16, (((r)->x1 & 0xffff) * 15625) >> 10, \ + (r)->y1 >> 16, (((r)->y1 & 0xffff) * 15625) >> 10 + /*@}*/ /***********************************************************************/