]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.14/coresight-etm4x-add-support-to-enable-etmv4.2.patch
Linux 4.9.168
[thirdparty/kernel/stable-queue.git] / queue-4.14 / coresight-etm4x-add-support-to-enable-etmv4.2.patch
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