linux_dsm_epyc7002/drivers/hwtracing/coresight
Suzuki K Poulose 8ed536b1e2 coresight: catu: Add support for scatter gather tables
This patch adds the support for setting up a SG table for use
by the CATU. We reuse the tmc_sg_table to represent the table/data
pages, even though the table format is different.

Similar to ETR SG table, CATU uses a 4KB page size for data buffers
as well as page tables. All table entries are 64bit wide and have
the following format:

        63                      12      1  0
        x-----------------------------------x
        |        Address [63-12] | SBZ  | V |
        x-----------------------------------x

	Where [V] ->	 0 - Pointer is invalid
			 1 - Pointer is Valid

CATU uses only first half of the page for data page pointers.
i.e, single table page will only have 256 page pointers, addressing
upto 1MB of data. The second half of a table page contains only two
pointers at the end of the page (i.e, pointers at index 510 and 511),
which are used as links to the "Previous" and "Next" page tables
respectively.

The first table page has an "Invalid" previous pointer and the
next pointer entry points to the second page table if there is one.
Similarly the last table page has an "Invalid" next pointer to
indicate the end of the table chain.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-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>
2018-07-15 13:52:59 +02:00
..
coresight-catu.c coresight: catu: Add support for scatter gather tables 2018-07-15 13:52:59 +02:00
coresight-catu.h coresight: Introduce support for Coresight Address Translation Unit 2018-07-15 13:52:58 +02:00
coresight-cpu-debug.c coresight: Remove %px for printing pcsr value 2018-05-14 16:20:00 +02:00
coresight-dynamic-replicator.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-etb10.c coresight: Add helper for inserting synchronization packets 2018-07-15 13:52:57 +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 coresight: etm3x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02: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: ETM: Add support for Arm Cortex-A73 and Cortex-A35 2018-07-15 13:52:56 +02:00
coresight-etm4x.h coresight: etm4x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +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: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-etm-perf.h coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-etm.h coresight: etm3x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-funnel.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-priv.h coresight: Add helper for inserting synchronization packets 2018-07-15 13:52:57 +02:00
coresight-replicator.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-stm.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-tmc-etf.c coresight: Add helper for inserting synchronization packets 2018-07-15 13:52:57 +02:00
coresight-tmc-etr.c coresight: Introduce support for Coresight Address Translation Unit 2018-07-15 13:52:58 +02:00
coresight-tmc.c coresight: tmc: Add configuration support for trace buffer size 2018-07-15 13:52:57 +02:00
coresight-tmc.h coresight: tmc-etr buf: Add TMC scatter gather mode backend 2018-07-15 13:52:57 +02:00
coresight-tpiu.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight.c coresight: Add helper device type 2018-07-15 13:52:58 +02:00
Kconfig coresight: Introduce support for Coresight Address Translation Unit 2018-07-15 13:52:58 +02:00
Makefile coresight: Introduce support for Coresight Address Translation Unit 2018-07-15 13:52:58 +02:00
of_coresight.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00