Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 81654
b: refs/heads/master
c: 5298765
h: refs/heads/master
v: v3
  • Loading branch information
Takashi Iwai authored and Jaroslav Kysela committed Jan 31, 2008
1 parent 7d3d0dd commit fc96aaf
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 192b8e3922c916cbacac7e5a190d9412ae39a7ee
refs/heads/master: 52987656fb3d43192639a7d585feb564c075c864
3 changes: 3 additions & 0 deletions trunk/sound/pci/hda/hda_codec.h
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,9 @@ struct hda_bus {
struct hda_bus_unsolicited *unsol;

struct snd_info_entry *proc;

/* misc op flags */
unsigned int needs_damn_long_delay :1;
};

/*
Expand Down
8 changes: 6 additions & 2 deletions trunk/sound/pci/hda/hda_intel.c
Original file line number Diff line number Diff line change
Expand Up @@ -559,8 +559,12 @@ static unsigned int azx_rirb_get_response(struct hda_codec *codec)
}
if (!chip->rirb.cmds)
return chip->rirb.res; /* the last value */
udelay(10);
cond_resched();
if (codec->bus->needs_damn_long_delay)
msleep(2); /* temporary workaround */
else {
udelay(10);
cond_resched();
}
} while (time_after_eq(timeout, jiffies));

if (chip->msi) {
Expand Down
12 changes: 12 additions & 0 deletions trunk/sound/pci/hda/patch_sigmatel.c
Original file line number Diff line number Diff line change
Expand Up @@ -3472,6 +3472,18 @@ static int patch_stac927x(struct hda_codec *codec)

codec->patch_ops = stac92xx_patch_ops;

/*
* !!FIXME!!
* The STAC927x seem to require fairly long delays for certain
* command sequences. With too short delays (even if the answer
* is set to RIRB properly), it results in the silence output
* on some hardwares like Dell.
*
* The below flag enables the longer delay (see get_response
* in hda_intel.c).
*/
codec->bus->needs_damn_long_delay = 1;

return 0;
}

Expand Down

0 comments on commit fc96aaf

Please sign in to comment.