From: David Daney <ddaney@caviumnetworks.com>
To: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>
Subject: Re: Linux 2.6.39 on Cavium CN38xx
Date: Tue, 14 Jun 2011 09:55:40 -0700 [thread overview]
Message-ID: <4DF7928C.7010004@caviumnetworks.com> (raw)
In-Reply-To: <20110614033403.GA4582@ericsson.com>
On 06/13/2011 08:34 PM, Guenter Roeck wrote:
> On Mon, Jun 13, 2011 at 05:51:11PM -0400, Guenter Roeck wrote:
> [ ... ]
>>>>
>>>> The actual interrupt causing trouble and spurious interrupts in my case is,
>>>> oddly enough, STATUSF_IP0. So far I have been unable to track down how that
>>>> is triggered; I don't see the bit being set set in C0_CAUSE anywhere.
>>>>
>>>> Are there any means to trigger an IP0 interrupt other than by writing STATUSF_IP0
>>>> into the C0_CAUSE register ?
>>>>
>>>
>>> No. Nothing that I know of ever uses IP0 and IP1, so they should always
>>> be cleared.
>>>
>> Exactly what I figured, yet I still get those spurious interrupts if IP0 is enabled.
>> Something odd is definitely going on in my system.
>>
>> Besides the above, my hopefully final problem is that timer interrupts are only
>> received by CPU 0. Any idea what to look for to fix this problem ?
>>
> Found the problem. Apparently the BIOS resets CvmCtl[IPTI] to 0.
That is clearly erroneous behavior. Although you can set any value, the
HRM clearly states that 2..7 are the only legal values.
The Cavuim/Octeon u-boot just leave it at the default value of 7, and
the kernel basically expects it to be 7, and never explicitly sets it.
We do set the IPPCI to 6 in the kernel, and for performance reasons,
expect it to have a different value than IPTI. IP{2,3,4} are basically
reserved for use by the system interrupt controller, so really these
things must be on one of IP{5,6,7}.
David Daney
next prev parent reply other threads:[~2011-06-14 16:55 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-09 21:08 Linux 2.6.39 on Cavium CN38xx Guenter Roeck
2011-06-09 21:41 ` David Daney
2011-06-09 22:06 ` Guenter Roeck
2011-06-09 22:06 ` Guenter Roeck
2011-06-09 22:59 ` David Daney
2011-06-11 0:20 ` Guenter Roeck
2011-06-12 16:41 ` Guenter Roeck
2011-06-13 21:10 ` David Daney
2011-06-13 21:51 ` Guenter Roeck
2011-06-14 3:34 ` Guenter Roeck
2011-06-14 16:55 ` David Daney [this message]
2011-06-14 18:09 ` Guenter Roeck
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=4DF7928C.7010004@caviumnetworks.com \
--to=ddaney@caviumnetworks.com \
--cc=guenter.roeck@ericsson.com \
--cc=linux-mips@linux-mips.org \
/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 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.