coresight: hotplug enable/disable etm only for round robin access

Enable and disable ETM during hotplug operations only if ETM is
allowed round-robin access by the funnel when all the ETMs share
the same funnel priority.

For 8960, 8064, etc it is observed that sometimes a core's ETM is
starved by other core ETMs constantly producing data. This works
around an issue seen where setting the prog bit of a core's ETMCR
(i.e. ETMCR[10]) doesn't result in that core's ETMSR[1] getting
set thereby triggering the "timeout while setting prog bit"
warning. Subsequently performaing a manual ETB flush as part of
disabling ETB to retrieve the collected trace data also fails.

Change-Id: I6dd37979058644495d945e80e6a2de4696fc5a20
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
This commit is contained in:
Pratik Patel
2013-01-22 18:23:57 -08:00
committed by Iliyan Malchev
parent 4db6062808
commit 8a57dac016
2 changed files with 10 additions and 2 deletions

View File

@@ -33,6 +33,8 @@ Optional properties:
- coresight-default-sink : represents the default compile time CoreSight sink
- qcom,pc-save : program counter save implemented
- qcom,blk-size : block size for tmc-etr to usb transfers
- qcom,round-robin : indicates if per core etms are allowed round-robin access
by the funnel
Examples:
@@ -106,4 +108,5 @@ Examples:
coresight-child-list = <&funnel_kpss>;
coresight-child-ports = <0>;
qcom,pc-save;
qcom,round-robin;
};