Ok, here's a good news. I believe I have a code change to overcome chip
bug.

A bit of debug description:

I collected couple of more win7 IOMMU traces. It turns out even win7
sometimes does not detect mask in first place. It did about 20
read/writes before reading mask again.

I mirrored those r/w in hda driver, which enabled the mask for me, and
selectively removed unneeded I/Os by trial and error.

The code is in azx_reset function. In my inference, it simply resets the
chip, but the exact timing between resetting the chip, polling reset bit
and setting reset bit is important. I tried playing with the delays, but
found only this combo to be working.

Added code it pretty crude, but I'd like to see a revised version of it
in ubuntu as well as upstream driver. Here is the code added:

        snd_printk(KERN_ERR SFX "GCTL read %x\n",azx_readl(chip, GCTL));
        azx_writel(chip, GCTL, 0x100);
        
        do{
                mytemp = azx_readl(chip, GCTL);          /* mytemp delacred as 
int, just a temperory to hold reads */
                snd_printk(KERN_ERR SFX "GCTL read %x\n",mytemp);
        }while(mytemp != 0x0);
        
        azx_writel(chip, GCTL, 0x1);
        usleep_range(1000, 1200);
        
        mytemp = azx_readw(chip, STATESTS);

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1155202

Title:
  [Intel DZ77SL-50K, Intel PantherPoint HDMI, Digital Out, HDMI] No
  sound at all

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1155202/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to