mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	lib: div64: Add support for round up of div64_u64
Most of the frequencies are not rounded up to a proper number.
When we need to devide these frequencies to get a number for example
frequency in Mhz, we see it as one less than the actual intended value.
Ex: If we want to get Mhz from frequency 199999994hz, we will calculate
it using div64_u64(199999994, 1000000) and we will get 199Mhz in place
of 200Mhz.
Add a macro DIV64_U64_ROUND_UP for rounding up div64_u64. This is taken
from linux 'commit 68600f623d69("mm: don't miss the last page because of
round-off error")'.
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/f9fdcba76cd692ae436b1d7883b490e3dc207231.1645626962.git.michal.simek@xilinx.com
			
			
This commit is contained in:
		
				
					committed by
					
						 Michal Simek
						Michal Simek
					
				
			
			
				
	
			
			
			
						parent
						
							7d9ee46672
						
					
				
				
					commit
					3adc17f60b
				
			| @@ -48,6 +48,9 @@ static inline u64 div64_u64(u64 dividend, u64 divisor) | |||||||
| 	return dividend / divisor; | 	return dividend / divisor; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | #define DIV64_U64_ROUND_UP(ll, d)	\ | ||||||
|  | 	({ u64 _tmp = (d); div64_u64((ll) + _tmp - 1, _tmp); }) | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * div64_s64 - signed 64bit divide with 64bit divisor |  * div64_s64 - signed 64bit divide with 64bit divisor | ||||||
|  */ |  */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user