Skip to content

Commit

Permalink
MIPS: csrc-sb1250: Extract hpt cycle acquisition from sb1250_hpt_read
Browse files Browse the repository at this point in the history
This is to prepare for the upcoming read_sched_clock implementation, which
will also need to get cycles from the high precision timer.

Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: macro@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9486/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Deng-Cheng Zhu authored and Ralf Baechle committed Apr 1, 2015
1 parent 944081a commit 02710fc
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions arch/mips/kernel/csrc-sb1250.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,22 @@
* The HPT is free running from SB1250_HPT_VALUE down to 0 then starts over
* again.
*/
static cycle_t sb1250_hpt_read(struct clocksource *cs)
static inline cycle_t sb1250_hpt_get_cycles(void)
{
unsigned int count;
void __iomem *addr;

count = G_SCD_TIMER_CNT(__raw_readq(IOADDR(A_SCD_TIMER_REGISTER(SB1250_HPT_NUM, R_SCD_TIMER_CNT))));
addr = IOADDR(A_SCD_TIMER_REGISTER(SB1250_HPT_NUM, R_SCD_TIMER_CNT));
count = G_SCD_TIMER_CNT(__raw_readq(addr));

return SB1250_HPT_VALUE - count;
}

static cycle_t sb1250_hpt_read(struct clocksource *cs)
{
return sb1250_hpt_get_cycles();
}

struct clocksource bcm1250_clocksource = {
.name = "bcm1250-counter-3",
.rating = 200,
Expand Down

0 comments on commit 02710fc

Please sign in to comment.