linux-mips
[Top] [All Lists]

Re: What is the right way to setup MIPS timer irq in 2.6.29?

To: David Wuertele <dave+gmane@wuertele.com>
Subject: Re: What is the right way to setup MIPS timer irq in 2.6.29?
From: David Daney <ddaney@caviumnetworks.com>
Date: Thu, 09 Apr 2009 15:47:05 -0700
Cc: linux-mips@linux-mips.org
In-reply-to: <loom.20090409T195344-317@post.gmane.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <loom.20090408T165537-312@post.gmane.org> <loom.20090409T195344-317@post.gmane.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0.0.21 (X11/20090320)
David Wuertele wrote:
I wrote:

Has the system timer paradigm changed between 2.6.18 and 2.6.29?
I'm trying to update my Broadcom-based embedded system to 2.6.29,
and I'm running into problems getting the system timer to run.

I solved my problem, though I'm still a little unclear about the reasoning.

The solution was to enable these:
CONFIG_CEVT_R4K=y
CONFIG_CSRC_R4K=y

I also had to define get_c0_compare_int() to return the system timer
interrupt.  Once I had done these things, start_kernel() calls time_init(),
which calls mips_clockevent_init() and init_mips_clocksource().
init_mips_clocksource() calls the init_r4k_clocksource() that was
enabled with the new config options.  Now my system clock runs like I think it
should.

I think I might not need the CEVT components... I'm going to look into that
next.

No, you do need them. That is the source of the interrupts. Using the standard cevt-r4k.c you get nice things like the tickless kernel all for free.


But I wish there was some easy to find documentation about why this
code had to be moved into the arch/mips/cevt-*.c and arch/mips/csrc-*.c
libraries.


It had to change because the entire Linux time keeping infrastructure change to use the generic clock source and clock event system.

David Daney

<Prev in Thread] Current Thread [Next in Thread>