Loading include/sound/soc.h +4 −0 Original line number Diff line number Diff line Loading @@ -497,6 +497,8 @@ void snd_soc_runtime_deactivate(struct snd_soc_pcm_runtime *rtd, int stream); int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd, unsigned int dai_fmt); int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour); /* Utility functions to get clock rates from various things */ int snd_soc_calc_frame_size(int sample_size, int channels, int tdm_slots); int snd_soc_params_to_frame_size(struct snd_pcm_hw_params *params); Loading Loading @@ -1093,6 +1095,8 @@ struct snd_soc_card { const char *name; const char *long_name; const char *driver_name; char dmi_longname[80]; struct device *dev; struct snd_card *snd_card; struct module *owner; Loading sound/hda/ext/hdac_ext_stream.c +9 −6 Original line number Diff line number Diff line Loading @@ -128,14 +128,17 @@ void snd_hdac_ext_stream_decouple(struct hdac_ext_bus *ebus, { struct hdac_stream *hstream = &stream->hstream; struct hdac_bus *bus = &ebus->bus; u32 val; int mask = AZX_PPCTL_PROCEN(hstream->index); spin_lock_irq(&bus->reg_lock); if (decouple) snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, 0, AZX_PPCTL_PROCEN(hstream->index)); else snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, AZX_PPCTL_PROCEN(hstream->index), 0); val = readw(bus->ppcap + AZX_REG_PP_PPCTL) & mask; if (decouple && !val) snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, mask, mask); else if (!decouple && val) snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, mask, 0); stream->decoupled = decouple; spin_unlock_irq(&bus->reg_lock); } Loading Loading
include/sound/soc.h +4 −0 Original line number Diff line number Diff line Loading @@ -497,6 +497,8 @@ void snd_soc_runtime_deactivate(struct snd_soc_pcm_runtime *rtd, int stream); int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd, unsigned int dai_fmt); int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour); /* Utility functions to get clock rates from various things */ int snd_soc_calc_frame_size(int sample_size, int channels, int tdm_slots); int snd_soc_params_to_frame_size(struct snd_pcm_hw_params *params); Loading Loading @@ -1093,6 +1095,8 @@ struct snd_soc_card { const char *name; const char *long_name; const char *driver_name; char dmi_longname[80]; struct device *dev; struct snd_card *snd_card; struct module *owner; Loading
sound/hda/ext/hdac_ext_stream.c +9 −6 Original line number Diff line number Diff line Loading @@ -128,14 +128,17 @@ void snd_hdac_ext_stream_decouple(struct hdac_ext_bus *ebus, { struct hdac_stream *hstream = &stream->hstream; struct hdac_bus *bus = &ebus->bus; u32 val; int mask = AZX_PPCTL_PROCEN(hstream->index); spin_lock_irq(&bus->reg_lock); if (decouple) snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, 0, AZX_PPCTL_PROCEN(hstream->index)); else snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, AZX_PPCTL_PROCEN(hstream->index), 0); val = readw(bus->ppcap + AZX_REG_PP_PPCTL) & mask; if (decouple && !val) snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, mask, mask); else if (!decouple && val) snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, mask, 0); stream->decoupled = decouple; spin_unlock_irq(&bus->reg_lock); } Loading