* Patch for ymfpci in 2.4.4
@ 2001-05-04 18:40 Pete Zaitcev
2001-05-06 5:25 ` Pete Zaitcev
0 siblings, 1 reply; 2+ messages in thread
From: Pete Zaitcev @ 2001-05-04 18:40 UTC (permalink / raw)
To: linux-kernel; +Cc: zaitcev
Hello:
Here are updates from ALSA. The interrupt acknowledge has a
potential bug report for it in RH bugzilla. Power-up fix I include
"just because", Alan bounced it to me from sound-hackers;
Also Jeff Garzik asked for it. I wanted to include it with
full PM support, but perhaps not.
-- Pete
--- linux-2.4.4/drivers/sound/ymfpci.c Thu Apr 26 22:17:27 2001
+++ linux-2.4.4-niph/drivers/sound/ymfpci.c Fri May 4 11:02:56 2001
@@ -989,11 +989,6 @@
status = ymfpci_readl(codec, YDSXGR_STATUS);
if (status & 0x80000000) {
- spin_lock(&codec->reg_lock);
- ymfpci_writel(codec, YDSXGR_STATUS, 0x80000000);
- mode = ymfpci_readl(codec, YDSXGR_MODE) | 2;
- ymfpci_writel(codec, YDSXGR_MODE, mode);
- spin_unlock(&codec->reg_lock);
codec->active_bank = ymfpci_readl(codec, YDSXGR_CTRLSELECT) & 1;
spin_lock(&codec->voice_lock);
for (nvoice = 0; nvoice < 64; nvoice++) {
@@ -1007,6 +1002,11 @@
ymf_cap_interrupt(codec, cap);
}
spin_unlock(&codec->voice_lock);
+ spin_lock(&codec->reg_lock);
+ ymfpci_writel(codec, YDSXGR_STATUS, 0x80000000);
+ mode = ymfpci_readl(codec, YDSXGR_MODE) | 2;
+ ymfpci_writel(codec, YDSXGR_MODE, mode);
+ spin_unlock(&codec->reg_lock);
}
status = ymfpci_readl(codec, YDSXGR_INTFLAG);
@@ -2106,6 +2106,8 @@
pci_write_config_byte(pci, PCIR_DSXGCTRL, cmd | 0x03);
pci_write_config_byte(pci, PCIR_DSXGCTRL, cmd & 0xfc);
}
+ pci_write_config_word(pci, PCIR_DSXPWRCTRL1, 0);
+ pci_write_config_word(pci, PCIR_DSXPWRCTRL2, 0);
}
static void ymfpci_enable_dsp(ymfpci_t *codec)
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: Patch for ymfpci in 2.4.4
2001-05-04 18:40 Patch for ymfpci in 2.4.4 Pete Zaitcev
@ 2001-05-06 5:25 ` Pete Zaitcev
0 siblings, 0 replies; 2+ messages in thread
From: Pete Zaitcev @ 2001-05-06 5:25 UTC (permalink / raw)
To: linux-kernel; +Cc: Pete Zaitcev
Due to a pilot error, my ymfpci update would not compile
(forgot to submit .h change). Here is the missing part:
--- linux-2.4.4/drivers/sound/ymfpci.h Fri Jan 26 23:31:16 2001
+++ linux-2.4.4-niph/drivers/sound/ymfpci.h Fri May 4 11:07:17 2001
@@ -135,6 +135,8 @@
#define PCIR_LEGCTRL 0x40
#define PCIR_ELEGCTRL 0x42
#define PCIR_DSXGCTRL 0x48
+#define PCIR_DSXPWRCTRL1 0x4a
+#define PCIR_DSXPWRCTRL2 0x4e
#define PCIR_OPLADR 0x60
#define PCIR_SBADR 0x62
#define PCIR_MPUADR 0x64
Original part:
--- linux-2.4.4/drivers/sound/ymfpci.c Thu Apr 26 22:17:27 2001
+++ linux-2.4.4-niph/drivers/sound/ymfpci.c Fri May 4 11:02:56 2001
@@ -989,11 +989,6 @@
status = ymfpci_readl(codec, YDSXGR_STATUS);
if (status & 0x80000000) {
- spin_lock(&codec->reg_lock);
- ymfpci_writel(codec, YDSXGR_STATUS, 0x80000000);
- mode = ymfpci_readl(codec, YDSXGR_MODE) | 2;
- ymfpci_writel(codec, YDSXGR_MODE, mode);
- spin_unlock(&codec->reg_lock);
codec->active_bank = ymfpci_readl(codec, YDSXGR_CTRLSELECT) & 1;
spin_lock(&codec->voice_lock);
for (nvoice = 0; nvoice < 64; nvoice++) {
@@ -1007,6 +1002,11 @@
ymf_cap_interrupt(codec, cap);
}
spin_unlock(&codec->voice_lock);
+ spin_lock(&codec->reg_lock);
+ ymfpci_writel(codec, YDSXGR_STATUS, 0x80000000);
+ mode = ymfpci_readl(codec, YDSXGR_MODE) | 2;
+ ymfpci_writel(codec, YDSXGR_MODE, mode);
+ spin_unlock(&codec->reg_lock);
}
status = ymfpci_readl(codec, YDSXGR_INTFLAG);
@@ -2106,6 +2106,8 @@
pci_write_config_byte(pci, PCIR_DSXGCTRL, cmd | 0x03);
pci_write_config_byte(pci, PCIR_DSXGCTRL, cmd & 0xfc);
}
+ pci_write_config_word(pci, PCIR_DSXPWRCTRL1, 0);
+ pci_write_config_word(pci, PCIR_DSXPWRCTRL2, 0);
}
static void ymfpci_enable_dsp(ymfpci_t *codec)
Sorry,
-- Pete
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-05-06 5:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-05-04 18:40 Patch for ymfpci in 2.4.4 Pete Zaitcev
2001-05-06 5:25 ` Pete Zaitcev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox