Comment 26 for bug 1155202

From: Niraj <email address hidden>

Apparently this board seems to need some extra initialization before a proper
codec probe value can be read.

Signed-off-by: David Henningsson <email address hidden>
 sound/pci/hda/hda_intel.c | 6 ++++++
 1 file changed, 6 insertions(+)

Hi Takashi,

Here's a patch from Niraj, which has found this code below to make audio work
on the Intel DZ77SL-50K board. Without it, no codecs will be detected.

I'm not sure if you like it this way or if you want me or Niraj to change
anything, or debug further. Or maybe add a new quirk for this particular device?

diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index fa2879a..2bf46e9 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1306,6 +1306,12 @@ static void azx_init_chip(struct azx *chip, int full_reset)

  /* reset controller */
  azx_reset(chip, full_reset);
+ if (!chip->codec_mask) {
+ azx_writel(chip, GCTL, 0x100);
+ while(azx_readl(chip, GCTL) != 0x0);
+ azx_writel(chip, GCTL, 0x1);
+ azx_reset(chip, full_reset);
+ }

  /* initialize interrupts */