Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp2751569rwb; Mon, 7 Aug 2023 02:57:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFUi4ROlQ4RizLYHI0tnCQ8OXjgX8TyrvgTac0QC3oF6WK7FJWdYO23WBwMz+TR1wmwwP7X X-Received: by 2002:a2e:96d4:0:b0:2b6:daed:494f with SMTP id d20-20020a2e96d4000000b002b6daed494fmr6312394ljj.35.1691402238851; Mon, 07 Aug 2023 02:57:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691402238; cv=none; d=google.com; s=arc-20160816; b=u4pBuXsWv8/Hd/TiRv4f9p/MS65S55nCGOIe8NuTt4UgHecAygg24EnmQj8DEVkdvi KXCCxaqIXGSeRMC0nEHzSKOwM1LO0r2nKU9xSwkVG0eclW8qo9MiDiSeu2Ci4S5L41ji 9WwqMtGMYp4VeZyslWjGJVjOzpUOQ7HrhWKSVm9wTyhqu/DRmhUkVmb+XPU8MNMVar53 L9x9wibFDLq29yrjxNn3iWqXD8XTSS+W4/GkSd/kToAScPkk2CjoxA+xLXl2CI/oGFUU ZDAJZf5/X/mRwVf994jWujtmY/+7r5uDzyPEkquuju8CEaSeVHVQXNdyiuWCt59SB6GG RbOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:subject:user-agent:mime-version:date:message-id; bh=RZb2VMskKbtq2GskhySTAXprhqTJwFDimChz4pbC0D8=; fh=h6afWEGYE03/u4dCLqBwB9lbcI1lAvy4mmLmfnZ59aI=; b=KLRMBSP42mDF+ZSATb04pKi1r5Z/DiHK58VuiEjFkMe9lXBy1iqjjVmAD6k55Iktdk XSUEkn7hWYbbpSNwcLJDPiAPII3RL3HHIf65n31qrXR6PcB3L086A5Ih+Go58luCfjU5 JntcxzFrRCnPT2U07vYuByQml3A90kRDDhfqy+hrMu4BZ9+d3TWdZm4uOsTsgWeh06jh +J77YJLieqhv0+k9yXq4Q2VRDjPG0yPVpg7wJLroGLlcLl8pLAtFa5yEP2kdg/xQvFuI TbwabClAnrV1RtuY79CJ4AnytEU6buI+yDy5mCHYBFMpqzfi3qLSqzLUh2AnUOWe4kbL wobg== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q5-20020a1709064c8500b0098948181213si5774478eju.399.2023.08.07.02.56.54; Mon, 07 Aug 2023 02:57: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 S231601AbjHGJhE (ORCPT + 99 others); Mon, 7 Aug 2023 05:37:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229436AbjHGJhD (ORCPT ); Mon, 7 Aug 2023 05:37:03 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 1DD8F10E0; Mon, 7 Aug 2023 02:37:02 -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 6FAC21FB; Mon, 7 Aug 2023 02:37:44 -0700 (PDT) Received: from [10.57.90.63] (unknown [10.57.90.63]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A9F233F59C; Mon, 7 Aug 2023 02:36:58 -0700 (PDT) Message-ID: Date: Mon, 7 Aug 2023 10:36:57 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v7 06/13] coresight-tpdm: Add reset node to TPDM node To: Tao Zhang , Mathieu Poirier , Alexander Shishkin , Konrad Dybcio , Mike Leach , Rob Herring , Krzysztof Kozlowski Cc: Jinlong Mao , Leo Yan , Greg Kroah-Hartman , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Tingwei Zhang , Yuanfang Zhang , Trilok Soni , Hao Zhang , linux-arm-msm@vger.kernel.org, andersson@kernel.org References: <1690269353-10829-1-git-send-email-quic_taozha@quicinc.com> <1690269353-10829-7-git-send-email-quic_taozha@quicinc.com> From: Suzuki K Poulose In-Reply-To: <1690269353-10829-7-git-send-email-quic_taozha@quicinc.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,NICE_REPLY_A, 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 On 25/07/2023 08:15, Tao Zhang wrote: > TPDM device need a node to reset the configurations and status of > it. This change provides a node to reset the configurations and > disable the TPDM if it has been enabled. > > Signed-off-by: Tao Zhang > --- > .../ABI/testing/sysfs-bus-coresight-devices-tpdm | 10 ++++++++++ > drivers/hwtracing/coresight/coresight-tpdm.c | 22 ++++++++++++++++++++++ > 2 files changed, 32 insertions(+) > > diff --git a/Documentation/ABI/testing/sysfs-bus-coresight-devices-tpdm b/Documentation/ABI/testing/sysfs-bus-coresight-devices-tpdm > index 4a58e64..dbc2fbd0 100644 > --- a/Documentation/ABI/testing/sysfs-bus-coresight-devices-tpdm > +++ b/Documentation/ABI/testing/sysfs-bus-coresight-devices-tpdm > @@ -11,3 +11,13 @@ Description: > Accepts only one of the 2 values - 1 or 2. > 1 : Generate 64 bits data > 2 : Generate 32 bits data > + > +What: /sys/bus/coresight/devices//reset > +Date: March 2023 > +KernelVersion 6.5 > +Contact: Jinlong Mao (QUIC) , Tao Zhang (QUIC) > +Description: > + (Write) Reset the dataset of the tpdm, and disable the tpdm. Please fix this, we don't disable TPDM. If it only ever resets the datasets, please could we rename this as such ? i.e., reset_dataset or reset_dsb_data ? > + > + Accepts only one value - 1. > + 1 : Reset the dataset of the tpdm > diff --git a/drivers/hwtracing/coresight/coresight-tpdm.c b/drivers/hwtracing/coresight/coresight-tpdm.c > index 52aa48a6..acc3eea 100644 > --- a/drivers/hwtracing/coresight/coresight-tpdm.c > +++ b/drivers/hwtracing/coresight/coresight-tpdm.c > @@ -159,6 +159,27 @@ static int tpdm_datasets_setup(struct tpdm_drvdata *drvdata) > return 0; > } > > +static ssize_t reset_store(struct device *dev, > + struct device_attribute *attr, > + const char *buf, > + size_t size) Minor nit: alignment ? Could we have something like : static ssize_t reset_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) > +{ > + int ret = 0; > + unsigned long val; > + struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent); > + > + ret = kstrtoul(buf, 10, &val); > + if (ret || val != 1) > + return -EINVAL; > + > + spin_lock(&drvdata->spinlock); > + tpdm_reset_datasets(drvdata); > + spin_unlock(&drvdata->spinlock); > + > + return size; > +} > +static DEVICE_ATTR_WO(reset); > + > /* > * value 1: 64 bits test data > * value 2: 32 bits test data > @@ -199,6 +220,7 @@ static ssize_t integration_test_store(struct device *dev, > static DEVICE_ATTR_WO(integration_test); > > static struct attribute *tpdm_attrs[] = { > + &dev_attr_reset.attr, > &dev_attr_integration_test.attr, > NULL, > }; Suzuki