At Mon, 4 May 2009 20:21:24 -0400, Ryan Dunn wrote:
Thanks Takashi, I appreciate your help so far. I would normally agree with you that it is a BIOS issue, however, the machine is a dualboot with WinXP, where the mute LED works properly after a resume. Do you have any other suggestions on where the issue may be? I hate to keep bugging the list for such a small issue, but I'm not familiar with the code at all. When I get more free time, I'll try to trace through the resume path to see if I can find anything. How does the driver actually toggle the LED? Is the register a physical register on the card that the hardware reads? Or does the code do something else to toggle the LED?
To be sure, you can toggle the bit of register 0x26 manually by writing the proc file. If it doesn't work, it's a BIOS issue indeed.
However, there might be some fix / workaround in the suspend part. So, after confirming that the register change doesn't work, report it on either LKML or kernel bugzilla.
Takashi
Ryan
On Mon, May 4, 2009 at 3:02 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 30 Apr 2009 22:24:35 -0400, Ryan Dunn wrote: > > I apologize for the list spam. I didn't realize that this bit is only set > when the led is on. So with that here are diffs of the regs with and without > mute enabled, before and after suspend. > Before suspend: > diff regs_w-quirk.txt regs_w-quirk+mute.txt > 2c2 > < 0:02 = 1e1e > --- > > 0:02 = 9e1e > 20c20 > < 0:26 = 000f > --- > > 0:26 = 800f > > After resume: > diff regs_w-quirk_after_resume.txt regs_w-quirk_after_resume+mute.txt > 2c2 > < 0:02 = 1e1e > --- > > 0:02 = 9e1e > 20c20 > < 0:26 = 000f > --- > > 0:26 = 800f > > So it looks as if the registers are all ok after a resume, but the LED doesn't > turn back on. Then I'd say it's rather a BIOS problem. Takashi