Messages in this thread | | | Date | Fri, 29 Oct 2021 23:11:10 +0800 | From | Tao Zhang <> | Subject | Re: [PATCH 00/10] Add support for TPDM and TPDA |
| |
On Thu, Oct 28, 2021 at 11:16:15AM -0600, Mathieu Poirier wrote: > I have started to review this set. It is substantial in size and as such will > take me several days, most likely weeks. > > Did you run checkpatch before sending this set out? If so, any reason why there > are still errors? > > Thanks, > Mathieu > > On Thu, Oct 21, 2021 at 03:38:46PM +0800, Tao Zhang wrote: Hi Mathieu,
Sorry, Mathieu, I didn't run checkpatch script after adding DT binding docs to the patches. We will check the errors and fix them in the next version.
Thanks, Tao > > This series adds support for the trace performance monitoring and > > diagnostics hardware (TPDM and TPDA). It is composed of two major > > elements. > > a) Changes for original coresight framework to support for TPDM and TPDA. > > b) Add driver code for TPDM and TPDA. > > > > Introduction of changes for original coresight framework > > a) Support TPDM as new coresight source. > > Since only STM and ETM are supported as coresight source originally. > > TPDM is a newly added coresight source. We need to change > > the original way of saving coresight path to support more types source > > for coresight driver. > > The following patch is to add support more coresight sources. > > coresight: add support to enable more coresight paths > > > > b) To support multi-port input and multi-port output for funnels > > In some cases, different TPDM hardware will be connected to the same > > funnel, but eventually they need to be linked to different TPDAs or > > funnels. This requires funnel to support multi-port input and multi-port > > output, and can specify which input port corresponds to which output port. > > Use property ?label? in the funnel?s configuration to point out from > > which input port to which output port. > > The following patch is to support multi-port input and multi-port output > > for funnels. > > coresight: funnel: add support for multiple output ports > > > > Introduction of TPDM and TPDA > > TPDM - The trace performance monitoring and diagnostics monitor or TPDM in > > short serves as data collection component for various dataset types > > specified in the QPMDA(Qualcomm performance monitoring and diagnostics > > architecture) spec. The primary use case of the TPDM is to collect data > > from different data sources and send it to a TPDA for packetization, > > timestamping and funneling. > > The following patch is to add driver for TPDM. > > Coresight: Add driver to support Coresight device TPDM > > Coresight: Enable BC and GPR for TPDM driver > > Coresight: Add interface for TPDM BC subunit > > Coresight: Enable and add interface for TPDM TC subunit > > Coresight: Enable DSB subunit for TPDM > > Coresight: Enable CMB subunit for TPDM > > > > TPDA - The trace performance monitoring and diagnostics aggregator or > > TPDA in short serves as an arbitration and packetization engine for the > > performance monitoring and diagnostics network as specified in the QPMDA > > (Qualcomm performance monitoring and diagnostics architecture) > > specification. The primary use case of the TPDA is to provide > > packetization, funneling and timestamping of Monitor data as specified > > in the QPMDA specification. > > The following patch is to add driver for TPDA. > > coresight: Add driver to support Coresight device TPDA > > > > The last patch of this series is a device tree modification, which add > > the TPDM and TPDA configuration to device tree for validating. > > ARM: dts: msm: Add TPDA and TPDM configuration to device > > > > Once this series patches are applied properly, the tpdm and tpda nodes > > should be observed at the coresight path /sys/bus/coresight/devices > > e.g. > > /sys/bus/coresight/devices # ls -l | grep tpd > > tpda0 -> ../../../devices/platform/soc@0/6004000.tpda/tpda0 > > tpdm0 -> ../../../devices/platform/soc@0/6844000.lpass.tpdm/tpdm0 > > > > We can use the commands are similar to the below to validate TPDMs. > > Enable coresight sink first. > > echo 1 > /sys/bus/coresight/devices/tpdm0/enable_source > > echo 1 > /sys/bus/coresight/devices/tpdm0/integration_test > > echo 2 > /sys/bus/coresight/devices/tpdm0/integration_test > > The test data will be collected in the coresight sink which is enabled. > > > > This series applies to coresight/next > > https://git.kernel.org/pub/scm/linux/kernel/git/coresight/linux.git?h=next > > > > Tao Zhang (10): > > coresight: add support to enable more coresight paths > > coresight: funnel: add support for multiple output ports > > Coresight: Add driver to support Coresight device TPDM > > Coresight: Enable BC and GPR for TPDM driver > > Coresight: Add interface for TPDM BC subunit > > Coresight: Enable and add interface for TPDM TC subunit > > Coresight: Enable DSB subunit for TPDM > > Coresight: Enable CMB subunit for TPDM > > coresight: Add driver to support Coresight device TPDA > > ARM: dts: msm: Add TPDA and TPDM support to DTS for RB5 > > > > .../bindings/arm/coresight-tpda.yaml | 169 + > > .../bindings/arm/coresight-tpdm.yaml | 86 + > > MAINTAINERS | 6 + > > arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 439 ++ > > drivers/hwtracing/coresight/Kconfig | 18 + > > drivers/hwtracing/coresight/Makefile | 2 + > > drivers/hwtracing/coresight/coresight-core.c | 175 +- > > .../hwtracing/coresight/coresight-platform.c | 8 + > > drivers/hwtracing/coresight/coresight-tpda.c | 828 ++++ > > drivers/hwtracing/coresight/coresight-tpdm.c | 4253 +++++++++++++++++ > > include/linux/coresight.h | 2 + > > 11 files changed, 5928 insertions(+), 58 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/arm/coresight-tpda.yaml > > create mode 100644 Documentation/devicetree/bindings/arm/coresight-tpdm.yaml > > create mode 100644 drivers/hwtracing/coresight/coresight-tpda.c > > create mode 100644 drivers/hwtracing/coresight/coresight-tpdm.c > > > > -- > > 2.17.1 > >
| |