Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp2160767rwl; Sat, 1 Apr 2023 02:58:08 -0700 (PDT) X-Google-Smtp-Source: AKy350YEnLwufLOxq9KNMBdVj2XRh0ng5APF9veVqmio2CNcwFkENIgMk2nUqg6Y42lXcl2keIZZ X-Received: by 2002:a17:906:f6cd:b0:92f:b8d0:746c with SMTP id jo13-20020a170906f6cd00b0092fb8d0746cmr29344502ejb.20.1680343088041; Sat, 01 Apr 2023 02:58:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680343088; cv=none; d=google.com; s=arc-20160816; b=rQQDho0O1nAf62E4bkI53C1HnQF17ap92g5ZT7WuWYAm/GXw/MuRvsUQwssURRwSVb Boj/koGRIAhpYh732pwWytQoW1pBCX/QXjqn+6hOtaOL3GAjdL5IDSx/pWk7O6ZYHSLY BJ5DRdifDjhXF6zCUufFovMkjIXLSXr18vZVQTInB9XM7Q4wpkutd36PM0nZShNEy7kT pMJi5Y5adc9A0BcF1IAP2uWbbNwa2cQdvBJPJfVhivSRLRfQPfd2d6xIBV5O7Od3Ik0W vjd79CHYqEx+hUAX/RH1I4GQ83PtVoxU2v2yoqZ9Q6rFtBJff07kGky5pAVUDkBLNB86 txxA== 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=bmr8qRosdUVJIODB3pK1C6VBNRNC7kjptVb31WUl37Y=; b=LEZIFYOKpw/L2R1bGrssibpdu9EurhpnPIR/msBmVTXCtIYltXbGdjLFcFBWXjQLpY LpyKwCVxiIDA8mGZliB04kzYxXORLxGgp6CWN7xZ6mhPLp6/mjPeiV8V88Ov3DIlua68 F6ZrI4y2Pi5WhFO3RGW5f3c2Zujhq3mCbg/scz3QirAXS75tTG6hIAAMJ+3AQwTjDruV X6Y3z4YmzKC3sF+kIkWzU5cijz2FPvP92e9CIieVVu781Y0OSNWj90OJXatD/+XO1mL3 M0mpz76VbAVLVgPXszVAr5Z0mrtVIKA71Ac0JwPdUOEOzfcRDjCJhbh8zQizOLKTkIKU bCMQ== 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 a20-20020a170906685400b009394bed261dsi3516083ejs.107.2023.04.01.02.57.42; Sat, 01 Apr 2023 02:58:08 -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 S229678AbjDAJir (ORCPT + 99 others); Sat, 1 Apr 2023 05:38:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53858 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229462AbjDAJiq (ORCPT ); Sat, 1 Apr 2023 05:38:46 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E82F63A97; Sat, 1 Apr 2023 02:38:41 -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 07E71106F; Sat, 1 Apr 2023 02:39:26 -0700 (PDT) Received: from [10.57.54.53] (unknown [10.57.54.53]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E43D53F73F; Sat, 1 Apr 2023 02:38:38 -0700 (PDT) Message-ID: <4660d44b-a53c-7323-0e0b-2a285e1a8c76@arm.com> Date: Sat, 1 Apr 2023 10:38:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH V2 3/5] coresight: etm4x: Drop pid argument from etm4_probe() To: scclevenger@os.amperecomputing.com, Anshuman Khandual , linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org Cc: Rob Herring , Frank Rowand , Russell King , Greg Kroah-Hartman , "Rafael J. Wysocki" , Len Brown , Sudeep Holla , Lorenzo Pieralisi , Mathieu Poirier , Mike Leach , Leo Yan , devicetree@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org References: <20230327050537.30861-1-anshuman.khandual@arm.com> <20230327050537.30861-4-anshuman.khandual@arm.com> From: Suzuki K Poulose In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.3 required=5.0 tests=NICE_REPLY_A, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE autolearn=unavailable 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 31/03/2023 22:24, Steve Clevenger wrote: > > > On 3/31/2023 4:06 AM, Suzuki K Poulose wrote: >> On 27/03/2023 06:05, Anshuman Khandual wrote: >>> Coresight device pid can be retrieved from its iomem base address, >>> which is >>> stored in 'struct etm4x_drvdata'. This drops pid argument from >>> etm4_probe() >>> and 'struct etm4_init_arg'. Instead etm4_check_arch_features() derives >>> the >>> coresight device pid with a new helper coresight_get_pid(), right >>> before it >>> is consumed in etm4_hisi_match_pid(). >>> >>> Cc: Mathieu Poirier >>> Cc: Suzuki K Poulose >>> Cc: Mike Leach >>> Cc: Leo Yan >>> Cc: coresight@lists.linaro.org >>> Cc: linux-arm-kernel@lists.infradead.org >>> Cc: linux-kernel@vger.kernel.org >>> Signed-off-by: Anshuman Khandual >>> --- >>>   .../coresight/coresight-etm4x-core.c          | 21 +++++++------------ >>>   include/linux/coresight.h                     | 12 +++++++++++ >>>   2 files changed, 20 insertions(+), 13 deletions(-) >>> >>> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c >>> b/drivers/hwtracing/coresight/coresight-etm4x-core.c >>> index 5d77571a8df9..3521838ab4fb 100644 >>> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c >>> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c >>> @@ -66,7 +66,6 @@ static u64 etm4_get_access_type(struct etmv4_config >>> *config); >>>   static enum cpuhp_state hp_online; >>>     struct etm4_init_arg { >>> -    unsigned int        pid; >>>       struct device        *dev; >>>       struct csdev_access    *csa; >>>   }; >>> @@ -370,8 +369,10 @@ static void etm4_disable_arch_specific(struct >>> etmv4_drvdata *drvdata) >>>   } >>>     static void etm4_check_arch_features(struct etmv4_drvdata *drvdata, >>> -                      unsigned int id) >>> +                     struct csdev_access *csa) >>>   { >>> +    unsigned int id = coresight_get_pid(csa); >>> + >> >> This throws up the following error on an ETE. >> >> ete: trying to read unsupported register @fe0 >> >> So, I guess this must be performed only for iomem based >> devices. System instruction based device must be identified >> by MIDR_EL1/REVIDR_EL1 if needed for specific erratum. >> This is not required now. So, we could bail out early >> if we are system instruction based device. > > Besides this, the PID is limited to (I think) 4 bits of ID. TRCIDRs > offer revision information, but nothing manufacturer specific save for > the designer. Register fields like MIDR_EL1 Variant + PartNum + Revision > and TRCPIDR3 REVAND offer help. It may be a combination of registers are > needed for a manufacturer to adequately ID a part to apply an erratum. > Perhaps you could at least cache MIDR_EL1 for possible future use? Like I said, if we ever need them, we could add it. I don't see a point in storing it right now, if we don't use it. Suzuki