.../bindings/arm/qcom,coresight-tpdm.yaml | 23 ++- arch/arm64/boot/dts/qcom/lemans.dtsi | 105 +++++++++++++ drivers/hwtracing/coresight/coresight-tpda.c | 7 - drivers/hwtracing/coresight/coresight-tpdm.c | 174 +++++++++++++++++---- drivers/hwtracing/coresight/coresight-tpdm.h | 12 ++ 5 files changed, 279 insertions(+), 42 deletions(-)
The static TPDM function as a dummy source, however, it is essential
to enable the port connected to the TPDA and configure the element size.
Without this, the TPDA cannot correctly receive trace data from the
static TPDM. Since the static TPDM does not require MMIO mapping to
access its registers, a clock controller is not mandatory for its
operation.
Meanwhile, a function has been introduced to determine whether the
current csdev is a static TPDM. This check enables the TPDA device
to correctly read the element size and activate its port accordingly.
Otherwise the TPDA cannot receive the trace data from the TPDM device.
Changes in V4:
1. decouple from tpda driver code.
2. Introduce a new solution to identify static TPDM.
Link to V3 - https://lore.kernel.org/all/20251013-add-static-tpdm-support-v3-0-a720b73e83db@oss.qualcomm.com/
Changes in V3:
1. rebased on next-20251010
Link to V2 - https://lore.kernel.org/all/20250911-add_static_tpdm_support-v2-0-608559d36f74@oss.qualcomm.com/
Changes in V2:
1. Remove the dependency.
2. Collect tags from Rob and Konard for patchset 1 and patchset 3.
Link to V1 - https://lore.kernel.org/all/20250822103008.1029-1-jie.gan@oss.qualcomm.com/
Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
---
Jie Gan (3):
dt-bindings: arm: document the static TPDM compatible
coresight: tpdm: add static tpdm support
arm64: dts: qcom: lemans: enable static TPDM
.../bindings/arm/qcom,coresight-tpdm.yaml | 23 ++-
arch/arm64/boot/dts/qcom/lemans.dtsi | 105 +++++++++++++
drivers/hwtracing/coresight/coresight-tpda.c | 7 -
drivers/hwtracing/coresight/coresight-tpdm.c | 174 +++++++++++++++++----
drivers/hwtracing/coresight/coresight-tpdm.h | 12 ++
5 files changed, 279 insertions(+), 42 deletions(-)
---
base-commit: f7d2388eeec24966fc4d5cf32d706f0514f29ac5
change-id: 20251028-add_static_tpdm_support-1f62477857e2
Best regards,
--
Jie Gan <jie.gan@oss.qualcomm.com>
On Tue, 28 Oct 2025 18:11:39 +0800, Jie Gan wrote:
> The static TPDM function as a dummy source, however, it is essential
> to enable the port connected to the TPDA and configure the element size.
> Without this, the TPDA cannot correctly receive trace data from the
> static TPDM. Since the static TPDM does not require MMIO mapping to
> access its registers, a clock controller is not mandatory for its
> operation.
>
> [...]
Applied, thanks!
[1/3] dt-bindings: arm: document the static TPDM compatible
https://git.kernel.org/coresight/c/8d204b6f1f7a
[2/3] coresight: tpdm: add static tpdm support
https://git.kernel.org/coresight/c/14ae052f7947
Best regards,
--
Suzuki K Poulose <suzuki.poulose@arm.com>
On 10/28/2025 6:11 PM, Jie Gan wrote: > The static TPDM function as a dummy source, however, it is essential > to enable the port connected to the TPDA and configure the element size. > Without this, the TPDA cannot correctly receive trace data from the > static TPDM. Since the static TPDM does not require MMIO mapping to > access its registers, a clock controller is not mandatory for its > operation. > > Meanwhile, a function has been introduced to determine whether the > current csdev is a static TPDM. This check enables the TPDA device > to correctly read the element size and activate its port accordingly. > Otherwise the TPDA cannot receive the trace data from the TPDM device. > Gentle reminder. > Changes in V4: > 1. decouple from tpda driver code. > 2. Introduce a new solution to identify static TPDM. > Link to V3 - https://lore.kernel.org/all/20251013-add-static-tpdm-support-v3-0-a720b73e83db@oss.qualcomm.com/ > > Changes in V3: > 1. rebased on next-20251010 > Link to V2 - https://lore.kernel.org/all/20250911-add_static_tpdm_support-v2-0-608559d36f74@oss.qualcomm.com/ > > Changes in V2: > 1. Remove the dependency. > 2. Collect tags from Rob and Konard for patchset 1 and patchset 3. > Link to V1 - https://lore.kernel.org/all/20250822103008.1029-1-jie.gan@oss.qualcomm.com/ > > Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com> > --- > Jie Gan (3): > dt-bindings: arm: document the static TPDM compatible > coresight: tpdm: add static tpdm support > arm64: dts: qcom: lemans: enable static TPDM > > .../bindings/arm/qcom,coresight-tpdm.yaml | 23 ++- > arch/arm64/boot/dts/qcom/lemans.dtsi | 105 +++++++++++++ > drivers/hwtracing/coresight/coresight-tpda.c | 7 - > drivers/hwtracing/coresight/coresight-tpdm.c | 174 +++++++++++++++++---- > drivers/hwtracing/coresight/coresight-tpdm.h | 12 ++ > 5 files changed, 279 insertions(+), 42 deletions(-) > --- > base-commit: f7d2388eeec24966fc4d5cf32d706f0514f29ac5 > change-id: 20251028-add_static_tpdm_support-1f62477857e2 > > Best regards,
On Tue, 28 Oct 2025 18:11:39 +0800, Jie Gan wrote:
> The static TPDM function as a dummy source, however, it is essential
> to enable the port connected to the TPDA and configure the element size.
> Without this, the TPDA cannot correctly receive trace data from the
> static TPDM. Since the static TPDM does not require MMIO mapping to
> access its registers, a clock controller is not mandatory for its
> operation.
>
> [...]
Applied, thanks!
[3/3] arm64: dts: qcom: lemans: enable static TPDM
commit: a91b64f55d0697cfa554a1c112479d66db6b0ed4
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
© 2016 - 2026 Red Hat, Inc.