/openbmc/linux/arch/arm/lib/ |
H A D | lib1funcs.S | 40 .macro ARM_DIV_BODY dividend, divisor, result, curbit 44 clz \curbit, \divisor 48 mov \divisor, \divisor, lsl \result 54 @ Initially shift the divisor left 3 bits if possible, 58 tst \divisor, #0xe0000000 59 moveq \divisor, \divisor, lsl #3 63 @ Unless the divisor is very big, shift it up in multiples of 65 @ division loop. Continue shifting until the divisor is 67 1: cmp \divisor, #0x10000000 68 cmplo \divisor, \dividend [all …]
|
/openbmc/u-boot/arch/arm/lib/ |
H A D | lib1funcs.S | 26 .macro ARM_DIV_BODY dividend, divisor, result, curbit 30 clz \curbit, \divisor 34 mov \divisor, \divisor, lsl \result 40 @ Initially shift the divisor left 3 bits if possible, 44 tst \divisor, #0xe0000000 45 moveq \divisor, \divisor, lsl #3 49 @ Unless the divisor is very big, shift it up in multiples of 51 @ division loop. Continue shifting until the divisor is 53 1: cmp \divisor, #0x10000000 54 cmplo \divisor, \dividend [all …]
|
/openbmc/u-boot/lib/ |
H A D | div64.c | 64 s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument 69 quotient = div_u64_rem(-dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 71 if (divisor > 0) in div_s64_rem() 74 quotient = div_u64_rem(dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 75 if (divisor < 0) in div_s64_rem() 95 u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument 97 u32 high = divisor >> 32; in div64_u64_rem() 102 quot = div_u64_rem(dividend, divisor, &rem32); in div64_u64_rem() 106 quot = div_u64(dividend >> n, divisor >> n); in div64_u64_rem() 111 *remainder = dividend - quot * divisor; in div64_u64_rem() [all …]
|
/openbmc/linux/lib/math/ |
H A D | div64.c | 67 s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument 72 quotient = div_u64_rem(-dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 74 if (divisor > 0) in div_s64_rem() 77 quotient = div_u64_rem(dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 78 if (divisor < 0) in div_s64_rem() 98 u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument 100 u32 high = divisor >> 32; in div64_u64_rem() 105 quot = div_u64_rem(dividend, divisor, &rem32); in div64_u64_rem() 109 quot = div_u64(dividend >> n, divisor >> n); in div64_u64_rem() 114 *remainder = dividend - quot * divisor; in div64_u64_rem() [all …]
|
/openbmc/linux/include/linux/ |
H A D | math64.h | 26 static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in div_u64_rem() argument 28 *remainder = dividend % divisor; in div_u64_rem() 29 return dividend / divisor; in div_u64_rem() 40 static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument 42 *remainder = dividend % divisor; in div_s64_rem() 43 return dividend / divisor; in div_s64_rem() 54 static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument 56 *remainder = dividend % divisor; in div64_u64_rem() 57 return dividend / divisor; in div64_u64_rem() 67 static inline u64 div64_u64(u64 dividend, u64 divisor) in div64_u64() argument [all …]
|
H A D | math.h | 86 #define DIV_ROUND_CLOSEST(x, divisor)( \ argument 89 typeof(divisor) __d = divisor; \ 91 ((typeof(divisor))-1) > 0 || \ 101 #define DIV_ROUND_CLOSEST_ULL(x, divisor)( \ argument 103 typeof(divisor) __d = divisor; \
|
/openbmc/u-boot/include/linux/ |
H A D | math64.h | 19 static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in div_u64_rem() argument 21 *remainder = dividend % divisor; in div_u64_rem() 22 return dividend / divisor; in div_u64_rem() 28 static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument 30 *remainder = dividend % divisor; in div_s64_rem() 31 return dividend / divisor; in div_s64_rem() 37 static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument 39 *remainder = dividend % divisor; in div64_u64_rem() 40 return dividend / divisor; in div64_u64_rem() 46 static inline u64 div64_u64(u64 dividend, u64 divisor) in div64_u64() argument [all …]
|
/openbmc/qemu/util/ |
H A D | host-utils.c | 95 uint64_t divu128(uint64_t *plow, uint64_t *phigh, uint64_t divisor) in divu128() argument 102 if (divisor == 0 || dhi == 0) { in divu128() 103 *plow = dlo / divisor; in divu128() 105 return dlo % divisor; in divu128() 107 sh = clz64(divisor); in divu128() 109 if (dhi < divisor) { in divu128() 112 divisor <<= sh; in divu128() 118 *plow = udiv_qrnnd(&rem, dhi, dlo, divisor); in divu128() 122 divisor <<= sh; in divu128() 127 *phigh = udiv_qrnnd(&dhi, dhighest, dhi, divisor); in divu128() [all …]
|
/openbmc/linux/arch/alpha/lib/ |
H A D | divide.S | 56 #define divisor $1 macro 104 bis $25,$25,divisor 109 LONGIFY(divisor) 114 beq divisor, 9f /* div by zero */ 125 1: cmpult divisor,modulus,compare 126 s8addq divisor,$31,divisor 130 1: cmpult divisor,modulus,compare 131 blt divisor, 2f 132 addq divisor,divisor,divisor 141 cmpule divisor,modulus,compare [all …]
|
H A D | ev6-divide.S | 66 #define divisor $1 macro 114 bis $25,$25,divisor # E : 120 LONGIFY(divisor) # E : U L L U 127 beq divisor, 9f /* div by zero */ 144 1: cmpult divisor,modulus,compare # E : 145 s8addq divisor,$31,divisor # E : 149 1: cmpult divisor,modulus,compare # E : 152 blt divisor, 2f # U : U L U L 154 addq divisor,divisor,divisor # E : 172 cmpule divisor,modulus,compare # E : [all …]
|
/openbmc/linux/drivers/cpufreq/ |
H A D | sparc-us2e-cpufreq.c | 86 unsigned long old_divisor, unsigned long divisor) in frob_mem_refresh() argument 91 refr_count /= (MCTRL0_REFR_CLKS_P_CNT * divisor * 1000000000UL); in frob_mem_refresh() 118 unsigned long old_divisor, unsigned long divisor) in us2e_transition() argument 123 if (old_divisor == 2 && divisor == 1) { in us2e_transition() 126 frob_mem_refresh(0, clock_tick, old_divisor, divisor); in us2e_transition() 127 } else if (old_divisor == 1 && divisor == 2) { in us2e_transition() 128 frob_mem_refresh(1, clock_tick, old_divisor, divisor); in us2e_transition() 131 } else if (old_divisor == 1 && divisor > 2) { in us2e_transition() 135 2, divisor); in us2e_transition() 136 } else if (old_divisor > 2 && divisor == 1) { in us2e_transition() [all …]
|
/openbmc/u-boot/arch/arm/mach-uniphier/debug-uart/ |
H A D | debug-uart.c | 32 unsigned int divisor; in _debug_uart_init() local 37 divisor = uniphier_ld4_debug_uart_init(); in _debug_uart_init() 42 divisor = uniphier_pro4_debug_uart_init(); in _debug_uart_init() 47 divisor = uniphier_sld8_debug_uart_init(); in _debug_uart_init() 52 divisor = uniphier_pro5_debug_uart_init(); in _debug_uart_init() 57 divisor = uniphier_pxs2_debug_uart_init(); in _debug_uart_init() 62 divisor = uniphier_ld6b_debug_uart_init(); in _debug_uart_init() 68 divisor = uniphier_ld20_debug_uart_init(); in _debug_uart_init() 77 writel(divisor, base + UNIPHIER_UART_LDR); in _debug_uart_init()
|
/openbmc/linux/lib/crypto/mpi/ |
H A D | mpi-div.c | 18 void mpi_fdiv_qr(MPI quot, MPI rem, MPI dividend, MPI divisor); 20 void mpi_fdiv_r(MPI rem, MPI dividend, MPI divisor) in mpi_fdiv_r() argument 22 int divisor_sign = divisor->sign; in mpi_fdiv_r() 29 if (rem == divisor) { in mpi_fdiv_r() 30 temp_divisor = mpi_copy(divisor); in mpi_fdiv_r() 31 divisor = temp_divisor; in mpi_fdiv_r() 34 mpi_tdiv_r(rem, dividend, divisor); in mpi_fdiv_r() 37 mpi_add(rem, rem, divisor); in mpi_fdiv_r() 43 void mpi_fdiv_q(MPI quot, MPI dividend, MPI divisor) in mpi_fdiv_q() argument 46 mpi_fdiv_qr(quot, tmp, dividend, divisor); in mpi_fdiv_q() [all …]
|
/openbmc/linux/drivers/acpi/acpica/ |
H A D | utmath.c | 257 u32 divisor, u64 *out_quotient, u32 *out_remainder) in acpi_ut_short_divide() argument 267 if (divisor == 0) { in acpi_ut_short_divide() 278 ACPI_DIV_64_BY_32(0, dividend_ovl.part.hi, divisor, in acpi_ut_short_divide() 281 ACPI_DIV_64_BY_32(remainder32, dividend_ovl.part.lo, divisor, in acpi_ut_short_divide() 316 union uint64_overlay divisor; in acpi_ut_divide() local 334 divisor.full = in_divisor; in acpi_ut_divide() 336 if (divisor.part.hi == 0) { in acpi_ut_divide() 347 ACPI_DIV_64_BY_32(0, dividend.part.hi, divisor.part.lo, in acpi_ut_divide() 350 ACPI_DIV_64_BY_32(partial1, dividend.part.lo, divisor.part.lo, in acpi_ut_divide() 361 normalized_divisor = divisor; in acpi_ut_divide() [all …]
|
/openbmc/linux/drivers/iio/common/hid-sensors/ |
H A D | hid-sensor-attributes.c | 71 static void simple_div(int dividend, int divisor, int *whole, in simple_div() argument 78 if (divisor == 0) { in simple_div() 82 *whole = dividend/divisor; in simple_div() 83 rem = dividend % divisor; in simple_div() 85 while (rem <= divisor) { in simple_div() 89 *micro_frac = (rem / divisor) * int_pow(10, 6 - exp); in simple_div() 95 int divisor = int_pow(10, exp); in split_micro_fraction() local 97 *val1 = no / divisor; in split_micro_fraction() 98 *val2 = no % divisor * int_pow(10, 6 - exp); in split_micro_fraction() 133 int divisor; in convert_to_vtf_format() local [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/clock/ti/ |
H A D | divider.txt | 8 the register is one less than the actual divisor value. E.g: 10 register value actual divisor value 17 ti,index-starts-at-one - valid divisor values start at 1, not the default 19 register value actual divisor value 24 ti,index-power-of-two - valid divisor values are powers of two. E.g: 25 register value actual divisor value 34 Which will map the resulting values to a divisor table by their index: 35 register value actual divisor value 38 2 <invalid divisor, skipped> 65 - ti,min-div : min divisor for dividing the input clock rate, only [all …]
|
/openbmc/linux/arch/mips/cavium-octeon/executive/ |
H A D | cvmx-helper-jtag.c | 50 uint32_t divisor = cvmx_sysinfo_get()->cpu_clock_hz / (25 * 1000000); in cvmx_helper_qlm_jtag_init() local 51 divisor = (divisor - 1) >> 2; in cvmx_helper_qlm_jtag_init() 53 while (divisor) { in cvmx_helper_qlm_jtag_init() 55 divisor = divisor >> 1; in cvmx_helper_qlm_jtag_init()
|
/openbmc/u-boot/board/compulab/common/ |
H A D | omap3_display.c | 54 .divisor = 12 | (1 << 16), 66 .divisor = 8 | (1 << 16), 78 .divisor = 5 | (1 << 16), 90 .divisor = 4 | (1 << 16), 102 .divisor = 3 | (1 << 16), 114 .divisor = 3 | (1 << 16), 126 .divisor = 10 | (1 << 10), 243 int divisor, pixclock_val; in parse_pixclock() local 247 divisor = DIV_ROUND_UP(PIXEL_CLK_NUMERATOR, pixclock_val); in parse_pixclock() 249 if (divisor <= 1) in parse_pixclock() [all …]
|
/openbmc/u-boot/drivers/i2c/ |
H A D | ast2600_i2c.c | 269 int divisor; in ast2600_i2c_set_speed() local 292 divisor = DIV_ROUND_UP(apb_clk, speed); in ast2600_i2c_set_speed() 295 divisor = DIV_ROUND_UP(base_clk1, speed); in ast2600_i2c_set_speed() 298 divisor = DIV_ROUND_UP(base_clk2, speed); in ast2600_i2c_set_speed() 301 divisor = DIV_ROUND_UP(base_clk3, speed); in ast2600_i2c_set_speed() 304 divisor = DIV_ROUND_UP(base_clk4, speed); in ast2600_i2c_set_speed() 306 while ((divisor + inc) > 32) { in ast2600_i2c_set_speed() 307 inc |= divisor & 0x1; in ast2600_i2c_set_speed() 308 divisor >>= 1; in ast2600_i2c_set_speed() 311 divisor += inc; in ast2600_i2c_set_speed() [all …]
|
/openbmc/linux/sound/soc/codecs/ |
H A D | tlv320aic26.c | 70 int fsref, divisor, wlen, pval, jval, dval, qval; in aic26_hw_params() local 79 case 8000: fsref = 48000; divisor = AIC26_DIV_6; break; in aic26_hw_params() 80 case 11025: fsref = 44100; divisor = AIC26_DIV_4; break; in aic26_hw_params() 81 case 12000: fsref = 48000; divisor = AIC26_DIV_4; break; in aic26_hw_params() 82 case 16000: fsref = 48000; divisor = AIC26_DIV_3; break; in aic26_hw_params() 83 case 22050: fsref = 44100; divisor = AIC26_DIV_2; break; in aic26_hw_params() 84 case 24000: fsref = 48000; divisor = AIC26_DIV_2; break; in aic26_hw_params() 85 case 32000: fsref = 48000; divisor = AIC26_DIV_1_5; break; in aic26_hw_params() 86 case 44100: fsref = 44100; divisor = AIC26_DIV_1; break; in aic26_hw_params() 87 case 48000: fsref = 48000; divisor = AIC26_DIV_1; break; in aic26_hw_params() [all …]
|
/openbmc/linux/drivers/net/wireless/realtek/rtw89/ |
H A D | util.h | 41 static inline s32 s32_div_u32_round_down(s32 dividend, u32 divisor, s32 *remainder) in s32_div_u32_round_down() argument 43 s32 i_divisor = (s32)divisor; in s32_div_u32_round_down() 60 static inline s32 s32_div_u32_round_closest(s32 dividend, u32 divisor) in s32_div_u32_round_closest() argument 62 return s32_div_u32_round_down(dividend + divisor / 2, divisor, NULL); in s32_div_u32_round_closest()
|
/openbmc/u-boot/drivers/ddr/marvell/a38x/ |
H A D | mv_ddr_common.c | 32 int round_div(unsigned int dividend, unsigned int divisor, unsigned int *quotient) in round_div() argument 39 if (divisor == 0) { in round_div() 43 *quotient = (dividend + divisor / 2) / divisor; in round_div()
|
/openbmc/qemu/tests/tcg/alpha/system/ |
H A D | boot.S | 223 #define divisor $1 macro 231 mov $25, divisor 237 1: cmpult divisor, modulus, compare 238 blt divisor, 2f 239 addq divisor, divisor, divisor 245 cmpule divisor, modulus, compare 246 subq modulus, divisor, tmp1 248 srl divisor, 1, divisor 261 #undef divisor
|
/openbmc/linux/arch/x86/include/asm/ |
H A D | div64.h | 43 static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in div_u64_rem() argument 53 if (upper >= divisor) { in div_u64_rem() 54 d.v32[1] = upper / divisor; in div_u64_rem() 55 upper %= divisor; in div_u64_rem() 58 "rm" (divisor), "0" (d.v32[0]), "1" (upper)); in div_u64_rem()
|
/openbmc/u-boot/drivers/serial/ |
H A D | serial_pl01x.c | 108 unsigned int divisor; in pl01x_generic_setbrg() local 115 divisor = UART_PL010_BAUD_9600; in pl01x_generic_setbrg() 118 divisor = UART_PL010_BAUD_19200; in pl01x_generic_setbrg() 121 divisor = UART_PL010_BAUD_38400; in pl01x_generic_setbrg() 124 divisor = UART_PL010_BAUD_57600; in pl01x_generic_setbrg() 127 divisor = UART_PL010_BAUD_115200; in pl01x_generic_setbrg() 130 divisor = UART_PL010_BAUD_38400; in pl01x_generic_setbrg() 133 writel((divisor & 0xf00) >> 8, ®s->pl010_lcrm); in pl01x_generic_setbrg() 134 writel(divisor & 0xff, ®s->pl010_lcrl); in pl01x_generic_setbrg()
|