[PATCH 1/2 v3] mmc: dw_mmc: Fix the DTO timeout overflow calculation for 32-bit systems

Shawn Lin shawn.lin at rock-chips.com
Mon Feb 26 17:46:39 PST 2018


> 
> #define DIV_ROUND_DOWN_ULL(ll, d) \
>      ({ unsigned long long _tmp = (ll); do_div(_tmp, d); _tmp; })
> 
> #define DIV_ROUND_UP_ULL(ll, d)        DIV_ROUND_DOWN_ULL((ll) + (d) - 
> 1, (d))
> 
> 
> It uses intermediate unsigned long long _tmp for your "multiply", namely
> MSEC_PER_SEC * drto_clks * drto_div, which could solves the problem.
> So I don't see why DIV_ROUND_UP_ULL can't work for you?

Take back.  I misunderstood your "multiply", sorry.

> 
> 
>>       /* add a bit spare time */
>>
> 
> 
> 




More information about the linux-snps-arc mailing list