summaryrefslogtreecommitdiff
path: root/wct4xxp
diff options
context:
space:
mode:
authormattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-01-18 23:50:29 +0000
committermattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-01-18 23:50:29 +0000
commitda3a44021d845d56d22b4f6f8e6dfc62a80754a1 (patch)
tree3e54b0d21697f8fe17cfa956021743cbdb11518b /wct4xxp
parent9f4c179d0ee42efd2f47fda372c86f803fa744e9 (diff)
Backporting revs 1812 and 1854 into 1.4.
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@1855 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'wct4xxp')
-rw-r--r--wct4xxp/base.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/wct4xxp/base.c b/wct4xxp/base.c
index 3c59386..23f08b2 100644
--- a/wct4xxp/base.c
+++ b/wct4xxp/base.c
@@ -425,14 +425,14 @@ static struct t4 *cards[MAX_T4_CARDS];
static inline unsigned int __t4_pci_in(struct t4 *wc, const unsigned int addr)
{
- unsigned int res = le32_to_cpu(wc->membase[addr]);
+ unsigned int res = readl(&wc->membase[addr]);
return res;
}
static inline void __t4_pci_out(struct t4 *wc, const unsigned int addr, const unsigned int value)
{
unsigned int tmp;
- wc->membase[addr] = cpu_to_le32(value);
+ writel(value, &wc->membase[addr]);
tmp = __t4_pci_in(wc, WC_VERSION);
if ((tmp & 0xffff0000) != 0xc01a0000)
printk("TE4XXP: Version Synchronization Error!\n");
@@ -2838,9 +2838,6 @@ ZAP_IRQ_HANDLER(t4_interrupt_gen2)
inirq = 1;
/* Make sure it's really for us */
status = t4_pci_in(wc, WC_INTR);
-#if 1
- t4_pci_out(wc, WC_INTR, status & 0x00000008);
-#endif
/* Ignore if it's not for us */
if (!(status & 0x7)) {
@@ -2851,6 +2848,10 @@ ZAP_IRQ_HANDLER(t4_interrupt_gen2)
#endif
}
+#ifdef ENABLE_WORKQUEUES
+ t4_pci_out(wc, WC_INTR, status & 0x00000008);
+#endif
+
if (!wc->spansstarted) {
printk("Not prepped yet!\n");
#ifdef LINUX26