* Re: pci_write_config_byte question..
2001-11-19 17:48 pci_write_config_byte question John Clemens
@ 2001-11-19 17:23 ` Russell King
2001-11-19 18:39 ` John Clemens
0 siblings, 1 reply; 3+ messages in thread
From: Russell King @ 2001-11-19 17:23 UTC (permalink / raw)
To: John Clemens; +Cc: linux-kernel
On Mon, Nov 19, 2001 at 12:48:24PM -0500, John Clemens wrote:
> I've been hacking some PCI code to get USB working on my laptop. I need
> to change PCI config space to use IRQ 11 for the device instead of IRQ 9.
Changing interrupts is non-trivial, especially on x86.
> So i call pci_write_config_byte(...), but that only appears to change the
> "system" view of PCI space.. if you boot the kernel and do an lspci, it
> shows up as IRQ11, but if you do a lspci -b (for "Bus" view), it still
> shows up as IRQ 9.
The kernel caches a copy of the IRQ number register. The IRQ number
register (PCI_INTERRUPT_LINE) is just like RAM - you can read it, you
can write it. However, it has no hardware side effects however. It's
sole purpose in life is to communicate the IRQ number from the POST
(which knows how the interrupts are arranged) to the driver.
--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* pci_write_config_byte question..
@ 2001-11-19 17:48 John Clemens
2001-11-19 17:23 ` Russell King
0 siblings, 1 reply; 3+ messages in thread
From: John Clemens @ 2001-11-19 17:48 UTC (permalink / raw)
To: linux-kernel
I've been hacking some PCI code to get USB working on my laptop. I need
to change PCI config space to use IRQ 11 for the device instead of IRQ 9.
So i call pci_write_config_byte(...), but that only appears to change the
"system" view of PCI space.. if you boot the kernel and do an lspci, it
shows up as IRQ11, but if you do a lspci -b (for "Bus" view), it still
shows up as IRQ 9.
my question: why doesn't pci_write_config_byte not seem to work as
advertised? it just seems to manipulate a data structure...?
john.c
--
John Clemens http://www.deater.net/john
john@deater.net ICQ: 7175925, IM: PianoManO8
"I Hate Quotes" -- Samuel L. Clemens
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: pci_write_config_byte question..
2001-11-19 17:23 ` Russell King
@ 2001-11-19 18:39 ` John Clemens
0 siblings, 0 replies; 3+ messages in thread
From: John Clemens @ 2001-11-19 18:39 UTC (permalink / raw)
To: Russell King; +Cc: linux-kernel
On Mon, 19 Nov 2001, Russell King wrote:
> On Mon, Nov 19, 2001 at 12:48:24PM -0500, John Clemens wrote:
> > I've been hacking some PCI code to get USB working on my laptop. I need
> > to change PCI config space to use IRQ 11 for the device instead of IRQ 9.
>
> Changing interrupts is non-trivial, especially on x86.
nod. But it can be done in this case.. its just i have to call 'setpci'
from user space to change the interrupt line manually before i modeprobe
usb-ohci. I thought pci_write_config_byte should take care of that.
for a complete rundown of what i'm doing, please see my earlier post which
garnered no responses whatsoever:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0111.2/0005.html
> The kernel caches a copy of the IRQ number register. The IRQ number
> register (PCI_INTERRUPT_LINE) is just like RAM - you can read it, you
> can write it. However, it has no hardware side effects however. It's
> sole purpose in life is to communicate the IRQ number from the POST
> (which knows how the interrupts are arranged) to the driver.
so is there a kernel call I can use to actually twiddle the bits?
john.c
--
John Clemens http://www.deater.net/john
john@deater.net ICQ: 7175925, IM: PianoManO8
"I Hate Quotes" -- Samuel L. Clemens
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-11-19 17:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-11-19 17:48 pci_write_config_byte question John Clemens
2001-11-19 17:23 ` Russell King
2001-11-19 18:39 ` John Clemens
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.