brintos

brintos / linux-shallow public Read only

0
0
Text · 1.1 KiB · fe6c67c Raw
54 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2//3// Copyright(c) 2022 Intel Corporation4 5#include "sof-priv.h"6 7int sof_fw_trace_init(struct snd_sof_dev *sdev)8{9	const struct sof_ipc_fw_tracing_ops *fw_tracing = sof_ipc_get_ops(sdev, fw_tracing);10 11	if (!fw_tracing) {12		dev_info(sdev->dev, "Firmware tracing is not available\n");13		sdev->fw_trace_is_supported = false;14 15		return 0;16	}17 18	return fw_tracing->init(sdev);19}20 21void sof_fw_trace_free(struct snd_sof_dev *sdev)22{23	if (!sdev->fw_trace_is_supported)24		return;25 26	if (sdev->ipc->ops->fw_tracing->free)27		sdev->ipc->ops->fw_tracing->free(sdev);28}29 30void sof_fw_trace_fw_crashed(struct snd_sof_dev *sdev)31{32	if (!sdev->fw_trace_is_supported)33		return;34 35	if (sdev->ipc->ops->fw_tracing->fw_crashed)36		sdev->ipc->ops->fw_tracing->fw_crashed(sdev);37}38 39void sof_fw_trace_suspend(struct snd_sof_dev *sdev, pm_message_t pm_state)40{41	if (!sdev->fw_trace_is_supported)42		return;43 44	sdev->ipc->ops->fw_tracing->suspend(sdev, pm_state);45}46 47int sof_fw_trace_resume(struct snd_sof_dev *sdev)48{49	if (!sdev->fw_trace_is_supported)50		return 0;51 52	return sdev->ipc->ops->fw_tracing->resume(sdev);53}54