Message ID | 1019e6fed1ade6a580f01df9b3f70c2a9df5b3be.1548419933.git.saiprakash.ranjan@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add coresight support for SDM845, MSM8998 and MSM8996 | expand |
On Tue, Jan 29, 2019 at 12:44:03AM +0530, Sai Prakash Ranjan wrote: > Add UCI table and a helper macro for coresight CPU debug > module. This patch adds the UCI entries for Krypo CPUs > found on MSM8996 which shares the same PIDs as ETMs. > > Without this, below error is observed on MSM8996: > > [ 5.429867] OF: graph: no port node found in /soc/debug@3810000 > [ 5.429938] coresight-etm4x: probe of 3810000.debug failed with error -22 > [ 5.435415] coresight-cpu-debug 3810000.debug: Coresight debug-CPU0 initialized > [ 5.446474] OF: graph: no port node found in /soc/debug@3910000 > [ 5.448927] coresight-etm4x: probe of 3910000.debug failed with error -22 > [ 5.454681] coresight-cpu-debug 3910000.debug: Coresight debug-CPU1 initialized > [ 5.487765] OF: graph: no port node found in /soc/debug@3a10000 > [ 5.488007] coresight-etm4x: probe of 3a10000.debug failed with error -22 > [ 5.493024] coresight-cpu-debug 3a10000.debug: Coresight debug-CPU2 initialized > [ 5.501802] OF: graph: no port node found in /soc/debug@3b10000 > [ 5.512901] coresight-etm4x: probe of 3b10000.debug failed with error -22 > [ 5.513192] coresight-cpu-debug 3b10000.debug: Coresight debug-CPU3 initialized > > Also add a helper macro to make adding CPU PIDs easier > similar to ETM4X driver. > > Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org> Looks good to me and tested on my Hikey board (though I cannot test for a device with UCI ID): Reviewed-and-tested-by: Leo Yan <leo.yan@linaro.org> > --- > This patch depends on UCI support by Mike Leach in below link: > https://lore.kernel.org/lkml/20190121233151.13363-2-mike.leach@linaro.org/ > --- > .../hwtracing/coresight/coresight-cpu-debug.c | 41 +++++++++++++------ > 1 file changed, 28 insertions(+), 13 deletions(-) > > diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c b/drivers/hwtracing/coresight/coresight-cpu-debug.c > index 45b2460f3166..a126ed0b9a76 100644 > --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c > +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c > @@ -655,20 +655,35 @@ static int debug_remove(struct amba_device *adev) > return 0; > } > > +#define DEBUG_AMBA_ID(pid) \ > + { \ > + .id = pid, \ > + .mask = 0x000fffff, \ > + } > + > +static struct amba_cs_uci_id uci_id_debug[] = { > + { > + /* CPU Debug UCI data */ > + .devarch = 0x47706a15, > + .devarch_mask = 0xfff0ffff, > + .devtype = 0x00000015, > + } > +}; > + > +#define DEBUG_AMBA_UCI_ID(pid) \ > + { \ > + .id = pid, \ > + .mask = 0x000fffff, \ > + .data = uci_id_debug, \ > + } > + > static const struct amba_id debug_ids[] = { > - { /* Debug for Cortex-A53 */ > - .id = 0x000bbd03, > - .mask = 0x000fffff, > - }, > - { /* Debug for Cortex-A57 */ > - .id = 0x000bbd07, > - .mask = 0x000fffff, > - }, > - { /* Debug for Cortex-A72 */ > - .id = 0x000bbd08, > - .mask = 0x000fffff, > - }, > - { 0, 0 }, > + DEBUG_AMBA_ID(0x000bbd03), /* Cortex-A53 */ > + DEBUG_AMBA_ID(0x000bbd07), /* Cortex-A57 */ > + DEBUG_AMBA_ID(0x000bbd08), /* Cortex-A72 */ > + DEBUG_AMBA_UCI_ID(0x000f0205), /* Qualcomm Kryo */ > + DEBUG_AMBA_UCI_ID(0x000f0211), /* Qualcomm Kryo */ > + {}, > }; > > static struct amba_driver debug_driver = { > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member > of Code Aurora Forum, hosted by The Linux Foundation >
On Tue, Jan 29, 2019 at 09:25:28PM +0800, Leo Yan wrote: > On Tue, Jan 29, 2019 at 12:44:03AM +0530, Sai Prakash Ranjan wrote: > > Add UCI table and a helper macro for coresight CPU debug > > module. This patch adds the UCI entries for Krypo CPUs > > found on MSM8996 which shares the same PIDs as ETMs. > > > > Without this, below error is observed on MSM8996: > > > > [ 5.429867] OF: graph: no port node found in /soc/debug@3810000 > > [ 5.429938] coresight-etm4x: probe of 3810000.debug failed with error -22 > > [ 5.435415] coresight-cpu-debug 3810000.debug: Coresight debug-CPU0 initialized > > [ 5.446474] OF: graph: no port node found in /soc/debug@3910000 > > [ 5.448927] coresight-etm4x: probe of 3910000.debug failed with error -22 > > [ 5.454681] coresight-cpu-debug 3910000.debug: Coresight debug-CPU1 initialized > > [ 5.487765] OF: graph: no port node found in /soc/debug@3a10000 > > [ 5.488007] coresight-etm4x: probe of 3a10000.debug failed with error -22 > > [ 5.493024] coresight-cpu-debug 3a10000.debug: Coresight debug-CPU2 initialized > > [ 5.501802] OF: graph: no port node found in /soc/debug@3b10000 > > [ 5.512901] coresight-etm4x: probe of 3b10000.debug failed with error -22 > > [ 5.513192] coresight-cpu-debug 3b10000.debug: Coresight debug-CPU3 initialized > > > > Also add a helper macro to make adding CPU PIDs easier > > similar to ETM4X driver. > > > > Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org> > > Looks good to me and tested on my Hikey board (though I cannot test > for a device with UCI ID): > > Reviewed-and-tested-by: Leo Yan <leo.yan@linaro.org> I just now found if apply this patch onto coresight next branch [1], it will conflict with patch 'coresight: cpu-debug: Support for CA73 CPUs' [2]. Sorry if introduce regression by this. Hi Mathieu, could you confirm should apply this patch onto to coresight next branch? [...] Thanks, Leo Yan [1] https://git.linaro.org/kernel/coresight.git/log/?h=next [2] https://git.linaro.org/kernel/coresight.git/commit/?h=next&id=14420b405d03cd160b5ace283693ce5b1cf273fa
On 1/29/2019 6:55 PM, Leo Yan wrote: > > Looks good to me and tested on my Hikey board (though I cannot test > for a device with UCI ID): > > Reviewed-and-tested-by: Leo Yan <leo.yan@linaro.org> > Thanks Leo.
Hi Leo, On 1/29/2019 7:06 PM, Leo Yan wrote: > > I just now found if apply this patch onto coresight next branch [1], > it will conflict with patch 'coresight: cpu-debug: Support for CA73 > CPUs' [2]. Sorry if introduce regression by this. > This patch depends on UCI support which is being discussed at: https://lore.kernel.org/lkml/20190121233151.13363-2-mike.leach@linaro.org/ So I think this should not go into coresight-next until the UCI support is merged into coresight-next as well. If UCI support is already merged, then I can rebase this patch on top of coresight-next and resend. Thanks, Sai
diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c b/drivers/hwtracing/coresight/coresight-cpu-debug.c index 45b2460f3166..a126ed0b9a76 100644 --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c @@ -655,20 +655,35 @@ static int debug_remove(struct amba_device *adev) return 0; } +#define DEBUG_AMBA_ID(pid) \ + { \ + .id = pid, \ + .mask = 0x000fffff, \ + } + +static struct amba_cs_uci_id uci_id_debug[] = { + { + /* CPU Debug UCI data */ + .devarch = 0x47706a15, + .devarch_mask = 0xfff0ffff, + .devtype = 0x00000015, + } +}; + +#define DEBUG_AMBA_UCI_ID(pid) \ + { \ + .id = pid, \ + .mask = 0x000fffff, \ + .data = uci_id_debug, \ + } + static const struct amba_id debug_ids[] = { - { /* Debug for Cortex-A53 */ - .id = 0x000bbd03, - .mask = 0x000fffff, - }, - { /* Debug for Cortex-A57 */ - .id = 0x000bbd07, - .mask = 0x000fffff, - }, - { /* Debug for Cortex-A72 */ - .id = 0x000bbd08, - .mask = 0x000fffff, - }, - { 0, 0 }, + DEBUG_AMBA_ID(0x000bbd03), /* Cortex-A53 */ + DEBUG_AMBA_ID(0x000bbd07), /* Cortex-A57 */ + DEBUG_AMBA_ID(0x000bbd08), /* Cortex-A72 */ + DEBUG_AMBA_UCI_ID(0x000f0205), /* Qualcomm Kryo */ + DEBUG_AMBA_UCI_ID(0x000f0211), /* Qualcomm Kryo */ + {}, }; static struct amba_driver debug_driver = {
Add UCI table and a helper macro for coresight CPU debug module. This patch adds the UCI entries for Krypo CPUs found on MSM8996 which shares the same PIDs as ETMs. Without this, below error is observed on MSM8996: [ 5.429867] OF: graph: no port node found in /soc/debug@3810000 [ 5.429938] coresight-etm4x: probe of 3810000.debug failed with error -22 [ 5.435415] coresight-cpu-debug 3810000.debug: Coresight debug-CPU0 initialized [ 5.446474] OF: graph: no port node found in /soc/debug@3910000 [ 5.448927] coresight-etm4x: probe of 3910000.debug failed with error -22 [ 5.454681] coresight-cpu-debug 3910000.debug: Coresight debug-CPU1 initialized [ 5.487765] OF: graph: no port node found in /soc/debug@3a10000 [ 5.488007] coresight-etm4x: probe of 3a10000.debug failed with error -22 [ 5.493024] coresight-cpu-debug 3a10000.debug: Coresight debug-CPU2 initialized [ 5.501802] OF: graph: no port node found in /soc/debug@3b10000 [ 5.512901] coresight-etm4x: probe of 3b10000.debug failed with error -22 [ 5.513192] coresight-cpu-debug 3b10000.debug: Coresight debug-CPU3 initialized Also add a helper macro to make adding CPU PIDs easier similar to ETM4X driver. Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org> --- This patch depends on UCI support by Mike Leach in below link: https://lore.kernel.org/lkml/20190121233151.13363-2-mike.leach@linaro.org/ --- .../hwtracing/coresight/coresight-cpu-debug.c | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-)