All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Leach <mike.leach@linaro.org>
To: James Clark <James.Clark@arm.com>
Cc: suzuki.poulose@arm.com, coresight@lists.linaro.org,
	 Anshuman.Khandual@arm.com, mathieu.poirier@linaro.org,
	leo.yan@linaro.com,  Leo Yan <leo.yan@linaro.org>,
	linux-arm-kernel@lists.infradead.org,
	 linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 05/15] coresight: etm4x: Cleanup TRCIDR5 register accesses
Date: Tue, 12 Apr 2022 09:41:59 +0100	[thread overview]
Message-ID: <CAJ9a7VjvgEcQPngSwe5OKSjreeMwT_rNcTod31azfdYbLZCRgg@mail.gmail.com> (raw)
In-Reply-To: <20220304171913.2292458-6-james.clark@arm.com>

On Fri, 4 Mar 2022 at 17:19, James Clark <james.clark@arm.com> wrote:
>
> This is a no-op change for style and consistency and has no effect on
> the binary output by the compiler. In sysreg.h fields are defined as
> the register name followed by the field name and then _MASK. This
> allows for grepping for fields by name rather than using magic numbers.
>
> Signed-off-by: James Clark <james.clark@arm.com>
> ---
>  .../hwtracing/coresight/coresight-etm4x-core.c | 18 ++++++------------
>  drivers/hwtracing/coresight/coresight-etm4x.h  |  7 +++++++
>  2 files changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> index c52ab7f29f41..3f4263117570 100644
> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> @@ -1188,26 +1188,20 @@ static void etm4_init_arch_data(void *info)
>
>         etmidr5 = etm4x_relaxed_read32(csa, TRCIDR5);
>         /* NUMEXTIN, bits[8:0] number of external inputs implemented */
> -       drvdata->nr_ext_inp = BMVAL(etmidr5, 0, 8);
> +       drvdata->nr_ext_inp = FIELD_GET(TRCIDR5_NUMEXTIN_MASK, etmidr5);
>         /* TRACEIDSIZE, bits[21:16] indicates the trace ID width */
> -       drvdata->trcid_size = BMVAL(etmidr5, 16, 21);
> +       drvdata->trcid_size = FIELD_GET(TRCIDR5_TRACEIDSIZE_MASK, etmidr5);
>         /* ATBTRIG, bit[22] implementation can support ATB triggers? */
> -       if (BMVAL(etmidr5, 22, 22))
> -               drvdata->atbtrig = true;
> -       else
> -               drvdata->atbtrig = false;
> +       drvdata->atbtrig = !!(etmidr5 & TRCIDR5_ATBTRIG);
>         /*
>          * LPOVERRIDE, bit[23] implementation supports
>          * low-power state override
>          */
> -       if (BMVAL(etmidr5, 23, 23) && (!drvdata->skip_power_up))
> -               drvdata->lpoverride = true;
> -       else
> -               drvdata->lpoverride = false;
> +       drvdata->lpoverride = (etmidr5 & TRCIDR5_LPOVERRIDE) && (!drvdata->skip_power_up);
>         /* NUMSEQSTATE, bits[27:25] number of sequencer states implemented */
> -       drvdata->nrseqstate = BMVAL(etmidr5, 25, 27);
> +       drvdata->nrseqstate = FIELD_GET(TRCIDR5_NUMSEQSTATE_MASK, etmidr5);
>         /* NUMCNTR, bits[30:28] number of counters available for tracing */
> -       drvdata->nr_cntr = BMVAL(etmidr5, 28, 30);
> +       drvdata->nr_cntr = FIELD_GET(TRCIDR5_NUMCNTR_MASK, etmidr5);
>         etm4_cs_lock(drvdata, csa);
>         cpu_detect_trace_filtering(drvdata);
>  }
> diff --git a/drivers/hwtracing/coresight/coresight-etm4x.h b/drivers/hwtracing/coresight/coresight-etm4x.h
> index c9c5fd655196..3b604cde668b 100644
> --- a/drivers/hwtracing/coresight/coresight-etm4x.h
> +++ b/drivers/hwtracing/coresight/coresight-etm4x.h
> @@ -165,6 +165,13 @@
>  #define TRCIDR4_NUMCIDC_MASK                   GENMASK(27, 24)
>  #define TRCIDR4_NUMVMIDC_MASK                  GENMASK(31, 28)
>
> +#define TRCIDR5_NUMEXTIN_MASK                  GENMASK(8, 0)
> +#define TRCIDR5_TRACEIDSIZE_MASK               GENMASK(21, 16)
> +#define TRCIDR5_ATBTRIG                                BIT(22)
> +#define TRCIDR5_LPOVERRIDE                     BIT(23)
> +#define TRCIDR5_NUMSEQSTATE_MASK               GENMASK(27, 25)
> +#define TRCIDR5_NUMCNTR_MASK                   GENMASK(30, 28)
> +
>  /*
>   * System instructions to access ETM registers.
>   * See ETMv4.4 spec ARM IHI0064F section 4.3.6 System instructions
> --
> 2.28.0
>


Reviewed-by: Mike Leach <mike.leach@linaro.org>
-- 
Mike Leach
Principal Engineer, ARM Ltd.
Manchester Design Centre. UK

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Mike Leach <mike.leach@linaro.org>
To: James Clark <James.Clark@arm.com>
Cc: suzuki.poulose@arm.com, coresight@lists.linaro.org,
	Anshuman.Khandual@arm.com, mathieu.poirier@linaro.org,
	leo.yan@linaro.com, Leo Yan <leo.yan@linaro.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 05/15] coresight: etm4x: Cleanup TRCIDR5 register accesses
Date: Tue, 12 Apr 2022 09:41:59 +0100	[thread overview]
Message-ID: <CAJ9a7VjvgEcQPngSwe5OKSjreeMwT_rNcTod31azfdYbLZCRgg@mail.gmail.com> (raw)
In-Reply-To: <20220304171913.2292458-6-james.clark@arm.com>

On Fri, 4 Mar 2022 at 17:19, James Clark <james.clark@arm.com> wrote:
>
> This is a no-op change for style and consistency and has no effect on
> the binary output by the compiler. In sysreg.h fields are defined as
> the register name followed by the field name and then _MASK. This
> allows for grepping for fields by name rather than using magic numbers.
>
> Signed-off-by: James Clark <james.clark@arm.com>
> ---
>  .../hwtracing/coresight/coresight-etm4x-core.c | 18 ++++++------------
>  drivers/hwtracing/coresight/coresight-etm4x.h  |  7 +++++++
>  2 files changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> index c52ab7f29f41..3f4263117570 100644
> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> @@ -1188,26 +1188,20 @@ static void etm4_init_arch_data(void *info)
>
>         etmidr5 = etm4x_relaxed_read32(csa, TRCIDR5);
>         /* NUMEXTIN, bits[8:0] number of external inputs implemented */
> -       drvdata->nr_ext_inp = BMVAL(etmidr5, 0, 8);
> +       drvdata->nr_ext_inp = FIELD_GET(TRCIDR5_NUMEXTIN_MASK, etmidr5);
>         /* TRACEIDSIZE, bits[21:16] indicates the trace ID width */
> -       drvdata->trcid_size = BMVAL(etmidr5, 16, 21);
> +       drvdata->trcid_size = FIELD_GET(TRCIDR5_TRACEIDSIZE_MASK, etmidr5);
>         /* ATBTRIG, bit[22] implementation can support ATB triggers? */
> -       if (BMVAL(etmidr5, 22, 22))
> -               drvdata->atbtrig = true;
> -       else
> -               drvdata->atbtrig = false;
> +       drvdata->atbtrig = !!(etmidr5 & TRCIDR5_ATBTRIG);
>         /*
>          * LPOVERRIDE, bit[23] implementation supports
>          * low-power state override
>          */
> -       if (BMVAL(etmidr5, 23, 23) && (!drvdata->skip_power_up))
> -               drvdata->lpoverride = true;
> -       else
> -               drvdata->lpoverride = false;
> +       drvdata->lpoverride = (etmidr5 & TRCIDR5_LPOVERRIDE) && (!drvdata->skip_power_up);
>         /* NUMSEQSTATE, bits[27:25] number of sequencer states implemented */
> -       drvdata->nrseqstate = BMVAL(etmidr5, 25, 27);
> +       drvdata->nrseqstate = FIELD_GET(TRCIDR5_NUMSEQSTATE_MASK, etmidr5);
>         /* NUMCNTR, bits[30:28] number of counters available for tracing */
> -       drvdata->nr_cntr = BMVAL(etmidr5, 28, 30);
> +       drvdata->nr_cntr = FIELD_GET(TRCIDR5_NUMCNTR_MASK, etmidr5);
>         etm4_cs_lock(drvdata, csa);
>         cpu_detect_trace_filtering(drvdata);
>  }
> diff --git a/drivers/hwtracing/coresight/coresight-etm4x.h b/drivers/hwtracing/coresight/coresight-etm4x.h
> index c9c5fd655196..3b604cde668b 100644
> --- a/drivers/hwtracing/coresight/coresight-etm4x.h
> +++ b/drivers/hwtracing/coresight/coresight-etm4x.h
> @@ -165,6 +165,13 @@
>  #define TRCIDR4_NUMCIDC_MASK                   GENMASK(27, 24)
>  #define TRCIDR4_NUMVMIDC_MASK                  GENMASK(31, 28)
>
> +#define TRCIDR5_NUMEXTIN_MASK                  GENMASK(8, 0)
> +#define TRCIDR5_TRACEIDSIZE_MASK               GENMASK(21, 16)
> +#define TRCIDR5_ATBTRIG                                BIT(22)
> +#define TRCIDR5_LPOVERRIDE                     BIT(23)
> +#define TRCIDR5_NUMSEQSTATE_MASK               GENMASK(27, 25)
> +#define TRCIDR5_NUMCNTR_MASK                   GENMASK(30, 28)
> +
>  /*
>   * System instructions to access ETM registers.
>   * See ETMv4.4 spec ARM IHI0064F section 4.3.6 System instructions
> --
> 2.28.0
>


Reviewed-by: Mike Leach <mike.leach@linaro.org>
-- 
Mike Leach
Principal Engineer, ARM Ltd.
Manchester Design Centre. UK

  reply	other threads:[~2022-04-12  8:43 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-04 17:18 [PATCH v3 00/15] Make ETM register accesses consistent with sysreg.h James Clark
2022-03-04 17:18 ` James Clark
2022-03-04 17:18 ` [PATCH v3 01/15] coresight: etm4x: Cleanup TRCIDR0 register accesses James Clark
2022-03-04 17:18   ` James Clark
2022-04-12  8:28   ` Mike Leach
2022-04-12  8:28     ` Mike Leach
2022-03-04 17:18 ` [PATCH v3 02/15] coresight: etm4x: Cleanup TRCIDR2 " James Clark
2022-03-04 17:18   ` James Clark
2022-04-12  8:30   ` Mike Leach
2022-04-12  8:30     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 03/15] coresight: etm4x: Cleanup TRCIDR3 " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12  8:34   ` Mike Leach
2022-04-12  8:34     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 04/15] coresight: etm4x: Cleanup TRCIDR4 " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12  8:37   ` Mike Leach
2022-04-12  8:37     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 05/15] coresight: etm4x: Cleanup TRCIDR5 " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12  8:41   ` Mike Leach [this message]
2022-04-12  8:41     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 06/15] coresight: etm4x: Cleanup TRCCONFIGR " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12  8:49   ` Mike Leach
2022-04-12  8:49     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 07/15] coresight: etm4x: Cleanup TRCEVENTCTL1R " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12  9:09   ` Mike Leach
2022-04-12  9:09     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 08/15] coresight: etm4x: Cleanup TRCSTALLCTLR " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12  9:18   ` Mike Leach
2022-04-12  9:18     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 09/15] coresight: etm4x: Cleanup TRCVICTLR " James Clark
2022-03-04 17:19   ` James Clark
2022-03-23 15:59   ` Mathieu Poirier
2022-03-23 15:59     ` Mathieu Poirier
2022-03-28 10:41     ` James Clark
2022-03-28 10:41       ` James Clark
2022-04-12 10:15       ` Mike Leach
2022-04-12 10:15         ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 10/15] coresight: etm3x: Cleanup ETMTECR1 " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12 10:17   ` Mike Leach
2022-04-12 10:17     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 11/15] coresight: etm4x: Cleanup TRCACATRn " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12 10:30   ` Mike Leach
2022-04-12 10:30     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 12/15] coresight: etm4x: Cleanup TRCSSCCRn and TRCSSCSRn " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12 10:32   ` Mike Leach
2022-04-12 10:32     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 13/15] coresight: etm4x: Cleanup TRCSSPCICRn " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12 10:39   ` Mike Leach
2022-04-12 10:39     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 14/15] coresight: etm4x: Cleanup TRCBBCTLR " James Clark
2022-03-04 17:19   ` James Clark
2022-04-12 10:41   ` Mike Leach
2022-04-12 10:41     ` Mike Leach
2022-03-04 17:19 ` [PATCH v3 15/15] coresight: etm4x: Cleanup TRCRSCTLRn " James Clark
2022-03-04 17:19   ` James Clark
2022-03-23 16:15   ` Mathieu Poirier
2022-03-23 16:15     ` Mathieu Poirier
2022-04-12 10:42     ` Mike Leach
2022-04-12 10:42       ` Mike Leach
2022-03-23 16:22 ` [PATCH v3 00/15] Make ETM register accesses consistent with sysreg.h Mathieu Poirier
2022-03-23 16:22   ` Mathieu Poirier
2022-03-28 10:41   ` James Clark
2022-03-28 10:41     ` James Clark
2022-04-13 17:08     ` Mathieu Poirier
2022-04-13 17:08       ` Mathieu Poirier
2022-04-14  8:57       ` James Clark
2022-04-14  8:57         ` James Clark

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJ9a7VjvgEcQPngSwe5OKSjreeMwT_rNcTod31azfdYbLZCRgg@mail.gmail.com \
    --to=mike.leach@linaro.org \
    --cc=Anshuman.Khandual@arm.com \
    --cc=James.Clark@arm.com \
    --cc=coresight@lists.linaro.org \
    --cc=leo.yan@linaro.com \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=suzuki.poulose@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.