From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Daniel Laird <danieljlaird@hotmail.com>
Cc: linux-mips@linux-mips.org, Vitaly Wool <vwool@ru.mvista.com>
Subject: Re: 2.6.19 timer API changes
Date: Tue, 19 Dec 2006 19:23:57 +0300 [thread overview]
Message-ID: <4588121D.90505@ru.mvista.com> (raw)
In-Reply-To: <7948316.post@talk.nabble.com>
Daniel Laird wrote:
> Atsushi Nemoto wrote:
>>Hmm, do the TIMER1 and CP0_COUNTER run at same speed? If no, the
>>PNX8550 port should be broken (i.e. gettimeofday() did not work
>>properly) even without the timer API changes. You should provide
>>custom clocksource.mips_read (previously named mips_hpt_read) function
Meaning clocksource_mips.read... :-)
>>which returns TIMER1 counter value. If the TIMER1 was not 32-bit
>>free-run counter, some trick would be required. Refer sb1250 or
>>jmr3927 for example.
>>---
>>Atsushi Nemoto
>>
>>
>>
>
> I am just starting to look into this (thankyou for your first comments).
> I have reduced the problem code, so if I change the following:
> /* For use both as a high precision timer and an interrupt source. */
> static void __init c0_hpt_timer_init(void)
> {
> expirelo = read_c0_count() + cycles_per_jiffy;
> write_c0_compare(expirelo);
> } (the 2.6.19 version)
> to the following:
> /* For use both as a high precision timer and an interrupt source. */
> static void __init c0_hpt_timer_init(void)
> {
> unsigned int count = read_c0_count() - mips_hpt_read();
Doesn't make sense to me... Should be 0 or near.
> expirelo = (count / cycles_per_jiffy + 1) * cycles_per_jiffy;
> write_c0_count(expirelo - cycles_per_jiffy);
> write_c0_compare(expirelo);
> write_c0_count(count);
> }
This code just shouldn't be executing at all, since the interrupts are
coming from the other source than standard CP0 count/compare registers (so,
I'd assume mips_timer_state should need to be set -- but it doesn't)... and at
the same time the handler writes to them... well, PNX8550 must have really
weird timers...
> Then i get the system to boot up and all seems well. I am new to this and
> am looking into why this change makes the system boot up. As always though
> any help is appreciated.
> Cheers
> Dan
WBR, Sergei
next prev parent reply other threads:[~2006-12-19 16:24 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-18 9:15 2.6.19 timer API changes Daniel Laird
2006-12-19 8:17 ` Daniel Laird
2006-12-19 14:34 ` Atsushi Nemoto
2006-12-19 14:51 ` Daniel Laird
2006-12-19 16:23 ` Sergei Shtylyov [this message]
2006-12-19 15:01 ` Atsushi Nemoto
2006-12-19 15:34 ` Daniel Laird
2006-12-19 17:15 ` Atsushi Nemoto
2006-12-20 9:37 ` Daniel Laird
2006-12-20 14:12 ` Sergei Shtylyov
2006-12-20 14:50 ` Kevin D. Kissell
2006-12-20 14:50 ` Kevin D. Kissell
2006-12-20 18:01 ` Sergei Shtylyov
2006-12-20 15:24 ` Atsushi Nemoto
2006-12-20 15:46 ` Daniel Laird
2006-12-20 14:29 ` Sergei Shtylyov
2006-12-20 15:40 ` Atsushi Nemoto
2006-12-20 15:48 ` Daniel Laird
2006-12-20 15:48 ` Sergei Shtylyov
2006-12-19 15:52 ` Sergei Shtylyov
2006-12-19 16:29 ` Atsushi Nemoto
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=4588121D.90505@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=danieljlaird@hotmail.com \
--cc=linux-mips@linux-mips.org \
--cc=vwool@ru.mvista.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 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.