From patchwork Sat Sep 14 22:08:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 13804564 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 80E3FC0219E for ; Sat, 14 Sep 2024 22:10:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=pn4OpikzS6inpbVtYXaJyJN0D5dcob+b6B4QUEcBYQA=; b=uGEmNAXrctAcdvsg/AhBqWY3xr /maZxN7AkXKPJGjQAEiAW11NDhNkKSLSE7b7bx5hWOsAbCj48Ui9PXlWFwMESxRZ6gzUZZKQ8B4C7 IsdoJ07N7Nq2QhgZaTJ1KW81Hvo/sMUdv4cAHKEiBBYDxSSHog1Ke+ckReSVaVVlMyCpntgt9dfQv M950kIg0UXlVG9Ee5H+VijK9kVuPM6eB0pCF5yY5NMY03f+N8tRP+Ep/knnkjkiKJzQOPDVnETPiE Fq60p5bVbivKF9qs7GaTz+LmitMqhoEazKPJ6v2d34bBfYd6FeDzksf4JGdoXnPHZ3RCr2Hg4cjJ4 WPjJ4ysA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1spayL-00000001IlW-3DtV; Sat, 14 Sep 2024 22:10:29 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1spaxF-00000001IYO-3cno for linux-arm-kernel@lists.infradead.org; Sat, 14 Sep 2024 22:09:23 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9722B11FB; Sat, 14 Sep 2024 15:09:50 -0700 (PDT) Received: from e132581.cambridge.arm.com (e132581.arm.com [10.2.76.71]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 626C93F66E; Sat, 14 Sep 2024 15:09:19 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , James Clark , Mark Rutland , Namhyung Kim , Ian Rogers , Jiri Olsa , Adrian Hunter , "Liang, Kan" , Will Deacon , Mike Leach , Besar Wicaksono , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v2 0/7] perf arm-spe: Refactor data source encoding Date: Sat, 14 Sep 2024 23:08:54 +0100 Message-Id: <20240914220901.756177-1-leo.yan@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240914_150921_968204_26981759 X-CRM114-Status: GOOD ( 10.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org As more Arm CPU variants (not only Neoverse CPUs) support data source encoding, they share the same format for the data source packet. To extend supporting these CPU variants for Arm SPE data source, this series refactors the code. It converts the Neoverse specific naming to the common naming, and then based on the MIDR stored in the metadata to decide if the CPU follows up the common encoding format. At the last, it extends CPU list for Neoverse-V2 and Cortex CPUs. This patch series is dependent on the metadata version 2 series [1] for retrieving CPU MIDR. It has been verified for per CPU mode and per thread mode on Cortex-A725 CPUs. [1] https://lore.kernel.org/linux-perf-users/20240914215458.751802-1-leo.yan@arm.com/T/#t Changes from v1: - Dropped LDS bit checking in data source parsing. Besar Wicaksono (1): perf arm-spe: Add Neoverse-V2 to common data source encoding list Leo Yan (6): perf arm-spe: Rename arm_spe__synth_data_source_generic() perf arm-spe: Rename the common data source encoding perf arm-spe: Introduce arm_spe__is_homogeneous() perf arm-spe: Use metadata to decide the data source feature perf arm-spe: Remove the unused 'midr' field perf arm-spe: Add Cortex CPUs to common data source encoding list .../util/arm-spe-decoder/arm-spe-decoder.h | 18 +-- tools/perf/util/arm-spe.c | 135 +++++++++++++++--- 2 files changed, 121 insertions(+), 32 deletions(-)