mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-25 12:04:46 +08:00
Merge branch 'for-linus' of git://github.com/tiwai/sound
* 'for-linus' of git://github.com/tiwai/sound: ASoC: ssm2602: Re-enable oscillator after suspend ALSA: usb-audio: Check for possible chip NULL pointer before clearing probing flag ALSA: hda/realtek - Don't detect LO jack when identical with HP ALSA: hda/realtek - Avoid bogus HP-pin assignment ALSA: HDA: No power nids on 92HD93 ASoC: omap-mcbsp: Do not attempt to change DAI sysclk if stream is active
This commit is contained in:
commit
058e0676ba
@ -578,6 +578,10 @@ static void alc_line_automute(struct hda_codec *codec)
|
|||||||
{
|
{
|
||||||
struct alc_spec *spec = codec->spec;
|
struct alc_spec *spec = codec->spec;
|
||||||
|
|
||||||
|
/* check LO jack only when it's different from HP */
|
||||||
|
if (spec->autocfg.line_out_pins[0] == spec->autocfg.hp_pins[0])
|
||||||
|
return;
|
||||||
|
|
||||||
spec->line_jack_present =
|
spec->line_jack_present =
|
||||||
detect_jacks(codec, ARRAY_SIZE(spec->autocfg.line_out_pins),
|
detect_jacks(codec, ARRAY_SIZE(spec->autocfg.line_out_pins),
|
||||||
spec->autocfg.line_out_pins);
|
spec->autocfg.line_out_pins);
|
||||||
@ -1321,7 +1325,9 @@ do_sku:
|
|||||||
* 15 : 1 --> enable the function "Mute internal speaker
|
* 15 : 1 --> enable the function "Mute internal speaker
|
||||||
* when the external headphone out jack is plugged"
|
* when the external headphone out jack is plugged"
|
||||||
*/
|
*/
|
||||||
if (!spec->autocfg.hp_pins[0]) {
|
if (!spec->autocfg.hp_pins[0] &&
|
||||||
|
!(spec->autocfg.line_out_pins[0] &&
|
||||||
|
spec->autocfg.line_out_type == AUTO_PIN_HP_OUT)) {
|
||||||
hda_nid_t nid;
|
hda_nid_t nid;
|
||||||
tmp = (ass >> 11) & 0x3; /* HP to chassis */
|
tmp = (ass >> 11) & 0x3; /* HP to chassis */
|
||||||
if (tmp == 0)
|
if (tmp == 0)
|
||||||
|
@ -5630,6 +5630,7 @@ again:
|
|||||||
switch (codec->vendor_id) {
|
switch (codec->vendor_id) {
|
||||||
case 0x111d76d1:
|
case 0x111d76d1:
|
||||||
case 0x111d76d9:
|
case 0x111d76d9:
|
||||||
|
case 0x111d76df:
|
||||||
case 0x111d76e5:
|
case 0x111d76e5:
|
||||||
case 0x111d7666:
|
case 0x111d7666:
|
||||||
case 0x111d7667:
|
case 0x111d7667:
|
||||||
|
@ -431,7 +431,8 @@ static int ssm2602_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
|||||||
static int ssm2602_set_bias_level(struct snd_soc_codec *codec,
|
static int ssm2602_set_bias_level(struct snd_soc_codec *codec,
|
||||||
enum snd_soc_bias_level level)
|
enum snd_soc_bias_level level)
|
||||||
{
|
{
|
||||||
u16 reg = snd_soc_read(codec, SSM2602_PWR) & 0xff7f;
|
u16 reg = snd_soc_read(codec, SSM2602_PWR);
|
||||||
|
reg &= ~(PWR_POWER_OFF | PWR_OSC_PDN);
|
||||||
|
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case SND_SOC_BIAS_ON:
|
case SND_SOC_BIAS_ON:
|
||||||
|
@ -516,6 +516,12 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
|
|||||||
struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs;
|
struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
|
if (mcbsp_data->active)
|
||||||
|
if (freq == mcbsp_data->in_freq)
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
return -EBUSY;
|
||||||
|
|
||||||
/* The McBSP signal muxing functions are only available on McBSP1 */
|
/* The McBSP signal muxing functions are only available on McBSP1 */
|
||||||
if (clk_id == OMAP_MCBSP_CLKR_SRC_CLKR ||
|
if (clk_id == OMAP_MCBSP_CLKR_SRC_CLKR ||
|
||||||
clk_id == OMAP_MCBSP_CLKR_SRC_CLKX ||
|
clk_id == OMAP_MCBSP_CLKR_SRC_CLKX ||
|
||||||
|
@ -530,9 +530,11 @@ snd_usb_audio_probe(struct usb_device *dev,
|
|||||||
return chip;
|
return chip;
|
||||||
|
|
||||||
__error:
|
__error:
|
||||||
if (chip && !chip->num_interfaces)
|
if (chip) {
|
||||||
|
if (!chip->num_interfaces)
|
||||||
snd_card_free(chip->card);
|
snd_card_free(chip->card);
|
||||||
chip->probing = 0;
|
chip->probing = 0;
|
||||||
|
}
|
||||||
mutex_unlock(®ister_mutex);
|
mutex_unlock(®ister_mutex);
|
||||||
__err_val:
|
__err_val:
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user