[Sound-open-firmware] [RFC PATCH v2 12/29] Change macro definition and trace calling for SSP.
yan.wang at linux.intel.com
yan.wang at linux.intel.com
Thu May 10 13:31:52 CEST 2018
From: Yan Wang <yan.wang at linux.intel.com>
It will use SSP trace class and global DMA trace API.
Signed-off-by: Yan Wang <yan.wang at linux.intel.com>
---
Test with:
CNL nocodec
SOF master: c1f2682c210201bbbc96fce7b382b25b90d19775
SOF-Tool master: 86fe688a2b4f68a1ce87e0951686be12a00f1a3c
https://github.com/plbossart/sound/tree/topic/sof-v4.14:
d09db67c5a9d6dfc85f700669fa2e43c678c8d51
---
src/drivers/apl-ssp.c | 29 ++++++++++++-----------------
src/drivers/byt-ssp.c | 7 +------
src/include/sof/ssp.h | 14 ++++++++++----
3 files changed, 23 insertions(+), 27 deletions(-)
diff --git a/src/drivers/apl-ssp.c b/src/drivers/apl-ssp.c
index a51f91c..2736171 100644
--- a/src/drivers/apl-ssp.c
+++ b/src/drivers/apl-ssp.c
@@ -38,11 +38,6 @@
#include <sof/interrupt.h>
#include <config.h>
-/* tracing */
-#define trace_ssp(__e) trace_event(TRACE_CLASS_SSP, __e)
-#define trace_ssp_error(__e) trace_error(TRACE_CLASS_SSP, __e)
-#define tracev_ssp(__e) tracev_event(TRACE_CLASS_SSP, __e)
-
/* FIXME: move this to a helper and optimize */
static int hweight_32(uint32_t mask)
{
@@ -177,7 +172,7 @@ static inline int ssp_set_config(struct dai *dai,
/* clock masters */
sscr1 &= ~SSCR1_SFRMDIR;
- trace_value(config->format);
+ trace_ssp_value(config->format);
switch (config->format & SOF_DAI_FMT_MASTER_MASK) {
case SOF_DAI_FMT_CBM_CFM:
sscr0 |= SSCR0_ECS; /* external clock used */
@@ -529,16 +524,16 @@ static inline int ssp_set_config(struct dai *dai,
ssp_write(dai, SSTSA, sstsa);
ssp_write(dai, SSRSA, ssrsa);
- trace_value(sscr0);
- trace_value(sscr1);
- trace_value(ssto);
- trace_value(sspsp);
- trace_value(sstsa);
- trace_value(ssrsa);
- trace_value(sscr2);
- trace_value(sspsp2);
- trace_value(sscr3);
- trace_value(ssioc);
+ trace_ssp_value(sscr0);
+ trace_ssp_value(sscr1);
+ trace_ssp_value(ssto);
+ trace_ssp_value(sspsp);
+ trace_ssp_value(sstsa);
+ trace_ssp_value(ssrsa);
+ trace_ssp_value(sscr2);
+ trace_ssp_value(sspsp2);
+ trace_ssp_value(sscr3);
+ trace_ssp_value(ssioc);
/* TODO: move this into M/N driver */
mn_reg_write(0x0, mdivc);
@@ -672,7 +667,7 @@ static void ssp_irq_handler(void *data)
struct dai *dai = data;
trace_ssp("irq");
- trace_value(ssp_read(dai, SSSR));
+ trace_ssp_value(ssp_read(dai, SSSR));
/* clear IRQ */
ssp_write(dai, SSSR, ssp_read(dai, SSSR));
diff --git a/src/drivers/byt-ssp.c b/src/drivers/byt-ssp.c
index ca3385d..a3cce24 100644
--- a/src/drivers/byt-ssp.c
+++ b/src/drivers/byt-ssp.c
@@ -36,11 +36,6 @@
#include <sof/alloc.h>
#include <sof/interrupt.h>
-/* tracing */
-#define trace_ssp(__e) trace_event(TRACE_CLASS_SSP, __e)
-#define trace_ssp_error(__e) trace_error(TRACE_CLASS_SSP, __e)
-#define tracev_ssp(__e) tracev_event(TRACE_CLASS_SSP, __e)
-
/* FIXME: move this to a helper and optimize */
static int hweight_32(uint32_t mask)
{
@@ -578,7 +573,7 @@ static void ssp_irq_handler(void *data)
struct dai *dai = data;
trace_ssp("irq");
- trace_value(ssp_read(dai, SSSR));
+ trace_ssp_value(ssp_read(dai, SSSR));
/* clear IRQ */
ssp_write(dai, SSSR, ssp_read(dai, SSSR));
diff --git a/src/include/sof/ssp.h b/src/include/sof/ssp.h
index 5a57d58..6fdb95d 100644
--- a/src/include/sof/ssp.h
+++ b/src/include/sof/ssp.h
@@ -218,10 +218,16 @@ extern const struct dai_ops ssp_ops;
#endif
/* tracing */
-#define trace_ssp(__e) trace_event(TRACE_CLASS_SSP, __e)
-#define trace_ssp_error(__e) trace_error(TRACE_CLASS_SSP, __e)
-#define tracev_ssp(__e) tracev_event(TRACE_CLASS_SSP, __e)
-
+#define trace_ssp(__e) \
+ trace_global_event(NORMAL_LEVEL, TRACE_CLASS_SSP, __e)
+#define tracev_ssp(__e) \
+ trace_global_event(VERBOSE_LEVEL, TRACE_CLASS_SSP, __e)
+#define trace_ssp_error(__e) \
+ trace_global_event(ERROR_LEVEL, TRACE_CLASS_SSP, __e)
+#define trace_ssp_value(x) \
+ trace_global_value(NORMAL_LEVEL, x)
+#define trace_ssp_error_value(x) \
+ trace_global_value(ERROR_LEVEL, x)
#define ssp_irq(ssp) \
ssp->plat_data.irq
--
2.14.3
More information about the Sound-open-firmware
mailing list