/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 i [all...] |
H A D | div64.S | 5 * Optimized computation of 64-bit dividend / 32-bit divisor 29 * __do_div64: perform a division with 64-bit dividend and 32-bit divisor. 36 * r4 = divisor (preserved) 50 bls 9f @ divisor is 0 or 1 52 beq 8f @ divisor is power of 2 59 @ Align divisor with upper part of dividend. 60 @ The aligned divisor is stored in yl preserving the original. 102 @ divisor for comparisons, considering the carry-out bit as well. 139 @ divisor at this point since divisor ca [all...] |
/linux/include/linux/ |
H A D | math64.h | 16 * div_u64_rem - unsigned 64bit divide with 32bit divisor with remainder 18 * @divisor: unsigned 32bit divisor 21 * Return: sets ``*remainder``, then returns dividend / divisor 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() 33 * div_s64_rem - signed 64bit divide with 32bit divisor with remainder 35 * @divisor: signed 32bit divisor 40 div_s64_rem(s64 dividend,s32 divisor,s32 * remainder) div_s64_rem() argument 54 div64_u64_rem(u64 dividend,u64 divisor,u64 * remainder) div64_u64_rem() argument 67 div64_u64(u64 dividend,u64 divisor) div64_u64() argument 79 div64_s64(s64 dividend,s64 divisor) div64_s64() argument 90 div_u64_rem(u64 dividend,u32 divisor,u32 * remainder) div_u64_rem() argument 127 div_u64(u64 dividend,u32 divisor) div_u64() argument 142 div_s64(s64 dividend,s32 divisor) div_s64() argument 257 mul_u64_u32_div(u64 a,u32 mul,u32 divisor) mul_u64_u32_div() argument 323 DIV64_U64_ROUND_CLOSEST(dividend,divisor) global() argument 336 DIV_U64_ROUND_CLOSEST(dividend,divisor) global() argument 349 DIV_S64_ROUND_CLOSEST(dividend,divisor) global() argument [all...] |
/linux/arch/alpha/lib/ |
H A D | divide.S | 29 * the divisor is small is handled better by the DEC algorithm 38 * $1 - shifted divisor 43 * $25 - divisor 56 #define divisor $1 macro 104 bis $25,$25,divisor 109 LONGIFY(divisor) 114 beq divisor, 9f /* div by zero */ 118 * shift divisor left, using 3-bit shifts for 125 1: cmpult divisor,modulus,compare 126 s8addq divisor, [all...] |
H A D | ev6-divide.S | 29 * the divisor is small is handled better by the DEC algorithm 38 * $1 - shifted divisor 43 * $25 - divisor 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 */ 137 * shift divisor left, using 3-bit shifts for 144 1: cmpult divisor,modulus,compare # E : 145 s8addq divisor, [all...] |
/linux/drivers/gpu/drm/amd/display/dc/sspl/ |
H A D | spl_os_types.h | 24 static inline uint64_t spl_div_u64_rem(uint64_t dividend, uint32_t divisor, uint32_t *remainder) in spl_div_u64_rem() argument 26 return div_u64_rem(dividend, divisor, remainder); in spl_div_u64_rem() 29 static inline uint64_t spl_div_u64(uint64_t dividend, uint32_t divisor) in spl_div_u64() argument 31 return div_u64(dividend, divisor); in spl_div_u64() 34 static inline uint64_t spl_div64_u64(uint64_t dividend, uint64_t divisor) in spl_div64_u64() argument 36 return div64_u64(dividend, divisor); in spl_div64_u64() 39 static inline uint64_t spl_div64_u64_rem(uint64_t dividend, uint64_t divisor, uint64_t *remainder) in spl_div64_u64_rem() argument 41 return div64_u64_rem(dividend, divisor, remainder); in spl_div64_u64_rem() 44 static inline int64_t spl_div64_s64(int64_t dividend, int64_t divisor) in spl_div64_s64() argument 46 return div64_s64(dividend, divisor); in spl_div64_s64() [all...] |
/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 in us2e_transition() 248 unsigned long clock_tick, divisor, old_divisor, estar; __us2e_freq_target() local [all...] |
/linux/drivers/acpi/acpica/ |
H A D | utmath.c | 243 * divisor - 32-bit divisor 257 u32 divisor, u64 *out_quotient, u32 *out_remainder) in acpi_ut_short_divide() argument 265 /* Always check for a zero divisor */ in acpi_ut_short_divide() 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 327 /* Always check for a zero divisor */ in acpi_ut_divide() 334 divisor in acpi_ut_divide() 445 acpi_ut_short_divide(u64 in_dividend,u32 divisor,u64 * out_quotient,u32 * out_remainder) acpi_ut_short_divide() argument [all...] |
/linux/drivers/iio/common/hid-sensors/ |
H A D | hid-sensor-attributes.c | 75 static void simple_div(int dividend, int divisor, int *whole, in simple_div() argument 82 if (divisor == 0) { in simple_div() 86 *whole = dividend/divisor; in simple_div() 87 rem = dividend % divisor; in simple_div() 89 while (rem <= divisor) { in simple_div() 93 *micro_frac = (rem / divisor) * int_pow(10, 6 - exp); in simple_div() 99 int divisor = int_pow(10, exp); in split_micro_fraction() local 101 *val1 = no / divisor; in split_micro_fraction() 102 *val2 = no % divisor * int_pow(10, 6 - exp); in split_micro_fraction() 137 int divisor; in convert_to_vtf_format() local 362 int divisor; adjust_exponent_nano() local [all...] |
/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() 52 /* Convert the divisor into a power of 2 shift */ 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()
|
/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 in aic26_hw_params() [all...] |
/linux/drivers/net/wireless/realtek/rtw89/ |
H A D | util.h | 35 /* The result of negative dividend and positive divisor is undefined, but it 38 * Note: the maximum value of divisor is 0x7FFF_FFFF, because we cast it to 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()
|
/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()
|
/linux/drivers/clk/ |
H A D | clk-vt8500.c | 124 /* div == 0 is actually the highest divisor */ in vt8500_dclk_recalc_rate() 135 u32 divisor; in vt8500_dclk_round_rate() local 140 divisor = *prate / rate; in vt8500_dclk_round_rate() 142 /* If prate / rate would be decimal, incr the divisor */ in vt8500_dclk_round_rate() 143 if (rate * divisor < *prate) in vt8500_dclk_round_rate() 144 divisor++; in vt8500_dclk_round_rate() 147 * If this is a request for SDMMC we have to adjust the divisor in vt8500_dclk_round_rate() 150 if ((cdev->div_mask == 0x3F) && (divisor > 31)) { in vt8500_dclk_round_rate() 151 divisor = 64 * ((divisor / 6 in vt8500_dclk_round_rate() 161 u32 divisor; vt8500_dclk_set_rate() local [all...] |
/linux/arch/powerpc/lib/ |
H A D | div64.S | 7 * the 64-bit quotient, and r4 contains the divisor. 22 divwu r7,r5,r4 # if dividend.hi >= divisor, 23 mullw r0,r7,r4 # quotient.hi = dividend.hi / divisor 24 subf. r5,r0,r5 # dividend.hi %= divisor 31 srw r10,r10,r0 # the divisor right the same amount, 41 mulhwu r9,r11,r4 # multiply the estimate by the divisor, 42 subfc r6,r10,r6 # take the product from the divisor,
|
/linux/lib/crypto/mpi/ |
H A D | mpi-div.c | 19 int mpi_fdiv_r(MPI rem, MPI dividend, MPI divisor) in mpi_fdiv_r() argument 21 int divisor_sign = divisor->sign; in mpi_fdiv_r() 25 /* We need the original value of the divisor after the remainder has been in mpi_fdiv_r() 29 if (rem == divisor) { in mpi_fdiv_r() 30 temp_divisor = mpi_copy(divisor); in mpi_fdiv_r() 33 divisor = temp_divisor; in mpi_fdiv_r() 36 err = mpi_tdiv_r(rem, dividend, divisor); in mpi_fdiv_r() 41 err = mpi_add(rem, rem, divisor); in mpi_fdiv_r() 113 /* Optimize division by a single-limb divisor. */ in mpi_tdiv_qr()
|
/linux/drivers/cpuidle/governors/ |
H A D | menu.c | 119 unsigned int max, min, divisor; in get_typical_interval() local 129 divisor = 0; in get_typical_interval() 139 divisor++; in get_typical_interval() 154 if (divisor == INTERVALS) { in get_typical_interval() 158 do_div(avg, divisor); in get_typical_interval() 159 do_div(variance, divisor); in get_typical_interval() 178 if ((avg_sq > variance * 36 && divisor * 4 >= INTERVALS * 3) || in get_typical_interval() 192 if (divisor * 4 <= INTERVALS * 3) { in get_typical_interval() 200 if (divisor >= INTERVALS / 2) in get_typical_interval()
|
/linux/arch/x86/boot/ |
H A D | string.c | 193 static inline u64 __div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in __div_u64_rem() argument 203 if (upper >= divisor) { in __div_u64_rem() 204 d.v32[1] = upper / divisor; in __div_u64_rem() 205 upper %= divisor; in __div_u64_rem() 208 "rm" (divisor), "0" (d.v32[0]), "1" (upper)); in __div_u64_rem() 212 static inline u64 __div_u64(u64 dividend, u32 divisor) in __div_u64() argument 216 return __div_u64_rem(dividend, divisor, &remainder); in __div_u64()
|
/linux/Documentation/devicetree/bindings/clock/ |
H A D | vt8500.txt | 44 - divisor-reg : shall be the register offset from PMC base for the divisor 47 - divisor-mask : shall be the mask for the divisor register. Defaults to 0x1f 70 divisor-reg = <0x328>; 71 divisor-mask = <0x3f>;
|
/linux/drivers/comedi/drivers/ |
H A D | adv_pci1760.c | 178 unsigned int divisor; in pci1760_pwm_ns_to_div() local 182 divisor = DIV_ROUND_CLOSEST(ns, PCI1760_PWM_TIMEBASE); in pci1760_pwm_ns_to_div() 185 divisor = DIV_ROUND_UP(ns, PCI1760_PWM_TIMEBASE); in pci1760_pwm_ns_to_div() 188 divisor = ns / PCI1760_PWM_TIMEBASE; in pci1760_pwm_ns_to_div() 194 if (divisor < 1) in pci1760_pwm_ns_to_div() 195 divisor = 1; in pci1760_pwm_ns_to_div() 196 if (divisor > 0xffff) in pci1760_pwm_ns_to_div() 197 divisor = 0xffff; in pci1760_pwm_ns_to_div() 199 return divisor; in pci1760_pwm_ns_to_div()
|
H A D | addi_apci_3120.c | 276 unsigned int divisor; in apci3120_ns_to_timer() local 280 divisor = DIV_ROUND_UP(ns, timer_base); in apci3120_ns_to_timer() 283 divisor = ns / timer_base; in apci3120_ns_to_timer() 287 divisor = DIV_ROUND_CLOSEST(ns, timer_base); in apci3120_ns_to_timer() 293 if (divisor > 0x00ffffff) in apci3120_ns_to_timer() 294 divisor = 0x00ffffff; in apci3120_ns_to_timer() 297 if (divisor > 0xffff) in apci3120_ns_to_timer() 298 divisor = 0xffff; in apci3120_ns_to_timer() 300 /* the timers require a minimum divisor of 2 */ in apci3120_ns_to_timer() 301 if (divisor < in apci3120_ns_to_timer() 541 unsigned int divisor; apci3120_ai_cmd() local 709 unsigned int divisor; apci3120_ai_insn_read() local 822 unsigned int divisor; apci3120_timer_insn_config() local [all...] |
H A D | comedi_8254.c | 81 * Calculates the divisor value needed for a single counter to generate 85 * Calculates the two divisor values needed to the generate the pacer 89 * Transfers the intermediate divisor values to the current divisors. 93 * divisor values. 343 * @counter1: the counter number for the first divisor 344 * @counter2: the counter number for the second divisor 384 i8254->divisor = i8254->next_div & 0xffff; in comedi_8254_update_divisors() 391 * comedi_8254_cascade_ns_to_timer - calculate the cascaded divisor values 476 * comedi_8254_ns_to_timer - calculate the divisor value for nanosec timing 484 unsigned int divisor; in comedi_8254_ns_to_timer() local [all...] |
/linux/arch/x86/kernel/ |
H A D | early_printk.c | 134 static __init void early_serial_hw_init(unsigned divisor) in early_serial_hw_init() argument 145 static_call(serial_out)(early_serial_base, DLL, divisor & 0xff); in early_serial_hw_init() 146 static_call(serial_out)(early_serial_base, DLH, (divisor >> 8) & 0xff); in early_serial_hw_init() 159 unsigned divisor; in early_serial_init() local 192 /* Convert from baud to divisor value */ in early_serial_init() 193 divisor = 115200 / baud; in early_serial_init() 196 early_serial_hw_init(divisor); in early_serial_init() 264 unsigned divisor; in early_pci_serial_init() local 358 /* Convert from baud to divisor value */ in early_pci_serial_init() 359 divisor in early_pci_serial_init() [all...] |
/linux/net/sched/ |
H A D | sch_sfq.c | 110 unsigned int divisor; /* number of slots in hash table */ member 119 sfq_index *ht; /* Hash table ('divisor' slots) */ 153 return skb_get_hash_perturb(skb, &q->perturbation) & (q->divisor - 1); in sfq_hash() 166 TC_H_MIN(skb->priority) <= q->divisor) in sfq_classify() 187 if (TC_H_MIN(res.classid) <= q->divisor) in sfq_classify() 639 unsigned int divisor; in sfq_change() local 651 if (ctl->divisor && in sfq_change() 652 (!is_power_of_2(ctl->divisor) || ctl->divisor > 65536)) in sfq_change() 679 divisor in sfq_change() [all...] |
/linux/arch/arm/boot/dts/vt8500/ |
H A D | wm8750.dtsi | 131 divisor-reg = <0x300>; 138 divisor-reg = <0x304>; 145 divisor-reg = <0x320>; 152 divisor-reg = <0x310>; 207 divisor-reg = <0x350>; 216 divisor-reg = <0x330>; 217 divisor-mask = <0x3f>; 226 divisor-reg = <0x3A0>; 235 divisor-reg = <0x3A4>;
|