hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/hwtracing/coresight/coresight-etm4x.h
....@@ -668,14 +668,12 @@
668668 * TRCDEVARCH - CoreSight architected register
669669 * - Bits[15:12] - Major version
670670 * - Bits[19:16] - Minor version
671
- * TRCIDR1 - ETM architected register
672
- * - Bits[11:8] - Major version
673
- * - Bits[7:4] - Minor version
674
- * We must rely on TRCDEVARCH for the version information,
675
- * however we don't want to break the support for potential
676
- * old implementations which might not implement it. Thus
677
- * we fall back to TRCIDR1 if TRCDEVARCH is not implemented
678
- * for memory mapped components.
671
+ *
672
+ * We must rely only on TRCDEVARCH for the version information. Even though,
673
+ * TRCIDR1 also provides the architecture version, it is a "Trace" register
674
+ * and as such must be accessed only with Trace power domain ON. This may
675
+ * not be available at probe time.
676
+ *
679677 * Now to make certain decisions easier based on the version
680678 * we use an internal representation of the version in the
681679 * driver, as follows :
....@@ -699,12 +697,6 @@
699697 {
700698 return ETM_ARCH_VERSION(ETM_DEVARCH_ARCHID_ARCH_VER(devarch),
701699 ETM_DEVARCH_REVISION(devarch));
702
-}
703
-
704
-static inline u8 etm_trcidr_to_arch(u32 trcidr1)
705
-{
706
- return ETM_ARCH_VERSION(ETM_TRCIDR1_ARCH_MAJOR(trcidr1),
707
- ETM_TRCIDR1_ARCH_MINOR(trcidr1));
708700 }
709701
710702 enum etm_impdef_type {