diff --git a/[refs] b/[refs] index 9f592f53f53d..42274a684b18 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 535e9c78e1a80946283cecc742b687b3a5ff5109 +refs/heads/master: 4fad8098bc3cc9dfe711b10b07df821ea30e6879 diff --git a/trunk/drivers/edac/i7core_edac.c b/trunk/drivers/edac/i7core_edac.c index 7cb68decf57d..51d251c32901 100644 --- a/trunk/drivers/edac/i7core_edac.c +++ b/trunk/drivers/edac/i7core_edac.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "edac_core.h" @@ -2102,7 +2103,8 @@ static int set_sdram_scrub_rate(struct mem_ctl_info *mci, u32 new_bw) * program the corresponding register value. */ scrub_interval = (unsigned long long)freq_dclk_mhz * - cache_line_size * 1000000 / new_bw; + cache_line_size * 1000000; + do_div(scrub_interval, new_bw); if (!scrub_interval || scrub_interval > SCRUBINTERVAL_MASK) return -EINVAL; @@ -2153,7 +2155,8 @@ static int get_sdram_scrub_rate(struct mem_ctl_info *mci) /* Calculate scrub rate value into byte/sec bandwidth */ scrub_rate = (unsigned long long)freq_dclk_mhz * - 1000000 * cache_line_size / scrubval; + 1000000 * cache_line_size; + do_div(scrub_rate, scrubval); return (int)scrub_rate; }