Skip to content

Commit

Permalink
Merge branch 'topic/hda' into for-next
Browse files Browse the repository at this point in the history
The updates of HD-audio drivers for 3.15
  • Loading branch information
Takashi Iwai committed Feb 3, 2014
2 parents 4fa71c1 + 3d69245 commit 63f4b3a
Show file tree
Hide file tree
Showing 3 changed files with 395 additions and 434 deletions.
2 changes: 1 addition & 1 deletion sound/pci/hda/hda_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -762,7 +762,7 @@ void snd_hda_activate_path(struct hda_codec *codec, struct nid_path *path,
AC_PWRST_D0);
}
if (enable && path->multi[i])
snd_hda_codec_write_cache(codec, nid, 0,
snd_hda_codec_update_cache(codec, nid, 0,
AC_VERB_SET_CONNECT_SEL,
path->idx[i]);
if (has_amp_in(codec, path, i))
Expand Down
23 changes: 9 additions & 14 deletions sound/pci/hda/hda_intel.c
Original file line number Diff line number Diff line change
Expand Up @@ -834,18 +834,6 @@ static unsigned int azx_command_addr(u32 cmd)
return addr;
}

static unsigned int azx_response_addr(u32 res)
{
unsigned int addr = res & 0xf;

if (addr >= AZX_MAX_CODECS) {
snd_BUG();
addr = 0;
}

return addr;
}

/* send a command */
static int azx_corb_send_cmd(struct hda_bus *bus, u32 val)
{
Expand Down Expand Up @@ -907,8 +895,15 @@ static void azx_update_rirb(struct azx *chip)
rp = chip->rirb.rp << 1; /* an RIRB entry is 8-bytes */
res_ex = le32_to_cpu(chip->rirb.buf[rp + 1]);
res = le32_to_cpu(chip->rirb.buf[rp]);
addr = azx_response_addr(res_ex);
if (res_ex & ICH6_RIRB_EX_UNSOL_EV)
addr = res_ex & 0xf;
if ((addr >= AZX_MAX_CODECS) || !(chip->codec_mask & (1 << addr))) {
snd_printk(KERN_ERR SFX "%s: spurious response %#x:%#x, rp = %d, wp = %d",
pci_name(chip->pci),
res, res_ex,
chip->rirb.rp, wp);
snd_BUG();
}
else if (res_ex & ICH6_RIRB_EX_UNSOL_EV)
snd_hda_queue_unsol_event(chip->bus, res, res_ex);
else if (chip->rirb.cmds[addr]) {
chip->rirb.res[addr] = res;
Expand Down
Loading

0 comments on commit 63f4b3a

Please sign in to comment.