From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4FC31C5ACD6 for ; Wed, 18 Mar 2020 20:24:06 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 273052077B for ; Wed, 18 Mar 2020 20:24:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="bK/gj693"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="2J+KYlaa" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 273052077B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=HTS1QTPorXz7o0eRhjPqR/b985YKUlS3XGnVTXXjpiE=; b=bK/gj693dpLfUm 5DUuRjmtTvos33OQ6I+0qS4jmnL3n/yS+xPXe0mUKSCLHRMCqbnmwQeMdV8P9iL5I8y7X+kJGl72S l5xJmpsOIEE5kB7cESgPT2buZPu/PX/QGPP43BTXrUTQCDVMcVchZ3fWdmM71antWMJVr/c/h/5Yb bMU1KH0m1z6yqYlb47Al4slk013dMoa3XtG8nGBV8n8x2G5foePbh0JUdC9kaaVecAGPsfVhUZ0sM AHWW76IEhEtjpRl4f2j3hvvf9VBt4KrI8giDUH2yx8LekVDCQg52vLSiGLaJ6GMkftVJIz8STJZAX Now7+d4+/yj642rhcQXg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jEfET-0001q0-Ez; Wed, 18 Mar 2020 20:24:05 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jEfEP-0001pN-Vr for linux-arm-kernel@lists.infradead.org; Wed, 18 Mar 2020 20:24:03 +0000 Received: from willie-the-truck (236.31.169.217.in-addr.arpa [217.169.31.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9B07F2077A; Wed, 18 Mar 2020 20:24:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1584563041; bh=8+isRKIpD31NteyXOn+rVN6+vqq+smaVnpeboarmzRc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=2J+KYlaa9WCmGtmPy+aN4+DmQ30/aLbe+Vz44pF/bohc88X+K5kdbGYHEJtpSymwo rTqUCddn+HabtoBjAR59pFFKFihqJDBCAbBR7ntYTq78f5HRMau2AkgC6xYs4tTa7q Jmi23uZGmd8WZhdo/yrGt/nHiYC2Y2Vcg1BL8/YI= Date: Wed, 18 Mar 2020 20:23:57 +0000 From: Will Deacon To: Jonathan Cameron Subject: Re: [PATCH] driver/perf: Add PMU driver for the ARM DMC-620 memory controller. Message-ID: <20200318202356.GB7463@willie-the-truck> References: <1584491381-31492-1-git-send-email-tuanphan@os.amperecomputing.com> <20200318160202.0000032c@Huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200318160202.0000032c@Huawei.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200318_132402_047774_9E5BDE9D X-CRM114-Status: GOOD ( 12.85 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Tuan Phan , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, Mar 18, 2020 at 04:02:02PM +0000, Jonathan Cameron wrote: > On Tue, 17 Mar 2020 17:29:38 -0700 > Tuan Phan wrote: > > +/* User ABI */ > > +#define ATTR_CFG_FLD_mask_CFG config > > +#define ATTR_CFG_FLD_mask_LO 0 > > +#define ATTR_CFG_FLD_mask_HI 44 > > +#define ATTR_CFG_FLD_match_CFG config1 > > +#define ATTR_CFG_FLD_match_LO 0 > > +#define ATTR_CFG_FLD_match_HI 44 > > +#define ATTR_CFG_FLD_invert_CFG config2 > > +#define ATTR_CFG_FLD_invert_LO 0 > > +#define ATTR_CFG_FLD_invert_HI 0 > > +#define ATTR_CFG_FLD_incr_CFG config2 > > +#define ATTR_CFG_FLD_incr_LO 1 > > +#define ATTR_CFG_FLD_incr_HI 2 > > +#define ATTR_CFG_FLD_event_CFG config2 > > +#define ATTR_CFG_FLD_event_LO 3 > > +#define ATTR_CFG_FLD_event_HI 8 > > + > > +#define __GEN_PMU_FORMAT_ATTR(cfg, lo, hi) \ > > + (lo) == (hi) ? #cfg ":" #lo "\n" : #cfg ":" #lo "-" #hi > > + > > +#define _GEN_PMU_FORMAT_ATTR(cfg, lo, hi) \ > > + __GEN_PMU_FORMAT_ATTR(cfg, lo, hi) > > + > > +#define GEN_PMU_FORMAT_ATTR(name) \ > > + PMU_FORMAT_ATTR(name, \ > > + _GEN_PMU_FORMAT_ATTR(ATTR_CFG_FLD_##name##_CFG, \ > > + ATTR_CFG_FLD_##name##_LO, \ > > + ATTR_CFG_FLD_##name##_HI)) > > + > > +#define _ATTR_CFG_GET_FLD(attr, cfg, lo, hi) \ > > + ((((attr)->cfg) >> lo) & GENMASK(hi - lo, 0)) > > Hmm. I see this came form SPE pmu. > > Personally I'd argue this makes the code harder to read than doing > most of it long hand. Ah well. I agree that it's harder to read, but I did it this way in the SPE driver so that the user ABI is always in sync with what the driver thinks, because the accessors and the sysfs bits are all generated from the same constants. If you screw that up, then it's really hard to fix without breaking userspace. Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel