All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/15] Make ETM register accesses consistent with sysreg.h
@ 2022-03-04 17:18 ` James Clark
  0 siblings, 0 replies; 76+ messages in thread
From: James Clark @ 2022-03-04 17:18 UTC (permalink / raw)
  To: suzuki.poulose, coresight, mike.leach, anshuman.khandual
  Cc: mathieu.poirier, leo.yan, James Clark, Leo Yan, linux-arm-kernel,
	linux-kernel

Changes since v2:
 * Implement Mike's suggestion of not having _SHIFT and using the existing
   FIELD_GET and FIELD_PREP methods.
 * Dropped the change to add the new REG_VAL macro because of the above.
 * FIELD_PREP could be used in some trivial cases, but in some cases the
   shift is still required but can be calculated with __bf_shf
 * Improved the commit messages.
 * The change is still binary equivalent, but requires an extra step 
   mentioned at the end of this cover letter.

Applies to coresight/next 3619ee28488
Also available at https://gitlab.arm.com/linux-arm/linux-jc/-/tree/james-cs-register-refactor-v3

To check for binary equivalence follow the same steps in the cover letter
of v2, but apply the following change to coresight-priv.h. This is because
the existing version of the macros wrap the expression in a new scope {}
that flips something in the compiler:

  #undef FIELD_GET
  #define FIELD_GET(_mask, _reg) (((_reg) & (_mask)) >> __bf_shf(_mask))
  #undef FIELD_PREP
  #define FIELD_PREP(_mask, _val) (((_val) << __bf_shf(_mask)) & (_mask))

Thanks
James

James Clark (15):
  coresight: etm4x: Cleanup TRCIDR0 register accesses
  coresight: etm4x: Cleanup TRCIDR2 register accesses
  coresight: etm4x: Cleanup TRCIDR3 register accesses
  coresight: etm4x: Cleanup TRCIDR4 register accesses
  coresight: etm4x: Cleanup TRCIDR5 register accesses
  coresight: etm4x: Cleanup TRCCONFIGR register accesses
  coresight: etm4x: Cleanup TRCEVENTCTL1R register accesses
  coresight: etm4x: Cleanup TRCSTALLCTLR register accesses
  coresight: etm4x: Cleanup TRCVICTLR register accesses
  coresight: etm3x: Cleanup ETMTECR1 register accesses
  coresight: etm4x: Cleanup TRCACATRn register accesses
  coresight: etm4x: Cleanup TRCSSCCRn and TRCSSCSRn register accesses
  coresight: etm4x: Cleanup TRCSSPCICRn register accesses
  coresight: etm4x: Cleanup TRCBBCTLR register accesses
  coresight: etm4x: Cleanup TRCRSCTLRn register accesses

 .../coresight/coresight-etm3x-core.c          |   2 +-
 .../coresight/coresight-etm3x-sysfs.c         |   2 +-
 .../coresight/coresight-etm4x-core.c          | 136 +++++--------
 .../coresight/coresight-etm4x-sysfs.c         | 180 +++++++++---------
 drivers/hwtracing/coresight/coresight-etm4x.h | 122 ++++++++++--
 5 files changed, 244 insertions(+), 198 deletions(-)

-- 
2.28.0


^ permalink raw reply	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2022-04-14  9:03 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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.