Rename the internal flag to not limit it's use for dma-trace, but to be
used for generic firmware tracing functionality.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220516104711.26115-3-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
}
if (sof_debug_check_flag(SOF_DBG_ENABLE_TRACE)) {
}
if (sof_debug_check_flag(SOF_DBG_ENABLE_TRACE)) {
- sdev->dtrace_is_supported = true;
+ sdev->fw_trace_is_supported = true;
/* init DMA trace */
ret = snd_sof_init_trace(sdev);
/* init DMA trace */
ret = snd_sof_init_trace(sdev);
* when the DSP enters D0I3 while the system is in S0
* for debug purpose.
*/
* when the DSP enters D0I3 while the system is in S0
* for debug purpose.
*/
- if (!sdev->dtrace_is_supported ||
+ if (!sdev->fw_trace_is_supported ||
!hda_enable_trace_D0I3_S0 ||
sdev->system_suspend_target != SOF_SUSPEND_NONE)
flags = HDA_PM_NO_DMA_TRACE;
!hda_enable_trace_D0I3_S0 ||
sdev->system_suspend_target != SOF_SUSPEND_NONE)
flags = HDA_PM_NO_DMA_TRACE;
int ipc_timeout;
int boot_timeout;
int ipc_timeout;
int boot_timeout;
+ /* firmwre tracing */
+ bool fw_trace_is_supported; /* set with Kconfig or module parameter */
+
/* DMA for Trace */
struct snd_dma_buffer dmatb;
struct snd_dma_buffer dmatp;
int dma_trace_pages;
wait_queue_head_t trace_sleep;
u32 host_offset;
/* DMA for Trace */
struct snd_dma_buffer dmatb;
struct snd_dma_buffer dmatp;
int dma_trace_pages;
wait_queue_head_t trace_sleep;
u32 host_offset;
- bool dtrace_is_supported; /* set with Kconfig or module parameter */
bool dtrace_error;
bool dtrace_draining;
enum sof_dtrace_state dtrace_state;
bool dtrace_error;
bool dtrace_draining;
enum sof_dtrace_state dtrace_state;
struct sof_ipc_reply ipc_reply;
int ret;
struct sof_ipc_reply ipc_reply;
int ret;
- if (!sdev->dtrace_is_supported)
+ if (!sdev->fw_trace_is_supported)
return 0;
if (sdev->dtrace_state == SOF_DTRACE_ENABLED || !sdev->dma_trace_pages)
return 0;
if (sdev->dtrace_state == SOF_DTRACE_ENABLED || !sdev->dma_trace_pages)
/* dtrace is only supported with SOF_IPC */
if (sdev->pdata->ipc_type != SOF_IPC)
/* dtrace is only supported with SOF_IPC */
if (sdev->pdata->ipc_type != SOF_IPC)
- sdev->dtrace_is_supported = false;
+ sdev->fw_trace_is_supported = false;
- if (!sdev->dtrace_is_supported)
+ if (!sdev->fw_trace_is_supported)
return 0;
/* set false before start initialization */
return 0;
/* set false before start initialization */
int snd_sof_trace_update_pos(struct snd_sof_dev *sdev,
struct sof_ipc_dma_trace_posn *posn)
{
int snd_sof_trace_update_pos(struct snd_sof_dev *sdev,
struct sof_ipc_dma_trace_posn *posn)
{
- if (!sdev->dtrace_is_supported)
+ if (!sdev->fw_trace_is_supported)
return 0;
if (sdev->dtrace_state == SOF_DTRACE_ENABLED &&
return 0;
if (sdev->dtrace_state == SOF_DTRACE_ENABLED &&
/* an error has occurred within the DSP that prevents further trace */
void snd_sof_trace_notify_for_error(struct snd_sof_dev *sdev)
{
/* an error has occurred within the DSP that prevents further trace */
void snd_sof_trace_notify_for_error(struct snd_sof_dev *sdev)
{
- if (!sdev->dtrace_is_supported)
+ if (!sdev->fw_trace_is_supported)
return;
if (sdev->dtrace_state == SOF_DTRACE_ENABLED) {
return;
if (sdev->dtrace_state == SOF_DTRACE_ENABLED) {
struct sof_ipc_reply ipc_reply;
int ret;
struct sof_ipc_reply ipc_reply;
int ret;
- if (!sdev->dtrace_is_supported || sdev->dtrace_state == SOF_DTRACE_DISABLED)
+ if (!sdev->fw_trace_is_supported || sdev->dtrace_state == SOF_DTRACE_DISABLED)
return;
ret = snd_sof_dma_trace_trigger(sdev, SNDRV_PCM_TRIGGER_STOP);
return;
ret = snd_sof_dma_trace_trigger(sdev, SNDRV_PCM_TRIGGER_STOP);
void snd_sof_free_trace(struct snd_sof_dev *sdev)
{
void snd_sof_free_trace(struct snd_sof_dev *sdev)
{
- if (!sdev->dtrace_is_supported)
+ if (!sdev->fw_trace_is_supported)
return;
/* release trace */
return;
/* release trace */