OpenCloudOS-Kernel/drivers/hwtracing/coresight
Leo Yan 78e6427b4e coresight: funnel: Support static funnel
Since CoreSight hardware topology can use a 'hidden' funnel in the
trace data path, this kind funnel doesn't have register for accessing
and is used by default from hardware design perspective.  Below is an
example for related hardware topology:

  +------+  +------+
  | cpu0 |->| ETM  |-\
  +------+  +------+  \-> +--------+  +-----+
   ......                 | Funnel |->| ETF |-\    Hidden funnel
  +------+  +------+  /-> +--------+  +-----+  \        |
  | cpu3 |->| ETM  |-/                          \       V
  +------+  +------+                             \-> +--------+
                                                     | Funnel |-> ...
  +------+  +------+                             /-> +--------+
  | cpu4 |->| ETM  |-\                          /
  +------+  +------+  \-> +--------+  +-----+  /
   ......                 | Funnel |->| ETF |-/
  +------+  +------+  /-> +--------+  +-----+
  | cpu7 |->| ETM  |-/
  +------+  +------+

The CoreSight funnel driver only supports dynamic funnel with
registration register resource, thus it cannot support for the static
funnel case and it's impossible to create trace data path for this case.

This patch is to extend CoreSight funnel driver to support both for
static funnel and dynamic funnel.  For the dynamic funnel it reuses the
code existed in the driver, for static funnel the driver will support
device probe if without providing register resource and the driver skips
registers accessing when detect the register base is NULL.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Wanglai Shi <shiwanglai@hisilicon.com>
Suggested-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-02 19:12:21 +02:00
..
Kconfig coresight: etm4x: Add kernel configuration for CONTEXTID 2019-04-25 22:00:16 +02:00
Makefile coresight: Merge the static and dynamic replicator drivers 2019-04-25 22:00:15 +02:00
coresight-catu.c coresight: catu: Cleanup power management 2019-04-25 22:00:16 +02:00
coresight-catu.h coresight: catu: fix clang build warning 2019-04-25 22:00:14 +02:00
coresight-cpu-debug.c coresight: cpu-debug: Support for CA73 CPUs 2019-02-08 12:27:36 +01:00
coresight-etb10.c coresight: etb10: Add support for CPU-wide trace scenarios 2019-04-25 22:00:18 +02:00
coresight-etm-cp14.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-etm-perf.c coresight: Communicate perf event to sink buffer allocation functions 2019-04-25 22:00:17 +02:00
coresight-etm-perf.h coresight: perf: Add "sinks" group to PMU directory 2019-02-08 12:27:36 +01:00
coresight-etm.h coresight: etm3x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-etm3x-sysfs.c coresight: etm3x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-etm3x.c ARM: 8838/1: drivers: amba: Updates to component identification for driver matching. 2019-02-26 11:23:48 +00:00
coresight-etm4x-sysfs.c coresight: etm4x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-etm4x.c coresight: etm4x: Configure tracers to emit timestamps 2019-04-25 22:00:16 +02:00
coresight-etm4x.h coresight: etm4x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-funnel.c coresight: funnel: Support static funnel 2019-05-02 19:12:21 +02:00
coresight-priv.h ARM updates for 5.1-rc1 2019-03-15 14:37:46 -07:00
coresight-replicator.c coresight: replicator: Add new device id for static replicator 2019-05-02 19:12:21 +02:00
coresight-stm.c ARM updates for 5.1-rc1 2019-03-15 14:37:46 -07:00
coresight-tmc-etf.c coresight: tmc-etf: Add support for CPU-wide trace scenarios 2019-04-25 22:00:18 +02:00
coresight-tmc-etr.c coresight: tmc-etr: Add support for CPU-wide trace scenarios 2019-04-25 22:00:18 +02:00
coresight-tmc.c coresight: tmc-etr: Add support for CPU-wide trace scenarios 2019-04-25 22:00:18 +02:00
coresight-tmc.h coresight: tmc-etr: Add support for CPU-wide trace scenarios 2019-04-25 22:00:18 +02:00
coresight-tpiu.c coresight: Move reference counting inside sink drivers 2019-04-25 22:00:16 +02:00
coresight.c coresight: Move reference counting inside sink drivers 2019-04-25 22:00:16 +02:00
of_coresight.c coresight: Use of_node_name_eq for node name comparisons 2019-02-08 12:27:36 +01:00