Merge branch 'topic/hda-ext-decouple' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel
This commit is contained in:
commit
8452a76394
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue