提交 8452a763 编写于 作者: M Mark Brown

Merge branch 'topic/hda-ext-decouple' of...

Merge branch 'topic/hda-ext-decouple' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel
...@@ -128,14 +128,17 @@ void snd_hdac_ext_stream_decouple(struct hdac_ext_bus *ebus, ...@@ -128,14 +128,17 @@ void snd_hdac_ext_stream_decouple(struct hdac_ext_bus *ebus,
{ {
struct hdac_stream *hstream = &stream->hstream; struct hdac_stream *hstream = &stream->hstream;
struct hdac_bus *bus = &ebus->bus; struct hdac_bus *bus = &ebus->bus;
u32 val;
int mask = AZX_PPCTL_PROCEN(hstream->index);
spin_lock_irq(&bus->reg_lock); spin_lock_irq(&bus->reg_lock);
if (decouple) val = readw(bus->ppcap + AZX_REG_PP_PPCTL) & mask;
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, 0,
AZX_PPCTL_PROCEN(hstream->index)); if (decouple && !val)
else snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, mask, mask);
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, else if (!decouple && val)
AZX_PPCTL_PROCEN(hstream->index), 0); snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, mask, 0);
stream->decoupled = decouple; stream->decoupled = decouple;
spin_unlock_irq(&bus->reg_lock); spin_unlock_irq(&bus->reg_lock);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册