From: "O.Sezer" <sezeroz@ttnet.net.tr>
To: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Linux 2.4.28-rc1
Date: Wed, 27 Oct 2004 15:40:17 +0300 [thread overview]
Message-ID: <417F9731.5040101@ttnet.net.tr> (raw)
In-Reply-To: <20041026203334.GB29688@logos.cnet>
[-- Attachment #1: Type: text/plain, Size: 1084 bytes --]
Marcelo Tosatti wrote:
> Hi,
>
> If you have been suddenly CC'ed to this message please search
> your name below - there is something which concerns you.
>
> Replying only to the list, myself and O.Sezer is appreciated.
>
> On Tue, Oct 26, 2004 at 05:02:44PM +0300, O.Sezer wrote:
>
>>There are many lost/forgotten patches posted here on lkml. Since 2.4.28
>>is near and 2.4 is going into "deep maintainance" mode soon, I gathered
>>a short list of some of them.
>
>
> Oh it is hard to bookkeep all of this. I hope people check and resend, but
> they dont do that always.
>
>
>>There, sure, are many more of them, but here it goes.
>
>
> Please send'em all. I really appreciate your efforts.
[...]
>>- Michael Mueller: opti-viper pci-chipset support
>> (have an updated-for-2.4.23+ patch for this)
>> http://marc.theaimsgroup.com/?t=106698970100002&r=1&w=2
>> http://marc.theaimsgroup.com/?l=linux-kernel&m=106698965700864&w=2
>
>
> Should be applied - v2.6 also lacks it AFAICS.
Attached is a one that's supposed to apply cleanly to and work
with 2.4.23+ kernels.
[-- Attachment #2: opti-viper-2.4.23-pci-chipset.patch --]
[-- Type: text/plain, Size: 2218 bytes --]
--- 23/arch/i386/kernel/pci-irq.c~
+++ 23/arch/i386/kernel/pci-irq.c
@@ -241,18 +241,56 @@
}
static int pirq_opti_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
{
write_config_nybble(router, 0xb8, pirq >> 4, irq);
return 1;
}
/*
+ * OPTI Viper-M/N+: Bit field with 3 bits per entry.
+ * Due to the lack of a specification the information about this chipset
+ * was taken from the NetBSD source code.
+ */
+static int pirq_viper_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
+{
+ static const int viper_irq_decode[] = { 0, 5, 9, 10, 11, 12, 14, 15 };
+ u32 irq;
+
+ pci_read_config_dword(router, 0x40, &irq);
+ irq >>= (pirq-1)*3;
+ irq &= 7;
+
+ return viper_irq_decode[irq];
+}
+
+static int pirq_viper_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
+{
+ static const int viper_irq_map[] = { -1, -1, -1, -1, -1, 1, -1, -1, -1, 2, 3, 4, 5, -1, 6, 7 };
+ int newval = viper_irq_map[irq];
+ u32 val;
+ u32 mask = 7 << (3*(pirq-1));
+#if 0
+ mask |= 0x10000UL << (pirq-1); /* edge triggered */
+#endif
+
+ if ( newval == -1 )
+ return 0;
+
+ pci_read_config_dword(router, 0x40, &val);
+ val &= ~mask;
+ val |= newval << (3*(pirq-1));
+ pci_write_config_dword(router, 0x40, val);
+
+ return 1;
+}
+
+/*
* Cyrix: nibble offset 0x5C
*/
static int pirq_cyrix_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
{
return read_config_nybble(router, 0x5C, (pirq-1)^1);
}
static int pirq_cyrix_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
{
@@ -707,21 +745,28 @@
static __init int opti_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
{
switch(device)
{
case PCI_DEVICE_ID_OPTI_82C700:
r->name = "OPTI";
r->get = pirq_opti_get;
r->set = pirq_opti_set;
- return 1;
+ break;
+ case PCI_DEVICE_ID_OPTI_82C558:
+ r->name = "OPTI VIPER";
+ r->get = pirq_viper_get;
+ r->set = pirq_viper_set;
+ break;
+ default:
+ return 0;
}
- return 0;
+ return 1;
}
static __init int ite_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
{
switch(device)
{
case PCI_DEVICE_ID_ITE_IT8330G_0:
r->name = "ITE";
r->get = pirq_ite_get;
next prev parent reply other threads:[~2004-10-27 12:43 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-26 14:02 O.Sezer
2004-10-26 20:33 ` Marcelo Tosatti
2004-10-26 23:28 ` Dave Jones
2004-10-27 12:40 ` O.Sezer [this message]
2004-10-27 14:29 ` Dave Jones
2004-10-27 15:29 ` O.Sezer
2004-10-27 18:58 ` Dave Jones
2004-10-28 9:54 ` Marcelo Tosatti
2004-10-28 13:28 ` O.Sezer
2004-10-28 14:29 ` O.Sezer
2004-10-28 1:19 ` Pete Zaitcev
2004-10-28 4:26 ` Jeff Garzik
2004-10-28 12:53 ` Russell King
2004-11-11 18:30 ` Roger Luethi
2004-10-27 2:52 ` Barry K. Nathan
2004-10-28 10:01 ` Marcelo Tosatti
-- strict thread matches above, loose matches on Subject: below --
2004-10-22 18:59 Marcelo Tosatti
2004-10-22 22:14 ` Jan Engelhardt
2004-10-23 10:43 ` Marcelo Tosatti
2004-10-23 19:54 ` Jan Engelhardt
2004-10-23 13:30 ` Paul Fulghum
2004-10-23 11:39 ` Marcelo Tosatti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=417F9731.5040101@ttnet.net.tr \
--to=sezeroz@ttnet.net.tr \
--cc=linux-kernel@vger.kernel.org \
--cc=marcelo.tosatti@cyclades.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome