From: Manish Lachwani <mlachwani@mvista.com>
To: Thomas Koeller <thomas.koeller@baslerweb.com>
Cc: linux-mips@linux-mips.org
Subject: Re: yosemite interrupt setup
Date: Thu, 21 Oct 2004 09:38:14 -0700 [thread overview]
Message-ID: <4177E5F6.3010100@mvista.com> (raw)
In-Reply-To: <200410211149.35300.thomas.koeller@baslerweb.com>
Thomas Koeller wrote:
> On Wednesday 20 October 2004 20:13, Manish Lachwani wrote:
>
>
>> TITAN_GE_WRITE(0x0024, 0x04000024); /* IRQ vector */
>> TITAN_GE_WRITE(0x0020, 0x000fb000); /* INTMSG base */
>
>
> Hi Manish,
>
> it was the location of these two lines that I was asking for. So they
> are in the ethernet driver. Wouldn't you agree that they should go
> into the platform instead? The interrrupt is shared with
> other devices, the DUART to name just one example, and if I want to
> write a driver for these, then that driver would depend on the
> ethernet driver, if that does the interrupt setup.
>
> So this covers the message interrupts, but I also have not been
> able so far to spot the location where the corresponding setup
> is done for the external interrupt lines, that is, setting up
> the INTPINx registers. Any hints?
>
> thank you,
> Thomas
>
Hi Thomas
No, these should remain in the Ethernet driver. Thats because no other
driver depends on these. Those registers are MAC subsystem registers
only. The ethernet driver does not do any interrupt setup for other
devices. Lets take these registers one by one:
TITAN_GE_WRITE(0x0024, 0x04000024); /* IRQ vector */
This register is to tell the MAC subsystem what IRQ vectors to use. If
you dont configure this register, only the MAC subsystem cannot send
interrupts to the processor. But, thats abt it.
TITAN_GE_WRITE(0x0020, 0x000fb000); /* INTMSG base */
This register tells the MAC subsystem only where the INTMSG base is. So,
if the MAC subsystem needs to send an interrupt, it can write the IRQ
vector to the INTMSG register and uses this register to find the base of
the INTMSG register. Thats all. If you dont configure this register,
then only the MAC subsystem cannot send interrupts.
As far as external interrupts go, I think include/asm-mips/serial.h
should indicate the serial interrupt used and
arch/mips/pmc-sierra/yosemite/pci-irq.c should indicate the IRQ line
that PCI uses. HT and MAC are based off message interrupts. If you are
using Titan native UART, it is also based off message interrupts. And
the interrupt config is done in arch/mips/pmc-sierra/yosemite/irq.c.
Is this what you wanted to know abt setting up the external interrupt lines?
Thanks
Manish Lachwani
next prev parent reply other threads:[~2004-10-21 16:38 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-20 17:52 yosemite interrupt setup Thomas Koeller
2004-10-20 18:03 ` Manish Lachwani
2004-10-20 18:13 ` Manish Lachwani
2004-10-21 9:49 ` Thomas Koeller
2004-10-21 16:38 ` Manish Lachwani [this message]
2004-10-21 17:58 ` Thomas Koeller
2004-10-21 18:08 ` Manish Lachwani
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=4177E5F6.3010100@mvista.com \
--to=mlachwani@mvista.com \
--cc=linux-mips@linux-mips.org \
--cc=thomas.koeller@baslerweb.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