]>
Commit | Line | Data |
---|---|---|
04fd09d4 SL |
1 | From 87e35b85d6f861616e46cc4bc31ed4b057c5c68c Mon Sep 17 00:00:00 2001 |
2 | From: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org> | |
3 | Date: Mon, 25 Feb 2019 10:54:01 -0700 | |
4 | Subject: coresight: etm4x: Add support to enable ETMv4.2 | |
5 | ||
6 | [ Upstream commit 5666dfd1d8a45a167f0d8b4ef47ea7f780b1f24a ] | |
7 | ||
8 | SDM845 has ETMv4.2 and can use the existing etm4x driver. | |
9 | But the current etm driver checks only for ETMv4.0 and | |
10 | errors out for other etm4x versions. This patch adds this | |
11 | missing support to enable SoC's with ETMv4x to use same | |
12 | driver by checking only the ETM architecture major version | |
13 | number. | |
14 | ||
15 | Without this change, we get below error during etm probe: | |
16 | ||
17 | / # dmesg | grep etm | |
18 | [ 6.660093] coresight-etm4x: probe of 7040000.etm failed with error -22 | |
19 | [ 6.666902] coresight-etm4x: probe of 7140000.etm failed with error -22 | |
20 | [ 6.673708] coresight-etm4x: probe of 7240000.etm failed with error -22 | |
21 | [ 6.680511] coresight-etm4x: probe of 7340000.etm failed with error -22 | |
22 | [ 6.687313] coresight-etm4x: probe of 7440000.etm failed with error -22 | |
23 | [ 6.694113] coresight-etm4x: probe of 7540000.etm failed with error -22 | |
24 | [ 6.700914] coresight-etm4x: probe of 7640000.etm failed with error -22 | |
25 | [ 6.707717] coresight-etm4x: probe of 7740000.etm failed with error -22 | |
26 | ||
27 | With this change, etm probe is successful: | |
28 | ||
29 | / # dmesg | grep etm | |
30 | [ 6.659198] coresight-etm4x 7040000.etm: CPU0: ETM v4.2 initialized | |
31 | [ 6.665848] coresight-etm4x 7140000.etm: CPU1: ETM v4.2 initialized | |
32 | [ 6.672493] coresight-etm4x 7240000.etm: CPU2: ETM v4.2 initialized | |
33 | [ 6.679129] coresight-etm4x 7340000.etm: CPU3: ETM v4.2 initialized | |
34 | [ 6.685770] coresight-etm4x 7440000.etm: CPU4: ETM v4.2 initialized | |
35 | [ 6.692403] coresight-etm4x 7540000.etm: CPU5: ETM v4.2 initialized | |
36 | [ 6.699024] coresight-etm4x 7640000.etm: CPU6: ETM v4.2 initialized | |
37 | [ 6.705646] coresight-etm4x 7740000.etm: CPU7: ETM v4.2 initialized | |
38 | ||
39 | Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org> | |
40 | Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> | |
41 | Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> | |
42 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
43 | Signed-off-by: Sasha Levin <sashal@kernel.org> | |
44 | --- | |
45 | drivers/hwtracing/coresight/coresight-etm4x.c | 3 ++- | |
46 | 1 file changed, 2 insertions(+), 1 deletion(-) | |
47 | ||
48 | diff --git a/drivers/hwtracing/coresight/coresight-etm4x.c b/drivers/hwtracing/coresight/coresight-etm4x.c | |
49 | index 5a1a14bcae72..78cb3b8881fa 100644 | |
50 | --- a/drivers/hwtracing/coresight/coresight-etm4x.c | |
51 | +++ b/drivers/hwtracing/coresight/coresight-etm4x.c | |
52 | @@ -61,7 +61,8 @@ static void etm4_os_unlock(struct etmv4_drvdata *drvdata) | |
53 | ||
54 | static bool etm4_arch_supported(u8 arch) | |
55 | { | |
56 | - switch (arch) { | |
57 | + /* Mask out the minor version number */ | |
58 | + switch (arch & 0xf0) { | |
59 | case ETM_ARCH_V4: | |
60 | break; | |
61 | default: | |
62 | -- | |
63 | 2.19.1 | |
64 |