Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp553234rwd; Wed, 7 Jun 2023 03:59:01 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7O8HsxpgfAi/9NhJtadM11qfxt8XzqsbYpfacxhV+8Vy3EWpO8jqrGGcTiYiAEOpktCaUc X-Received: by 2002:a05:6870:8445:b0:19e:bf9a:c511 with SMTP id n5-20020a056870844500b0019ebf9ac511mr3025669oak.46.1686135541419; Wed, 07 Jun 2023 03:59:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686135541; cv=none; d=google.com; s=arc-20160816; b=Z2+tiz/BJ1+Fbf8slr9ZthveY19iOYAh9qnFkAgN5gI183IRU2OZ4b53gbtA9lyLx8 IvnZI998PJn5OynXlEzODojavXu5XoxNtG5S2tcxDk1qFOpA7wxiMjR+o/RM/PWnrVLr XwSUAOA5ianfDjL7/NxBYWfNNat0jPuUgqS2VaTTIeZxXLAp2Qpp2bL0k5gxYYPp39ms 2HnM0onEbCFBteucANN6H95zEYynpXqEgBCeOtMtev7IGJlIkHQfclKUAf1hMPsXct34 mjRo2QeinU/d2CgBxlolnVB76pfQ8roZcqWchVRrgIAyiBe2ZJAyPqAv7bmK8CipmDeO KyDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=dIVOmSfiAxNQnZtiT/RJR0F2pGN7zpHL20gWDVh0IKQ=; b=v7Vwizz2faTAQ6dXK5Ifk8ZWkuWOAE758Usc5JJXKVJoaTuIhfD4q5Dj1BOMJsVpju JKYdy/efVSwwJM/m9McAkKkzBlKMgM22izOLMtq70TmakENIs9CU+uxt3oWbx5N/doxC EQHVX2LiysjWJt62cWyIkhTB6xrX+P8MZiWvGKlx6DTtyLk6XfhF2V8iBnbcEiOL3BiC rFtbO2IwTAchkkwF0kb4MTbmhTjmP+50DbE6d8q4jnPfOYwbmoCpteLPN+4ndmA8lKqO piu6sDhebqjNPnYB9Ly8/hr7C7RoQ+EIJCj48Lq230Lxx/WOHVDGiWtXC6qjO+JsBVrz EypA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DXNE6u2n; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b22-20020a637156000000b0053422305c20si9026111pgn.14.2023.06.07.03.58.49; Wed, 07 Jun 2023 03:59:01 -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; dkim=pass header.i=@linaro.org header.s=google header.b=DXNE6u2n; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238399AbjFGKns (ORCPT + 99 others); Wed, 7 Jun 2023 06:43:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55120 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233982AbjFGKnq (ORCPT ); Wed, 7 Jun 2023 06:43:46 -0400 Received: from mail-yw1-x1136.google.com (mail-yw1-x1136.google.com [IPv6:2607:f8b0:4864:20::1136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7011B1BDC for ; Wed, 7 Jun 2023 03:43:45 -0700 (PDT) Received: by mail-yw1-x1136.google.com with SMTP id 00721157ae682-56974f42224so67583587b3.1 for ; Wed, 07 Jun 2023 03:43:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1686134624; x=1688726624; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=dIVOmSfiAxNQnZtiT/RJR0F2pGN7zpHL20gWDVh0IKQ=; b=DXNE6u2n3h/qryUePfFmk5H6iT9uzIO5BuDZ6XBSfsXRkGfZhwRvUYmCTikhu99JXG bgnevo2SdKk6aIj+lZ8+GGEEMv3qBPJuBZqwLbe8UMIdbk9KRJcsDvInzJmAY8Igqop5 yafAhDgPwVSTJ/FV/+uNX0mWkVvWKh8m3G+azKfeac7gMukLEUS3JN3kxHBUP3uAlQUG lBEwBp1ztxnk5Lirknev0kHP5UF1gXKp9meVHGLFWOxIwW6RKX7VMVpn0uwxOVDMXg5R 9SkoOFXmoRV4/mFHpiB1pQp4Dw2QXcfTWIspBomNl5k890iWPRzV90sNJUPmFtfpPM7i L30Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686134624; x=1688726624; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=dIVOmSfiAxNQnZtiT/RJR0F2pGN7zpHL20gWDVh0IKQ=; b=EGM5LzfqeUzClb0RbxX39ut9KCULyG/5iYWkq04PVsKMmWcKcSDeJ8pEgXXONHTw6T U7bsJM19/dDS7/LApbObsSY9U0hu8Fwl6EakCPPUqCDFTvRYAWjkAmwM5t/FZwhE5MZN f2vRwGbqa2U5eeoFf6RIaZ2h7Mib6oLQLBd7hM6XmY3ZiJb8ZCX6O/a+oyN5u7hPG9La fkfFhigtPJW/z1XCjE/NMyb17Gj4E53LPIiIHqdaUslPP1z1NOvNCzbpNbf3uGQrOl4k +GKGIxYdiwH//B4eCsVlzecQd8uc/PrMa2bVBhrpFn/Tru96sI4QFdBJ0VNA/T+iDzXB UQXg== X-Gm-Message-State: AC+VfDxpYA4vB3YMHC/otkRJEAHCljzerZpZDwyJHjaQc+8GRCZHVC1X ZvFxE5HvzCoolqTfavfnGMVAXZjWQHtVWFwRGNPm+w== X-Received: by 2002:a25:4e43:0:b0:bab:cd90:87be with SMTP id c64-20020a254e43000000b00babcd9087bemr5366896ybb.51.1686134624597; Wed, 07 Jun 2023 03:43:44 -0700 (PDT) MIME-Version: 1.0 References: <20230605133031.1827626-1-suzuki.poulose@arm.com> In-Reply-To: <20230605133031.1827626-1-suzuki.poulose@arm.com> From: Mike Leach Date: Wed, 7 Jun 2023 11:43:33 +0100 Message-ID: Subject: Re: [PATCH] coresight: etm4x: Match all ETM4 instances based on DEVARCH and DEVTYPE To: Suzuki K Poulose Cc: coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Anshuman Khandual , Rob Herring , frowand.list@gmail.com, linux@armlinux.org.uk Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 Mon, 5 Jun 2023 at 14:30, Suzuki K Poulose wrote: > > Instead of adding the PIDs forever to the list for the new CPUs, let us detect > a component to be ETMv4 based on the CoreSight CID, DEVTYPE=PE_TRACE and > DEVARCH=ETMv4. This is already done for some of the ETMs. We can extend the PID > matching to match the PIDR2:JEDEC, BIT[3], which must be 1 (RA0) always. > > Link: https://lkml.kernel.org/r/20230317030501.1811905-1-anshuman.khandual@arm.com > Cc: Anshuman Khandual > Cc: Rob Herring > Cc: frowand.list@gmail.com > Cc: linux@armlinux.org.uk > Cc: Mike Leach > Signed-off-by: Suzuki K Poulose > --- > .../coresight/coresight-etm4x-core.c | 5 +++++ > drivers/hwtracing/coresight/coresight-priv.h | 19 +++++++++++++++++-- > 2 files changed, 22 insertions(+), 2 deletions(-) > > diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c > index 4c15fae534f3..8a2e24d5686a 100644 > --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c > +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c > @@ -2260,6 +2260,11 @@ static const struct amba_id etm4_ids[] = { > CS_AMBA_UCI_ID(0x000cc0af, uci_id_etm4),/* Marvell ThunderX2 */ > CS_AMBA_UCI_ID(0x000b6d01, uci_id_etm4),/* HiSilicon-Hip08 */ > CS_AMBA_UCI_ID(0x000b6d02, uci_id_etm4),/* HiSilicon-Hip09 */ > + /* > + * Match all PIDs with ETM4 DEVARCH. No need for adding any of the new > + * CPUs to the list here. > + */ > + CS_AMBA_MATCH_ALL_UCI(uci_id_etm4), > {}, > }; > > diff --git a/drivers/hwtracing/coresight/coresight-priv.h b/drivers/hwtracing/coresight/coresight-priv.h > index 595ce5862056..72ec36c9232c 100644 > --- a/drivers/hwtracing/coresight/coresight-priv.h > +++ b/drivers/hwtracing/coresight/coresight-priv.h > @@ -193,12 +193,27 @@ extern void coresight_remove_cti_ops(void); > } > > /* coresight AMBA ID, full UCI structure: id table entry. */ > -#define CS_AMBA_UCI_ID(pid, uci_ptr) \ > +#define __CS_AMBA_UCI_ID(pid, m, uci_ptr) \ > { \ > .id = pid, \ > - .mask = 0x000fffff, \ > + .mask = m, \ > .data = (void *)uci_ptr \ > } > +#define CS_AMBA_UCI_ID(pid, uci) __CS_AMBA_UCI_ID(pid, 0x000fffff, uci) > +/* > + * PIDR2[JEDEC], BIT(3) must be 1 (Read As One) to indicate that rest of the > + * PIDR1, PIDR2 DES_* fields follow JEDEC encoding for the designer. Use that > + * as a match value for blanket matching all devices in the given CoreSight > + * device type and architecture. > + */ > +#define PIDR2_JEDEC BIT(3) > +#define PID_PIDR2_JEDEC (PIDR2_JEDEC << 16) > +/* > + * Match all PIDs in a given CoreSight device type and architecture, defined > + * by the uci. > + */ > +#define CS_AMBA_MATCH_ALL_UCI(uci) \ > + __CS_AMBA_UCI_ID(PID_PIDR2_JEDEC, PID_PIDR2_JEDEC, uci) > > /* extract the data value from a UCI structure given amba_id pointer. */ > static inline void *coresight_get_uci_data(const struct amba_id *id) > -- > 2.34.1 > Reviewed by:- Mike Leach -- Mike Leach Principal Engineer, ARM Ltd. Manchester Design Centre. UK