From patchwork Fri Aug 11 03:45:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anshuman Khandual X-Patchwork-Id: 134312 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp856970vqi; Thu, 10 Aug 2023 21:52:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGSxusaKufnrMyyWiJicOo/B1oTO3FD2sktLEp8tOhiEIbtfotwPsgddJT1efLb6TCdv2Za X-Received: by 2002:a05:6808:1487:b0:3a7:2599:e2b with SMTP id e7-20020a056808148700b003a725990e2bmr1300705oiw.5.1691729538593; Thu, 10 Aug 2023 21:52:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691729538; cv=none; d=google.com; s=arc-20160816; b=RFUUvp7JSV/q5qwLy7jsPCf5umKHMGzOoHlkCtG6FwGCAOpnMjAS9UmFWKnB5Giy+c /ayxKnoFBbDSFDoLFJjR8Aqmy4bxaGVUtJrnFmnmUYGLkM/OloXOvQ0jgGMMQX45J3Dz ndBnKwABqAjQDcO6DpDQM25fLkD/ySwF+aOWI8LDsWMj+HN1PSE22vTSBObsSRi8VJ4U 6Ig+fTYiLL3TqIh2ZVfgS43f3r9b6xnrB+EkbG8eelb1FbxBGpGCkNJHLhvUobEtLL+c kqPwlzx5M4puuwwdDisvfo/pciTAoFP4KH0lKcYnWtyKjT6hqyaC9ywJxko2K7UfFLc9 iFFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=gHBiIWNZJE3C6rmRJu3SFTWA4OyNfImUdsXhUSkbLEg=; fh=i7k4OkcaLUFocIK64fg5M0UL6Z7MqFc0/WYsE6IUDvI=; b=Egm+ZVH6c9vZigck6wBv6/bY/KeIvQL5vK5Pj57KTDUEdBrntGyBZ68vfJPH8zbS7q qXQfl0McymSjqPUyhkzi8uDgZh3wBnaBTSs7/xHPdjyYtguWJbEIgmkpuJ/ewZzNy30j PDq5LSouLKN+9NifUO6wi4wucsb+uURDYX36Ah9WFW5opS1VKAN+90aoqCpi8M/vcrVN uS4VYGJ2XBdxTUHv19WEzD5Orc59TcAQsMMr0JmAGrDan5QuOfXkHhI4Sv6H5WstyQvS LQho+knC16zGXrXHHqkyWLTiqBXqJVFoXvjZv6Pokv7vmyQufsx1z2H7hMzS7/oe+jrR ALQA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k15-20020a635a4f000000b0055b4307963fsi2716639pgm.197.2023.08.10.21.52.05; Thu, 10 Aug 2023 21:52:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233260AbjHKDqW (ORCPT + 99 others); Thu, 10 Aug 2023 23:46:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36170 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232795AbjHKDqR (ORCPT ); Thu, 10 Aug 2023 23:46:17 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 50B022D70; Thu, 10 Aug 2023 20:46:16 -0700 (PDT) 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 7B3FDD75; Thu, 10 Aug 2023 20:46:58 -0700 (PDT) Received: from a077893.arm.com (unknown [10.163.54.13]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A4EF33F6C4; Thu, 10 Aug 2023 20:46:11 -0700 (PDT) From: Anshuman Khandual To: linux-arm-kernel@lists.infradead.org, suzuki.poulose@arm.com Cc: Anshuman Khandual , Catalin Marinas , Will Deacon , Mike Leach , James Clark , Leo Yan , Jonathan Corbet , linux-doc@vger.kernel.org, coresight@lists.linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH V3 1/3] coresight: etm: Override TRCIDR3.CCITMIN on errata affected cpus Date: Fri, 11 Aug 2023 09:15:58 +0530 Message-Id: <20230811034600.944386-2-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811034600.944386-1-anshuman.khandual@arm.com> References: <20230811034600.944386-1-anshuman.khandual@arm.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773906992373841610 X-GMAIL-MSGID: 1773906992373841610 This work arounds errata 1490853 on Cortex-A76, and Neoverse-N1, errata 1491015 on Cortex-A77, errata 1502854 on Cortex-X1, and errata 1619801 on Neoverse-V1, based affected cpus, where software read for TRCIDR3.CCITMIN field in ETM gets an wrong value. If software uses the value returned by the TRCIDR3.CCITMIN register field, then it will limit the range which could be used for programming the ETM. In reality, the ETM could be programmed with a much smaller value than what is indicated by the TRCIDR3.CCITMIN field and still function correctly. If software reads the TRCIDR3.CCITMIN register field, corresponding to the instruction trace counting minimum threshold, observe the value 0x100 or a minimum cycle count threshold of 256. The correct value should be 0x4 or a minimum cycle count threshold of 4. This work arounds the problem via storing 4 in drvdata->ccitmin on affected systems where the TRCIDR3.CCITMIN has been 256, thus preserving cycle count threshold granularity. These errata information has been updated in arch/arm64/silicon-errata.rst, but without their corresponding configs because these have been implemented directly in the driver. Cc: Catalin Marinas Cc: Will Deacon Cc: Suzuki K Poulose Cc: Mike Leach Cc: James Clark Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org Cc: coresight@lists.linaro.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual --- Documentation/arch/arm64/silicon-errata.rst | 10 +++++ .../coresight/coresight-etm4x-core.c | 37 +++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/Documentation/arch/arm64/silicon-errata.rst b/Documentation/arch/arm64/silicon-errata.rst index bedd3a1d7b42..b08f33eda5f1 100644 --- a/Documentation/arch/arm64/silicon-errata.rst +++ b/Documentation/arch/arm64/silicon-errata.rst @@ -107,6 +107,10 @@ stable kernels. +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A76 | #1490853 | N/A | ++----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A77 | #1491015 | N/A | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A510 | #2051678 | ARM64_ERRATUM_2051678 | @@ -125,6 +129,8 @@ stable kernels. +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-X1 | #1502854 | N/A | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 | @@ -133,6 +139,8 @@ stable kernels. +----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N1 | #1349291 | N/A | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Neoverse-N1 | #1490853 | N/A | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 | @@ -141,6 +149,8 @@ stable kernels. +----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N2 | #2253138 | ARM64_ERRATUM_2253138 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Neoverse-V1 | #1619801 | N/A | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | MMU-500 | #841119,826419 | N/A | +----------------+-----------------+-----------------+-----------------------------+ | ARM | MMU-600 | #1076982,1209401| N/A | diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c index 703b6fcbb6a5..1f3d29a639ff 100644 --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c @@ -1150,6 +1150,31 @@ static void cpu_detect_trace_filtering(struct etmv4_drvdata *drvdata) drvdata->trfcr = trfcr; } +/* + * The following errata on applicable cpu rangess affect the CCITMIN filed + * in TCRIDR3 register. Software read for the field returns 0x100 limiting + * the cycle threshold granularity, where as the right value should have + * been 0x4, which is well supported in the hardware. + */ +static struct midr_range etm_wrong_ccitmin_cpus[] = { + /* Erratum #1490853 - Cortex-A76 */ + MIDR_RANGE(MIDR_CORTEX_A76, 0, 0, 4, 0), + /* Erratum #1490853 - Neoverse-N1 */ + MIDR_RANGE(MIDR_NEOVERSE_N1, 0, 0, 4, 0), + /* Erratum #1491015 - Cortex-A77 */ + MIDR_RANGE(MIDR_CORTEX_A77, 0, 0, 1, 0), + /* Erratum #1502854 - Cortex-X1 */ + MIDR_REV(MIDR_CORTEX_X1, 0, 0), + /* Erratum #1619801 - Neoverse-V1 */ + MIDR_REV(MIDR_NEOVERSE_V1, 0, 0), + {}, +}; + +static bool etm4_work_around_wrong_ccitmin(void) +{ + return is_midr_in_range_list(read_cpuid_id(), etm_wrong_ccitmin_cpus); +} + static void etm4_init_arch_data(void *info) { u32 etmidr0; @@ -1214,6 +1239,18 @@ static void etm4_init_arch_data(void *info) etmidr3 = etm4x_relaxed_read32(csa, TRCIDR3); /* CCITMIN, bits[11:0] minimum threshold value that can be programmed */ drvdata->ccitmin = FIELD_GET(TRCIDR3_CCITMIN_MASK, etmidr3); + if (etm4_work_around_wrong_ccitmin()) { + /* + * Erratum affected cpus will read 256 as the minimum + * instruction trace cycle counting threshold where as + * the correct value should be 4 instead. Override the + * recorded value for 'drvdata->ccitmin' to workaround + * this problem. + */ + if (drvdata->ccitmin == 256) + drvdata->ccitmin = 4; + } + /* EXLEVEL_S, bits[19:16] Secure state instruction tracing */ drvdata->s_ex_level = FIELD_GET(TRCIDR3_EXLEVEL_S_MASK, etmidr3); drvdata->config.s_ex_level = drvdata->s_ex_level; From patchwork Fri Aug 11 03:45:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anshuman Khandual X-Patchwork-Id: 134317 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp857251vqi; Thu, 10 Aug 2023 21:53:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGG5K9mbBFY7xBj5RZVR/lGWkgS8dI42zMeZqyxB3G6zu26Gn4ZHebjXHrHp/7JTqxYcP0m X-Received: by 2002:a17:902:e805:b0:1bc:283:75a8 with SMTP id u5-20020a170902e80500b001bc028375a8mr1079160plg.26.1691729589756; Thu, 10 Aug 2023 21:53:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691729589; cv=none; d=google.com; s=arc-20160816; b=fE+GrXpt7LfWQFzF5ezcsIIEsmUk8TH0PpfvODlnIKbo1XMXOgaOLOEWrFO0jNLJwX kvuhU+Ovvrtxs2OUP5yDvBIp4hDbjGhv8l5gUfOBEGnbJFuCn9+WMIrqYmv6Dac3glBE I82sKA18mybqJjELkMs5shoQIjTtGiQIGJMnyKdsT8UHsCRKorlyBKBQ2inEGNSkdov7 3qpuY5dJ5zki+d6glpTl8oOW6rFM3KfqvRtMNOXRDByhdfUrFTQ1mK1N9I2Gosr/ms5E ffCEQWevbWNlJUDdiIOtSjjHg0r0yWT4WiTDiEWns2zCc1m6h8j5prI42JxwNBlovrzS wqpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=FIoZvWA3+wmZBYrw5riGZgIlrjQ+g/EaxF2VT+KS3VU=; fh=i7k4OkcaLUFocIK64fg5M0UL6Z7MqFc0/WYsE6IUDvI=; b=aNPn1YCCeZAUgBbrkPotIzjEXx6xfFb0yWbAwbMvLroO5uqHSksbRUFIqmnj0WZKvK mbp5SQd+Oqul9EgCZHad2X9BfL8v7SbeNcf4SmdxusyDJ5Cvx44KQtN+u5L6trjY+6oy cKVCYVTWzSMBQGJ7pGv9pqOe0DN2MScGMHt/c15gMGilAHx8BZYmGgtxPk2RNfzgVLnP H3ZHr/bLDOaXPZZWF+njzAmuGy9kCGRSbZydPdj9OO22ri6g21hOSV5RFmGCag/BLsX9 0Emle8/KIkHo7G+jB1hTMstFIq6tPKfQEBm+cCuauF25+Qouvk3/+dL628oZyiSLdClS idYA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r10-20020a170902be0a00b001bc5f13c67esi2614276pls.589.2023.08.10.21.52.55; Thu, 10 Aug 2023 21:53:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232953AbjHKDq0 (ORCPT + 99 others); Thu, 10 Aug 2023 23:46:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233266AbjHKDqW (ORCPT ); Thu, 10 Aug 2023 23:46:22 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A2EAC2D78; Thu, 10 Aug 2023 20:46:21 -0700 (PDT) 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 B61C5D75; Thu, 10 Aug 2023 20:47:03 -0700 (PDT) Received: from a077893.arm.com (unknown [10.163.54.13]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D6E0E3F6C4; Thu, 10 Aug 2023 20:46:16 -0700 (PDT) From: Anshuman Khandual To: linux-arm-kernel@lists.infradead.org, suzuki.poulose@arm.com Cc: Anshuman Khandual , Catalin Marinas , Will Deacon , Mike Leach , James Clark , Leo Yan , Jonathan Corbet , linux-doc@vger.kernel.org, coresight@lists.linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH V3 2/3] coresight: etm: Make cycle count threshold user configurable Date: Fri, 11 Aug 2023 09:15:59 +0530 Message-Id: <20230811034600.944386-3-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811034600.944386-1-anshuman.khandual@arm.com> References: <20230811034600.944386-1-anshuman.khandual@arm.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773904673775359955 X-GMAIL-MSGID: 1773907045962533665 Cycle counting is enabled, when requested and supported but with a default threshold value ETM_CYC_THRESHOLD_DEFAULT i.e 0x100 getting into TRCCCCTLR, representing the minimum interval between cycle count trace packets. This makes cycle threshold user configurable, from the user space via perf event attributes. Although it falls back using ETM_CYC_THRESHOLD_DEFAULT, in case no explicit request. As expected it creates a sysfs file as well. /sys/bus/event_source/devices/cs_etm/format/cc_threshold New 'cc_threshold' uses 'event->attr.config3' as no more space is available in 'event->attr.config1' or 'event->attr.config2'. Cc: Suzuki K Poulose Cc: Mike Leach Cc: James Clark Cc: Leo Yan Cc: coresight@lists.linaro.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-doc@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual Reviewed-by: Mike Leach --- drivers/hwtracing/coresight/coresight-etm-perf.c | 2 ++ drivers/hwtracing/coresight/coresight-etm4x-core.c | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/hwtracing/coresight/coresight-etm-perf.c b/drivers/hwtracing/coresight/coresight-etm-perf.c index 5ca6278baff4..09f75dffae60 100644 --- a/drivers/hwtracing/coresight/coresight-etm-perf.c +++ b/drivers/hwtracing/coresight/coresight-etm-perf.c @@ -68,6 +68,7 @@ PMU_FORMAT_ATTR(preset, "config:0-3"); PMU_FORMAT_ATTR(sinkid, "config2:0-31"); /* config ID - set if a system configuration is selected */ PMU_FORMAT_ATTR(configid, "config2:32-63"); +PMU_FORMAT_ATTR(cc_threshold, "config3:0-11"); /* @@ -101,6 +102,7 @@ static struct attribute *etm_config_formats_attr[] = { &format_attr_preset.attr, &format_attr_configid.attr, &format_attr_branch_broadcast.attr, + &format_attr_cc_threshold.attr, NULL, }; diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c index 1f3d29a639ff..ad28ee044cba 100644 --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c @@ -644,7 +644,7 @@ static int etm4_parse_event_config(struct coresight_device *csdev, struct etmv4_config *config = &drvdata->config; struct perf_event_attr *attr = &event->attr; unsigned long cfg_hash; - int preset; + int preset, cc_threshold; /* Clear configuration from previous run */ memset(config, 0, sizeof(struct etmv4_config)); @@ -667,7 +667,15 @@ static int etm4_parse_event_config(struct coresight_device *csdev, if (attr->config & BIT(ETM_OPT_CYCACC)) { config->cfg |= TRCCONFIGR_CCI; /* TRM: Must program this for cycacc to work */ - config->ccctlr = ETM_CYC_THRESHOLD_DEFAULT; + cc_threshold = attr->config3 & ETM_CYC_THRESHOLD_MASK; + if (cc_threshold) { + if (cc_threshold < drvdata->ccitmin) + config->ccctlr = drvdata->ccitmin; + else + config->ccctlr = cc_threshold; + } else { + config->ccctlr = ETM_CYC_THRESHOLD_DEFAULT; + } } if (attr->config & BIT(ETM_OPT_TS)) { /* From patchwork Fri Aug 11 03:46:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anshuman Khandual X-Patchwork-Id: 134305 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp845101vqi; Thu, 10 Aug 2023 21:13:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFf1LAmNQQgAmFHGtgnSsFY9IwC2mxPXc4H6M5Mg1fGLgcRJi8bYygTLWmGRqIDiMk12OK/ X-Received: by 2002:aa7:cf11:0:b0:522:1f09:dde3 with SMTP id a17-20020aa7cf11000000b005221f09dde3mr610248edy.3.1691727202810; Thu, 10 Aug 2023 21:13:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691727202; cv=none; d=google.com; s=arc-20160816; b=rAncZ4FPT5lgrGrQcxZipacw9KtRyuFOKuOka7sdCL7OYTdf0otUo5xrZDIdPPo/KO hxgHcjK498r1ovW8y0qlpyLNQNY9Rt23AKJwgHhGiJZhpWglcCIORQ5OjWUEM3+g0ca+ 51Snn+z3Y8Ck0v21OwGQnOv0hRgZcGACo6o1uo4qkIznPGHJtxkvVyiGtER/+d+ZtxF9 VF4fPB8miImyIUp7XKARVVNC1qwmQrQ9ec64TaD0vB2dg4yAFTyYdhPiE4PVvvI29slM ArLKYkmt46pcTmPY/QfWi7Ku7S4VMH6lvvwfQMrxvZXSaN+bnoZBheWHk7uf3EaArOJu yBzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=Gm9M/FfQjttDN9oYkppuAfxaVnY9xigQZEyizj/jq10=; fh=i7k4OkcaLUFocIK64fg5M0UL6Z7MqFc0/WYsE6IUDvI=; b=bsa2/5wFnb7KQ6aj3Ik4k352KuJDzS2iCPDXam5S/mgAZvXpnEHUHw/Rw2Hg5azXRX DiPWW3JI3e72e2se0OWR33auFgs7N1Z4ujZlqBoU3f/f8hcl1Kxf3UxYzF2sQEHRalaN ci0GfBmQuRhr9/pe7i1Rm8vym6ay27COFK06GhKi7qwQ2lCxjQi0e3AfMGb1WdoC2YT+ 7ES4q2e13gwviGB79CeaINuw283tWmYU6jsyT4+LddocM1UlCKPb/2/I91xxbdDolyiB CLZA39Xe50vcmb16knk/pkZhI4bgUrtJC4lPZraN8fJQctxCEnBnA+vTLsh7Yb11Qx4E 85rQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x1-20020aa7d6c1000000b005224c7ad5afsi2702408edr.99.2023.08.10.21.12.59; Thu, 10 Aug 2023 21:13:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233302AbjHKDqe (ORCPT + 99 others); Thu, 10 Aug 2023 23:46:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233279AbjHKDqb (ORCPT ); Thu, 10 Aug 2023 23:46:31 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 7DF4030C1; Thu, 10 Aug 2023 20:46:26 -0700 (PDT) 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 A91FFD75; Thu, 10 Aug 2023 20:47:08 -0700 (PDT) Received: from a077893.arm.com (unknown [10.163.54.13]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 0029E3F6C4; Thu, 10 Aug 2023 20:46:21 -0700 (PDT) From: Anshuman Khandual To: linux-arm-kernel@lists.infradead.org, suzuki.poulose@arm.com Cc: Anshuman Khandual , Catalin Marinas , Will Deacon , Mike Leach , James Clark , Leo Yan , Jonathan Corbet , linux-doc@vger.kernel.org, coresight@lists.linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH V3 3/3] Documentation: coresight: Add cc_threshold tunable Date: Fri, 11 Aug 2023 09:16:00 +0530 Message-Id: <20230811034600.944386-4-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811034600.944386-1-anshuman.khandual@arm.com> References: <20230811034600.944386-1-anshuman.khandual@arm.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773904543247316362 X-GMAIL-MSGID: 1773904543247316362 This updates config option to include 'cc_threshold' tunable value. Cc: Suzuki K Poulose Cc: Mike Leach Cc: James Clark Cc: Jonathan Corbet Cc: coresight@lists.linaro.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-doc@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual --- Documentation/trace/coresight/coresight.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/trace/coresight/coresight.rst b/Documentation/trace/coresight/coresight.rst index 4a71ea6cb390..ce55adb80b82 100644 --- a/Documentation/trace/coresight/coresight.rst +++ b/Documentation/trace/coresight/coresight.rst @@ -624,6 +624,10 @@ They are also listed in the folder /sys/bus/event_source/devices/cs_etm/format/ * - timestamp - Session local version of the system wide setting: :ref:`ETMv4_MODE_TIMESTAMP ` + * - cc_threshold + - Cycle count threshold value. If nothing is provided here or the provided value is 0, then the + default value i.e 0x100 will be used. If provided value is less than minimum cycles threshold + value, as indicated via TRCIDR3.CCITMIN, then the minimum value will be used instead. How to use the STM module -------------------------