sound driver problem for CyberAlladin

=?ISO-2022-JP?B?GyRCNUg7MxsoQiAbJEI5OBsoQg==?= (yosshy@debian.or.jp)
Sun, 25 May 2003 07:09:26 +0900


Hello all,

I have a problem for using Linux 2.4.2x on my laptop, and it may happen on
some other laptops.

My laptop has PemtiumIII-M 933Hz CPU and CyberAlladin(XP?) chipset
(contains an Ali5451 sound chip). If it ran Linux with AC-powered, system
hangs up on loading trident.o. But, If without AC-powered, system doesn't
hang up. (good)

I think the different is CPU clocks. I guessed that PentiumIII-M ran low
clock rate without AC-powered, so delaying code works fine. But if with
AC-powered, that doesn't works fine and takes hanging-up.

(messages on fine cases:)
Trident 4DWave/SiS 7018/ALi 5451,Tvia CyberPro PCI Audio, version 0.14.10h, 16:45:46 May 13 2003
ALi Audio Accelerator found at IO 0xe000, IRQ 11
ac97_codec: AC97 Audio codec, id: ADS116(Unknown)
ac97_codec: AC97 Audio codec, id: ADS116(Unknown)

(messages on bad cases:)
Trident 4DWave/SiS 7018/ALi 5451,Tvia CyberPro PCI Audio, version 0.14.10h, 16:45:46 May 13 2003
ALi Audio Accelerator found at IO 0xe000, IRQ 11
(and system freezes)

I tried to find the problem point with printk(). It seems below:

---
static int ali_reset_5451(struct trident_card *card)
{
        struct pci_dev *pci_dev = NULL;
        unsigned int   dwVal;
        unsigned short wCount, wReg;

pci_dev = pci_find_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, pci_dev); if (pci_dev == NULL) return -1; pci_read_config_dword(pci_dev, 0x7c, &dwVal); pci_write_config_dword(pci_dev, 0x7c, dwVal | 0x08000000); /* the last working printk() */ udelay(5000); /* non-working printk() */ pci_read_config_dword(pci_dev, 0x7c, &dwVal); pci_write_config_dword(pci_dev, 0x7c, dwVal & 0xf7ffffff); udelay(5000);

pci_dev = card->pci_dev; if (pci_dev == NULL) return -1;

---

Any advice? Thank you.

A.Yoshiyama <yosshy@debian.or.jp> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/