Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3976559pxb; Mon, 8 Feb 2021 05:09:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJzJk+fm2hgZ7TqJEOShGeEJyjdcZ6Pr0Xvi51vhPYFet1ZJHPpqq7QiUbzuci9/BM502U9f X-Received: by 2002:a05:6402:1641:: with SMTP id s1mr17460532edx.238.1612789787900; Mon, 08 Feb 2021 05:09:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612789787; cv=none; d=google.com; s=arc-20160816; b=oGtvoh7nhma1RCxQ17dkbwqRE9otsbE7ft0hp+kPeXH56gfq7JAhlmwV8PYocfjWrE 71kHZR9ksgcP7TS2Wxs7TqGOKfYxoyp92lA/CSzwwPjU7i8xer1fZdDt/AJH5DK6F4Rb 8jp7X4BuCGBpu86p7UKGiPNryHkKoMhwrNQRS+y/zwaqpXks1XRe6glah5SPGsn03JFv jt+mY+poI20A2jZfkWXpRnBoMAdmYra7Cyvxo9ECtWRfpV2UdS4wOis2cvrnQiG3zGLV jWPKAG0PZOFZtoxW/EAUR+IDD7+QKYZQYV9dBnCN8r5KRc8gVSA7jXN/Xv8iD52+0oFg HPaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=5XS/vZFlh3MUvkfZKLUk2mxwAgMPfIgzVRfIMfwcbl8=; b=adYRSPwt2FXA90ROwYSG7NzFY8PNgz62bktA2BEGYrjghF/o3QpNGhtHm/RG+8tT7S 96M+rzop4L4bk2rNWLTwlivvkLeWGNNvM+hRLTYlr2hfEpIAAbQgql09X5K8gnXACqiX xxotLVDaE/kg94stwQr6cUrnL9SQCIeAl2iBrmooILAacU9E7n80nz/qxPK7FHJzZzVj 0k1jePS/SH1Ku/6dq/aro6JHmrcW9dslLUd2jtqObbbSNQU4cEkqDHUugdkET1Ngw1KF WrmbkDawyZSYL87YhOKQZEs5L6sGhnWVUBfklNlvTPKKpRImeOc9W8DU8bMu1WDXoA31 s2hA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id he39si10858821ejc.512.2021.02.08.05.09.24; Mon, 08 Feb 2021 05:09:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230274AbhBHNIH (ORCPT + 99 others); Mon, 8 Feb 2021 08:08:07 -0500 Received: from szxga04-in.huawei.com ([45.249.212.190]:11704 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229707AbhBHNIF (ORCPT ); Mon, 8 Feb 2021 08:08:05 -0500 Received: from DGGEMS410-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4DZ5qP2qLFzlHfL; Mon, 8 Feb 2021 21:05:37 +0800 (CST) Received: from localhost.localdomain (10.67.165.24) by DGGEMS410-HUB.china.huawei.com (10.3.19.210) with Microsoft SMTP Server id 14.3.498.0; Mon, 8 Feb 2021 21:07:13 +0800 From: Qi Liu To: , , , CC: , , Subject: [PATCH] drivers/perf: Simplify the SMMUv3 PMU event attributes Date: Mon, 8 Feb 2021 21:04:58 +0800 Message-ID: <1612789498-12957-1-git-send-email-liuqi115@huawei.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.165.24] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org For each PMU event, there is a SMMU_EVENT_ATTR(xx, XX) and &smmu_event_attr_xx.attr.attr. Let's redefine the SMMU_EVENT_ATTR to simplify the smmu_pmu_events. Signed-off-by: Qi Liu --- drivers/perf/arm_smmuv3_pmu.c | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/drivers/perf/arm_smmuv3_pmu.c b/drivers/perf/arm_smmuv3_pmu.c index 8ff7a67..4c8cb1b 100644 --- a/drivers/perf/arm_smmuv3_pmu.c +++ b/drivers/perf/arm_smmuv3_pmu.c @@ -509,27 +509,21 @@ static ssize_t smmu_pmu_event_show(struct device *dev, return sprintf(page, "event=0x%02llx\n", pmu_attr->id); } -#define SMMU_EVENT_ATTR(name, config) \ - PMU_EVENT_ATTR(name, smmu_event_attr_##name, \ - config, smmu_pmu_event_show) -SMMU_EVENT_ATTR(cycles, 0); -SMMU_EVENT_ATTR(transaction, 1); -SMMU_EVENT_ATTR(tlb_miss, 2); -SMMU_EVENT_ATTR(config_cache_miss, 3); -SMMU_EVENT_ATTR(trans_table_walk_access, 4); -SMMU_EVENT_ATTR(config_struct_access, 5); -SMMU_EVENT_ATTR(pcie_ats_trans_rq, 6); -SMMU_EVENT_ATTR(pcie_ats_trans_passed, 7); +#define SMMU_EVENT_ATTR(name, config) \ + (&((struct perf_pmu_events_attr) { \ + .attr = __ATTR(name, 0444, smmu_pmu_event_show, NULL), \ + .id = config, \ + }).attr.attr) static struct attribute *smmu_pmu_events[] = { - &smmu_event_attr_cycles.attr.attr, - &smmu_event_attr_transaction.attr.attr, - &smmu_event_attr_tlb_miss.attr.attr, - &smmu_event_attr_config_cache_miss.attr.attr, - &smmu_event_attr_trans_table_walk_access.attr.attr, - &smmu_event_attr_config_struct_access.attr.attr, - &smmu_event_attr_pcie_ats_trans_rq.attr.attr, - &smmu_event_attr_pcie_ats_trans_passed.attr.attr, + SMMU_EVENT_ATTR(cycles, 0), + SMMU_EVENT_ATTR(transaction, 1), + SMMU_EVENT_ATTR(tlb_miss, 2), + SMMU_EVENT_ATTR(config_cache_miss, 3), + SMMU_EVENT_ATTR(trans_table_walk_access, 4), + SMMU_EVENT_ATTR(config_struct_access, 5), + SMMU_EVENT_ATTR(pcie_ats_trans_rq, 6), + SMMU_EVENT_ATTR(pcie_ats_trans_passed, 7), NULL }; -- 2.8.1