Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp5274062ybe; Tue, 17 Sep 2019 05:39:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqxFaYypcQDLRLMo2NaUm5j0TvVqQCVGfrnt9nycQjMPIKfjTjNGusoEV86oBGJk+ZBYhz62 X-Received: by 2002:a17:906:3449:: with SMTP id d9mr4474139ejb.111.1568723975511; Tue, 17 Sep 2019 05:39:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568723975; cv=none; d=google.com; s=arc-20160816; b=yttynCJmM6ydNk28glmlo+03otxYgumsyrSCwXTDY3DegiDw3v/BlQGoPlhsUmaJ1/ NQxw5GnON2iR76Tsub2i07yUtMD2ur9K77x+Ezuyzai6wB7fNk3YwpCmVf4F+Hd3EVUN Twb4B49TsmeUvKus5zDGdElOvdBKlnOOpH3xR+GxljyPAXLYYufOHoYl9hQzr3kZgnZy YJYdJr15wWdO38a8VT6mqTgjVHL040pSvAuUSf+zt2K/WJEXU4vDNzkcFLN7mg4ntmgA H99oasx+jd4NJsKyIAqLdtx+r4IzT9NhQUyIObP9ARKKWukrFiNubvGGeKrIflg/NF1p 0vjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:mail-followup-to:message-id:subject:cc:to:from:date :dkim-signature; bh=ilmBg9I2YMwvibWDRJZaEkCfUM/sW+D4XZUuUcRsYfc=; b=WK8qKD69vJ65QGvf35lrIYceRZwGL+KFiZB5t2zy/hf4gQqihXWBn2SBuF/GxL66Sh VJ/TCW1RoOUuo4Q94BJIvBs92Ps8cfl8MVZQigW3aCpFe0sqJdRdf39BwqqkBYbCU2cN a/CVvOub9VH+AKGomHFj/FkTAEN58z0ZC42bqpEtva6vCx6b2TOU2JWFd35Kzj8UgBzk QGCeIMWYNGWcJM9QFBp1TJDFeLbVAVhqUealLaq+pEld0vtuk5XF1u674gkzpIZxt9VE HLnRe5Y5c3m1si7dW+29h5+98IqFdBhobfQqpUO0b4MXQ6AosCYbHgnyCrCTrKhnV+YA 8vtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@ffwll.ch header.s=google header.b="BOTF2/Bb"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e50si1410878edb.177.2019.09.17.05.39.11; Tue, 17 Sep 2019 05:39:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@ffwll.ch header.s=google header.b="BOTF2/Bb"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727837AbfIQMd6 (ORCPT + 99 others); Tue, 17 Sep 2019 08:33:58 -0400 Received: from mail-ed1-f67.google.com ([209.85.208.67]:36788 "EHLO mail-ed1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727179AbfIQMd5 (ORCPT ); Tue, 17 Sep 2019 08:33:57 -0400 Received: by mail-ed1-f67.google.com with SMTP id f2so3179895edw.3 for ; Tue, 17 Sep 2019 05:33:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=ilmBg9I2YMwvibWDRJZaEkCfUM/sW+D4XZUuUcRsYfc=; b=BOTF2/Bb/eotbRCnoavsJAQrVi+ZwxxTD2EQ7kS5NbDJ3bSwZGLUGMVTgtaAc8xAvF DuiPbfc29C/IgyvFaUBEDXtenoVdllLvQ4rG+MQS60fbRGQnFhsfgvSsCE/jW4HJ3wjF +mask6n0m6qYrh2hBXRyMCyTTeHExsm+RtneY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=ilmBg9I2YMwvibWDRJZaEkCfUM/sW+D4XZUuUcRsYfc=; b=KvsPcKBKK9Yup8l8govpX8u4T9c1vsxdRLWmIGweG0ji0Ekdh4DWn6gJjP0jm+QogY GOEHrdrRrJBL7klZzEl85fC/oz+9cGv2jGXml0rW1z0tN1Z1Z+etnnm5OWjBn7Gyh5gA iiWzZB8oafn3YIPP3w/+2ZdilhlRj5/6qiUVg5zqhByUojGMSt4M//W11Q8hpLsoArWX L9f7NVyvzBabo2rGGIoLpYv/Yys83YIAr+7uhX2DjRfqgRWdo02IYNN9MJmxe8eg+SXs Tdmw1E4nwqwRLZ/1UszHwfrxayTxZ7aV9vWWXNh/FS8lI2utA4Gukfxzg8o+xcz/b3qx p0/Q== X-Gm-Message-State: APjAAAWCRpxgtNt1k2gcmuFzmTw1oCDIY77SA86kGQsfxqfhxkpgk9Pv hGbGWzy8IVhPs9+B8WIPccnYmg== X-Received: by 2002:a50:eac3:: with SMTP id u3mr4501795edp.9.1568723634340; Tue, 17 Sep 2019 05:33:54 -0700 (PDT) Received: from phenom.ffwll.local (212-51-149-96.fiber7.init7.net. [212.51.149.96]) by smtp.gmail.com with ESMTPSA id z20sm411832edb.3.2019.09.17.05.33.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Sep 2019 05:33:53 -0700 (PDT) Date: Tue, 17 Sep 2019 14:33:51 +0200 From: Daniel Vetter To: Thomas Zimmermann Cc: Gerd Hoffmann , dri-devel@lists.freedesktop.org, Maxime Ripard , David Airlie , Sean Paul , open list Subject: Re: [PATCH v3 1/7] drm: add drm_print_bits Message-ID: <20190917123351.GN3958@phenom.ffwll.local> Mail-Followup-To: Thomas Zimmermann , Gerd Hoffmann , dri-devel@lists.freedesktop.org, Maxime Ripard , David Airlie , Sean Paul , open list References: <20190904054740.20817-1-kraxel@redhat.com> <20190904054740.20817-2-kraxel@redhat.com> <66258358-b27e-4eb1-44a4-c90aa342293c@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <66258358-b27e-4eb1-44a4-c90aa342293c@suse.de> X-Operating-System: Linux phenom 5.2.0-2-amd64 User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 09, 2019 at 02:46:47PM +0200, Thomas Zimmermann wrote: > > > Am 04.09.19 um 07:47 schrieb Gerd Hoffmann: > > New helper to print named bits of some value (think flags fields). > > > > Signed-off-by: Gerd Hoffmann > > --- > > include/drm/drm_print.h | 3 +++ > > drivers/gpu/drm/drm_print.c | 33 +++++++++++++++++++++++++++++++++ > > 2 files changed, 36 insertions(+) > > > > diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h > > index 112165d3195d..12d4916254b4 100644 > > --- a/include/drm/drm_print.h > > +++ b/include/drm/drm_print.h > > @@ -89,6 +89,9 @@ __printf(2, 3) > > void drm_printf(struct drm_printer *p, const char *f, ...); > > void drm_puts(struct drm_printer *p, const char *str); > > void drm_print_regset32(struct drm_printer *p, struct debugfs_regset32 *regset); > > +void drm_print_bits(struct drm_printer *p, > > + unsigned long value, const char *bits[], > > + unsigned int from, unsigned int to); > > > > __printf(2, 0) > > /** > > diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c > > index ad302d71eeee..dfa27367ebb8 100644 > > --- a/drivers/gpu/drm/drm_print.c > > +++ b/drivers/gpu/drm/drm_print.c > > @@ -185,6 +185,39 @@ void drm_printf(struct drm_printer *p, const char *f, ...) > > } > > EXPORT_SYMBOL(drm_printf); > > > > +/** > > + * drm_print_bits - print bits to a &drm_printer stream > > + * > > + * Print bits (in flag fields for example) in human readable form. > > + * The first name in the @bits array is for the bit indexed by @from. > > + * > > + * @p: the &drm_printer > > + * @value: field value. > > + * @bits: Array with bit names. > > + * @from: start of bit range to print (inclusive). > > + * @to: end of bit range to print (exclusive). Just an aside: At least in drm we generally but the parameter docs above the free-flow text. -Daniel > > + */ > > +void drm_print_bits(struct drm_printer *p, > > + unsigned long value, const char *bits[], > > + unsigned int from, unsigned int to) > > +{ > > + bool first = true; > > + unsigned int i; > > + > > + for (i = from; i < to; i++) { > > + if (!(value & (1 << i))) > > + continue; > > + if (WARN_ON_ONCE(!bits[i-from])) > > + continue; > > + drm_printf(p, "%s%s", first ? "" : ",", > > + bits[i-from]); > > + first = false; > > + } > > + if (first) > > + drm_printf(p, "(none)"); > > +} > > +EXPORT_SYMBOL(drm_print_bits); > > + > > void drm_dev_printk(const struct device *dev, const char *level, > > const char *format, ...) > > { > > > > Acked-by: Thomas Zimmermann > > -- > Thomas Zimmermann > Graphics Driver Developer > SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany > GF: Felix Imend?rffer, Mary Higgins, Sri Rasiah > HRB 21284 (AG N?rnberg) > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch