devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Add source filtering for multi-port output
@ 2024-07-11  8:17 Tao Zhang
  2024-07-11  8:17 ` [PATCH v2 1/3] dt-bindings: arm: qcom,coresight-static-replicator: Add property for source filtering Tao Zhang
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Tao Zhang @ 2024-07-11  8:17 UTC (permalink / raw)
  To: Suzuki K Poulose, Mike Leach, James Clark, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier, Leo Yan,
	Alexander Shishkin
  Cc: Tao Zhang, coresight, linux-arm-kernel, linux-kernel, devicetree,
	linux-arm-msm

In our hardware design, by combining a funnel and a replicator, it
implement a hardware device with one-to-one correspondence between
output ports and input ports. The programming usage on this device
is the same as funnel. The software uses a funnel and a static
replicator to implement the driver of this device. Since original
funnels only support a single output connection and original
replicator only support a single input connection, the code needs
to be modified to support this new feature. The following is a
typical topology diagram of multi-port output mechanism.
|----------|     |---------|     |----------|   |---------|
|  TPDM 0  |     | Source0 |     | Source 1 |   | TPDM 1  |
|----------|     |---------|     |----------|   |---------|
      |                |                |             |
      |                |                |             |
      |      --------- |                |             |
      |      |                          |             |
      |      |                          |             |
      |      |                          |             |
   \-------------/ ----------------------             |
    \  Funnel 0 /  |                                  |
     -----------   |     ------------------------------
          |        |     |
          |        |     |
        \------------------/
         \    Funnel 1    /     ----|
          \--------------/          |
                  |                 |----> Combine a funnel and a
                  |                 |      static replicator
          /-----------------\       |
         /    replicator 0   \  ----|
        /---------------------\
             |     |      |
             |     |      |-----------|
             |     |---------|        |
             |               |TPDM0   |TPDM1
             |            \-----------------/
             |             \   TPDA 0      /
             |              \-------------/
             |                    |
             |                    |
             |Source0/1           |
          \-------------------------------/
           \           Funnel 2          /
            \---------------------------/


Changes in V2:
1. Change the reference for endpoint property in dt-binding.
-- Krzysztof Kozlowski
2. Change the property name "filter_src" to "filter-src".
-- Krzysztof Kozlowski
3. Fix the errors in running 'make dt_binding_check'.
-- Rob Herring
4. Pass in the source parameter instead of path.
-- Suzuki K Poulose
5. Reset the "filter_src_dev" if the "src" csdev is being removed.
-- Suzuki K Poulose
6. Add a warning if the "filter_src_dev" is of not the
type DEV_TYPE_SOURCE.
-- Suzuki K Poulose
7. Optimize the procedure for handling all possible cases.
-- Suzuki K Poulose

Changes in V1:
1. Add a static replicator connect to a funnel to implement the
correspondence between the output ports and the input ports on
funnels.
-- Suzuki K Poulose
2. Add filter_src_dev and filter_src_dev phandle to
"coresight_connection" struct, and populate them if there is one.
-- Suzuki K Poulose
3. To look at the phandle and then fixup/remove the filter_src
device in fixup/remove connections.
-- Suzuki K Poulose
4. When TPDA reads DSB/CMB element size, it is implemented by
looking up filter src device in the connections.
-- Suzuki K Poulose

Tao Zhang (3):
  dt-bindings: arm: qcom,coresight-static-replicator: Add property for
    source filtering
  coresight: Add source filtering for multi-port output
  coresight-tpda: Optimize the function of reading element size

 .../arm/arm,coresight-static-replicator.yaml  |  19 ++-
 drivers/hwtracing/coresight/coresight-core.c  | 125 ++++++++++++++++--
 .../hwtracing/coresight/coresight-platform.c  |  18 +++
 drivers/hwtracing/coresight/coresight-tpda.c  |   3 +-
 include/linux/coresight.h                     |   5 +
 5 files changed, 155 insertions(+), 15 deletions(-)

-- 
2.17.1


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

end of thread, other threads:[~2024-08-09 11:00 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-11  8:17 [PATCH v2 0/3] Add source filtering for multi-port output Tao Zhang
2024-07-11  8:17 ` [PATCH v2 1/3] dt-bindings: arm: qcom,coresight-static-replicator: Add property for source filtering Tao Zhang
2024-07-11  8:17 ` [PATCH v2 2/3] coresight: Add source filtering for multi-port output Tao Zhang
2024-07-11 13:05   ` Suzuki K Poulose
2024-07-18  2:22     ` Tao Zhang
2024-08-07 14:59       ` Suzuki K Poulose
2024-08-08 14:43         ` Tao Zhang
2024-08-08 15:13           ` Suzuki K Poulose
2024-08-09  2:32             ` Tao Zhang
2024-08-09 10:21     ` Tao Zhang
2024-08-09 11:00       ` Suzuki K Poulose
2024-07-12  6:49   ` kernel test robot
2024-07-12  7:12   ` kernel test robot
2024-07-11  8:17 ` [PATCH v2 3/3] coresight-tpda: Optimize the function of reading element size Tao Zhang
2024-07-11 13:25   ` Suzuki K Poulose
2024-07-18  2:24     ` Tao Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).