* [PATCH 1/2] PNPACPI: support shareable interrupts
@ 2006-06-30 18:58 Bjorn Helgaas
2006-06-30 23:02 ` Andrew Morton
0 siblings, 1 reply; 5+ messages in thread
From: Bjorn Helgaas @ 2006-06-30 18:58 UTC (permalink / raw)
To: Andrew Morton
Cc: Adam Belay, Matthieu Castet, Li Shaohua, Len Brown, linux-acpi,
Russell King, linux-serial
ACPI supplies a "shareable" indication, but PNPACPI ignores it.
If a PNP device uses a shared interrupt, request_irq() fails
because the PNP driver can't tell whether to supply SA_SHIRQ.
This patch allows PNP drivers to test
(pnp_irq_flags(dev, 0) & IORESOURCE_IRQ_SHAREABLE)
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Index: work-mm7/include/linux/ioport.h
===================================================================
--- work-mm7.orig/include/linux/ioport.h 2006-06-30 11:52:21.000000000 -0600
+++ work-mm7/include/linux/ioport.h 2006-06-30 12:18:41.000000000 -0600
@@ -55,6 +55,7 @@
#define IORESOURCE_IRQ_LOWEDGE (1<<1)
#define IORESOURCE_IRQ_HIGHLEVEL (1<<2)
#define IORESOURCE_IRQ_LOWLEVEL (1<<3)
+#define IORESOURCE_IRQ_SHAREABLE (1<<4)
/* ISA PnP DMA specific bits (IORESOURCE_BITS) */
#define IORESOURCE_DMA_TYPE_MASK (3<<0)
Index: work-mm7/drivers/pnp/pnpacpi/rsparser.c
===================================================================
--- work-mm7.orig/drivers/pnp/pnpacpi/rsparser.c 2006-06-30 11:52:18.000000000 -0600
+++ work-mm7/drivers/pnp/pnpacpi/rsparser.c 2006-06-30 12:18:41.000000000 -0600
@@ -74,7 +74,7 @@
static void
pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res, u32 gsi,
- int triggering, int polarity)
+ int triggering, int polarity, int shareable)
{
int i = 0;
int irq;
@@ -95,6 +95,9 @@
return;
}
+ if (shareable)
+ res->irq_resource[i].flags |= IORESOURCE_IRQ_SHAREABLE;
+
res->irq_resource[i].start = irq;
res->irq_resource[i].end = irq;
pcibios_penalize_isa_irq(irq, 1);
@@ -197,7 +200,8 @@
pnpacpi_parse_allocated_irqresource(res_table,
res->data.irq.interrupts[i],
res->data.irq.triggering,
- res->data.irq.polarity);
+ res->data.irq.polarity,
+ res->data.irq.sharable);
}
break;
@@ -263,7 +267,8 @@
pnpacpi_parse_allocated_irqresource(res_table,
res->data.extended_irq.interrupts[i],
res->data.extended_irq.triggering,
- res->data.extended_irq.polarity);
+ res->data.extended_irq.polarity,
+ res->data.extended_irq.sharable);
}
break;
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] PNPACPI: support shareable interrupts
2006-06-30 18:58 Bjorn Helgaas
@ 2006-06-30 23:02 ` Andrew Morton
0 siblings, 0 replies; 5+ messages in thread
From: Andrew Morton @ 2006-06-30 23:02 UTC (permalink / raw)
To: Bjorn Helgaas
Cc: ambx1, castet.matthieu, shaohua.li, len.brown, linux-acpi,
rmk+serial, linux-serial
Bjorn Helgaas <bjorn.helgaas@hp.com> wrote:
>
> --- work-mm7.orig/drivers/pnp/pnpacpi/rsparser.c 2006-06-30 11:52:18.000000000 -0600
> +++ work-mm7/drivers/pnp/pnpacpi/rsparser.c 2006-06-30 12:18:41.000000000 -0600
pnpacpi confuses me. Who maintains it? Is it considered an APCI thing, or
a PNP thing or a Bjorn thing?
Thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH 1/2] PNPACPI: support shareable interrupts
@ 2006-07-01 0:59 Brown, Len
2006-07-01 1:14 ` Andrew Morton
0 siblings, 1 reply; 5+ messages in thread
From: Brown, Len @ 2006-07-01 0:59 UTC (permalink / raw)
To: Andrew Morton, Bjorn Helgaas
Cc: ambx1, castet.matthieu, Li, Shaohua, linux-acpi, rmk+serial,
linux-serial
>pnpacpi confuses me. Who maintains it? Is it considered an
>APCI thing, or a PNP thing or a Bjorn thing?
PNP is Adam's generic Linux PNP layer.
It has "drivers" underneath is, such as pnp-isa, and pnp-bios
Shaohua invented pnp-acpi as a driver to replace pnp-bios
on ACPI-enabled systems.
So PNPACPI is the connection between ACPI and PNP,
and folks who conribute to either might contribute to it.
Most of the issues with it to date have been ACPI-specific,
rather than PNP-specific, including this one.
Bjorn, of course, is qualified to contribute to just about
any part of the kernel. So a "Bjorn thing" could be just
about anything;-)
cheers,
-Len
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] PNPACPI: support shareable interrupts
2006-07-01 0:59 [PATCH 1/2] PNPACPI: support shareable interrupts Brown, Len
@ 2006-07-01 1:14 ` Andrew Morton
2006-07-01 3:50 ` Bjorn Helgaas
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2006-07-01 1:14 UTC (permalink / raw)
To: Brown, Len
Cc: bjorn.helgaas, ambx1, castet.matthieu, shaohua.li, linux-acpi,
rmk+serial, linux-serial
"Brown, Len" <len.brown@intel.com> wrote:
>
> >pnpacpi confuses me. Who maintains it? Is it considered an
> >APCI thing, or a PNP thing or a Bjorn thing?
>
> PNP is Adam's generic Linux PNP layer.
> It has "drivers" underneath is, such as pnp-isa, and pnp-bios
>
> Shaohua invented pnp-acpi as a driver to replace pnp-bios
> on ACPI-enabled systems.
>
> So PNPACPI is the connection between ACPI and PNP,
> and folks who conribute to either might contribute to it.
> Most of the issues with it to date have been ACPI-specific,
> rather than PNP-specific, including this one.
>
> Bjorn, of course, is qualified to contribute to just about
> any part of the kernel. So a "Bjorn thing" could be just
> about anything;-)
>
OK. But that still didn't give me a how-to-get-this-to-mainline graph.
Bjorn, are these patches considered for-2.6.18 material? (They look like
it).
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] PNPACPI: support shareable interrupts
2006-07-01 1:14 ` Andrew Morton
@ 2006-07-01 3:50 ` Bjorn Helgaas
0 siblings, 0 replies; 5+ messages in thread
From: Bjorn Helgaas @ 2006-07-01 3:50 UTC (permalink / raw)
To: Andrew Morton
Cc: Brown, Len, bjorn.helgaas, ambx1, castet.matthieu, shaohua.li,
linux-acpi, rmk+serial, linux-serial
> OK. But that still didn't give me a how-to-get-this-to-mainline graph.
I can't answer this, other than the obvious: it'd be good to get
acks from Adam and/or Shaohua and Russell.
> Bjorn, are these patches considered for-2.6.18 material? (They look like
> it).
Yes, please. I should have been more clear about that.
I'm pretty sure this problem will prevent all distro kernels from
booting on HP ia64 boxes with large I/O configs. So I'll be
pushing it into distro updates soon.
I do wish we had more soak time, because a BIOS that incorrectly
reports a COM port interrupt as shareable could come back to
bite us.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-07-01 3:50 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-01 0:59 [PATCH 1/2] PNPACPI: support shareable interrupts Brown, Len
2006-07-01 1:14 ` Andrew Morton
2006-07-01 3:50 ` Bjorn Helgaas
-- strict thread matches above, loose matches on Subject: below --
2006-06-30 18:58 Bjorn Helgaas
2006-06-30 23:02 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox