Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/soc/intel/avs/lnl.c
26583 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/*
3
* Copyright(c) 2021-2025 Intel Corporation
4
*
5
* Authors: Cezary Rojewski <[email protected]>
6
* Amadeusz Slawinski <[email protected]>
7
*/
8
9
#include <sound/hdaudio_ext.h>
10
#include "avs.h"
11
#include "registers.h"
12
13
int avs_lnl_core_stall(struct avs_dev *adev, u32 core_mask, bool stall)
14
{
15
struct hdac_bus *bus = &adev->base.core;
16
struct hdac_ext_link *hlink;
17
int ret;
18
19
ret = avs_mtl_core_stall(adev, core_mask, stall);
20
21
/* On unstall, route interrupts from the links to the DSP firmware. */
22
if (!ret && !stall)
23
list_for_each_entry(hlink, &bus->hlink_list, list)
24
snd_hdac_updatel(hlink->ml_addr, AZX_REG_ML_LCTL, AZX_ML_LCTL_OFLEN,
25
AZX_ML_LCTL_OFLEN);
26
return ret;
27
}
28
29