Skip to content

Commit

Permalink
mx25: fix time accounting
Browse files Browse the repository at this point in the history
The gpt_clk rate function doesn't consider the PER divider. This causes a
significant drift in time accounting. Fix this by introducing the correct rate
calculation function.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
  • Loading branch information
Baruch Siach authored and Sascha Hauer committed Jan 26, 2010
1 parent 828df43 commit faed406
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion arch/arm/mach-mx25/clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,11 @@ static unsigned long get_rate_nfc(struct clk *clk)
return get_rate_per(8);
}

static unsigned long get_rate_gpt(struct clk *clk)
{
return get_rate_per(5);
}

static unsigned long get_rate_otg(struct clk *clk)
{
return 48000000; /* FIXME */
Expand Down Expand Up @@ -156,7 +161,7 @@ static void clk_cgcr_disable(struct clk *clk)
.secondary = s, \
}

DEFINE_CLOCK(gpt_clk, 0, CCM_CGCR0, 5, get_rate_ipg, NULL, NULL);
DEFINE_CLOCK(gpt_clk, 0, CCM_CGCR0, 5, get_rate_gpt, NULL, NULL);
DEFINE_CLOCK(uart_per_clk, 0, CCM_CGCR0, 15, get_rate_uart, NULL, NULL);
DEFINE_CLOCK(cspi1_clk, 0, CCM_CGCR1, 5, get_rate_ipg, NULL, NULL);
DEFINE_CLOCK(cspi2_clk, 0, CCM_CGCR1, 6, get_rate_ipg, NULL, NULL);
Expand Down

0 comments on commit faed406

Please sign in to comment.